Palm nuts and kernels
- Lifecycle status
- Candidate
- Content maturity
- Authored methodology
- Current version
- No published versionLast updated
- Readiness
- Review required
Methodology and translation states come from the source record; publishing this website does not change their review status.
Content languages
Status, classification and source details
Readiness
- Warnings methodology_not_reviewed Authored methodology is candidate guidance and still requires methodology review.
Classification mapping
Source
1. Scope and Applicability
This PCR covers the production of oil-palm nuts or separated palm kernels from perennial oil-palm cultivation through FFB harvest, primary-mill sterilization and digestion, fibre-nut separation, optional nut cracking and kernel-shell separation, drying, grading, and hand-off before kernel-oil extraction. The declared reference state must be either oil-palm nut or separated kernel. Fresh fruit bunches (FFB), palm kernel shell, crude palm oil, refined oils, palm-kernel oil, and kernel-oil extraction are outside the reference-product identity. FFB, palm oil, fibre, shells, and rejects remain visible where they cross an included process boundary.
The managed-production parent is perennial oil-palm cultivation. Alternative plantation regimes may coexist when their land history, crop cycle, management inputs and yields are separately recorded. At the mill, batch, semi-continuous and continuous implementations may coexist only as separately indexed runs or periods; cracking is mutually exclusive with a nut-at-hand-off route for the same material lot.
2. Product Category Identity
| Field | Value |
|---|---|
| canonical_pcr_id | pcr.agriculture-forestry-and-fishery-products.products-of-agriculture-horticulture-and-market-gardening.palm-nuts-and-kernels |
| classification_refs | CPC 3.0 01491; mapping relation: narrower |
| covered_products | Nuts of oil-palm fruit; separated oil-palm kernels; whole or broken as declared, before oil extraction |
| excluded_products | FFB; palm kernel shell; palm oil; palm-kernel oil; refined oils; edible tree nuts unrelated to oil palm; kernel-oil extraction products |
| representative_product | Dried and graded oil-palm nut or separated kernel at primary mill hand-off |
| production_route | Perennial plantation and FFB harvest; mill sterilization/digestion and pressing; fibre-nut separation; optional cracking/kernel-shell separation; drying and grading |
| market_state | Production mix, in the factory; dried, graded, before oil extraction; nut versus kernel and whole versus broken state declared |
The cultivation route changes inventory and validation requirements by plantation age phase, land history, management regime and crop cycle. The mill technology route changes topology, water/energy categories, run indexing, outputs and mass-balance checks; each claimed delta requires current estate or mill records.
3. Reference Flow
| Field | Value |
|---|---|
| What | Oil-palm nut or separated palm kernel delivered before oil extraction |
| How much | 1 kg as-received mass at the declared moisture content |
| How well | Product state, whole/broken condition, moisture content or test basis, grade, origin, and hand-off gate declared |
| How long or cycle | Representative annual production period spanning the perennial crop cycle; mill data cover the same or reconciled reporting period |
| reference_flow_link | accepted_reference_product |
| Field | Value |
|---|---|
| Reference amount | 1 |
| Reference product flow | Oil-palm nut or separated kernel in declared actual state |
| Reference flow property | Mass 93a60a56-a3c8-11da-a746-0800200b9a66 |
| Reference unit group | Mass 93a60a57-a4c8-11da-a746-0800200c9a66 |
| Reference unit | kg |
| Required qualifiers | oil-palm species or declared hybrid; nut or separated kernel state; whole or broken state; before oil extraction; moisture content and basis; grade; geographic origin; production period; primary-mill hand-off; explicit exclusion of FFB and palm kernel shell |
Verify the concrete identity against the selected actual species/organ, sowing or commodity use, fresh/cured/dried and shell state, grade, provider and declared gate, with Mass/kg support. This PCR retains the semantic route and measurement definition; it does not assert that one fixed UUID covers all alternative states. A fresh-state flow cannot automatically bind a cured/dried output, an ambiguous nut/kernel flow cannot prove both states, and commodity seed cannot establish seed-for-sowing identity. Preserve a verified compatible existing binding only for its supported state; otherwise keep the UUID explicitly unresolved until detail-confirmed. Do not change the product boundary, quantity or route to force a match.
4. Measurement and Unit Rules
| rule_id | Applies to | Required property | Required unit | Rule |
|---|---|---|---|---|
reference_mass | reference product | Mass 93a60a56-a3c8-11da-a746-0800200b9a66 | kg | Report as-received mass and measured moisture; convert dry-matter values only with the lot-specific moisture basis. |
mass_balance | mill and conditioning nodes | Mass 93a60a56-a3c8-11da-a746-0800200b9a66 | kg | Reconcile input, intended outputs, internal intermediates, residues, rejects and moisture change for each run or period. |
period_alignment | plantation and mill records | declared property | declared unit | Align perennial establishment/mature phases, annual crop output, mill runs and storage periods; disclose any temporal scaling. |
5. System Boundary
The boundary begins with the declared plantation starting condition and includes managed perennial production, harvest, FFB hand-off, primary mill conditioning and treatment, fibre-nut separation, optional cracking, drying, grading and hand-off. Palm-kernel oil extraction and downstream refining are excluded. Shared nurseries, roads, irrigation, steam/electricity assets and mill utilities are included through measured use and attributed once across consuming nodes and periods.
Harvest is independent because it removes mature FFB from the managed stand and creates a measured hand-off to the mill. Sterilization/digestion changes received FFB into pressed outputs; fibre-nut separation creates palm-nut and fibre states; cracking changes nut to kernel and shell; drying changes usable wet material to a stabilized state; grading creates accepted, downgraded/rework and rejected destinations.
Boundary Abstraction
| Field | Value |
|---|---|
| declared_starting_condition | Estate establishment status, previous land cover/use, palm age distribution, planting material, soil/peat status, geographic boundary and opening inventory |
| starting_condition_role | Entry condition for perennial managed biological production and cross-period attribution |
| product_classification_scope | Oil-palm nuts or separated kernels within the narrower accepted CPC 3.0 01491 mapping; this rule excludes FFB and shells as reference products |
| recursive_input_rule | A purchased nut or kernel input in the same product category is a separately identified upstream dataset and may not be recursively regenerated inside this foreground package |
| upstream_dataset_requirement | Supplier-specific dataset with product state, moisture, origin, period and hand-off; generic proxy use must be disclosed |
| disclosure | Declare plantation phase, land history, route, mill mode, nut/kernel branch, cracking decision, moisture basis, grade, location, period and all upstream proxy choices |
Boundary Rules
| rule_id | Applies to | Rule | source_ids |
|---|---|---|---|
boundary_route | all foreground nodes | Include the full route from declared plantation starting condition to dried and graded nut/kernel hand-off; exclude kernel-oil extraction. | fao-palm-oil-processing |
boundary_reference_exclusions | reference identity | FFB and palm kernel shell may appear as route flows but never satisfy the reference flow. | unsd-cpc-3-01491 |
boundary_periods | perennial plantation | Separate establishment, immature and productive periods when inputs, assets or outputs differ, then attribute them across the declared productive basis. | rspo-ghg-procedure-v4 |
6. Process Inventory Structure
Process Map
| process_id | process_name | inclusion | inclusion_condition | role | quantitative_reference |
|---|---|---|---|---|---|
| cultivation | Perennial oil-palm cultivation | required | Always included | Managed biological production | kg standing FFB ready for harvest |
| harvest | FFB harvest and field hand-off | required | Always included | Independent harvest/capture | kg harvested FFB |
| mill_treatment | Primary mill sterilization, digestion and pressing | required | Always included | Primary conditioning and material treatment | kg treated FFB |
| fibre_nut_separation | Fibre-nut separation | required | Always included | Material separation | kg press cake or fibre-nut mixture |
| cracking | Nut cracking and kernel-shell separation | conditional | Include when separated kernel is the declared reference product | Alternative treatment route | kg palm nut input |
| drying | Nut or kernel drying and stabilization | required | Always included for the declared nut or kernel state | Preservation and stabilization | kg wet nut or kernel input |
| grading | Nut or kernel grading and primary mill hand-off | required | Always included | Grading and sorting | kg dried nut or kernel input |
Mill runs must be identified as batch, semi-continuous or continuous. Cleaning, start-up, shutdown and changeover records are attached to the run or operating period once. Rework loops return only to their actual producing node and never enter accepted product twice.
Process: Perennial oil-palm cultivation (cultivation)
Inputs
Product flows
Fertilizer, urea input (cultivation_nutrients)
Include this conditional card only when Fertilizer, urea is actually used in the declared process. For every other actual product or carrier, create a separate atomic exchange with its own identity and measured amount; do not infer its use from this example.
-
Selected flow: Fertilizer, urea
-
Flow property / unit: Mass / kg product
-
Amount rule: Measured quantity of Fertilizer, urea used by this process and period; report zero or not applicable only when the route records establish absence.
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records
Fertilizer, monoammonium phosphate input (cultivation_nutrients_monoammonium_phosphate)
Include this conditional card only when Fertilizer, monoammonium phosphate is actually used in the declared process. For every other actual product or carrier, create a separate atomic exchange with its own identity and measured amount; do not infer its use from this example.
-
Selected flow: Fertilizer, monoammonium phosphate
-
Flow property / unit: Mass / kg product
-
Amount rule: Measured quantity of Fertilizer, monoammonium phosphate used by this process and period; report zero or not applicable only when the route records establish absence.
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records
Fertilizer, potassium chloride input (cultivation_nutrients_potassium_chloride)
Include this conditional card only when Fertilizer, potassium chloride is actually used in the declared process. For every other actual product or carrier, create a separate atomic exchange with its own identity and measured amount; do not infer its use from this example.
-
Selected flow: Fertilizer, potassium chloride
-
Flow property / unit: Mass / kg product
-
Amount rule: Measured quantity of Fertilizer, potassium chloride used by this process and period; report zero or not applicable only when the route records establish absence.
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records
Cattle manure, as applied input (cultivation_nutrients_cattle_manure)
Include this conditional card only when Cattle manure, as applied is actually used in the declared process. For every other actual product or carrier, create a separate atomic exchange with its own identity and measured amount; do not infer its use from this example.
-
Selected flow: Cattle manure, as applied
-
Flow property / unit: Mass / kg product
-
Amount rule: Measured quantity of Cattle manure, as applied used by this process and period; report zero or not applicable only when the route records establish absence.
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records
Agricultural limestone input (cultivation_nutrients_agricultural_limestone)
Include this conditional card only when Agricultural limestone is actually used in the declared process. For every other actual product or carrier, create a separate atomic exchange with its own identity and measured amount; do not infer its use from this example.
-
Selected flow: Agricultural limestone
-
Flow property / unit: Mass / kg product
-
Amount rule: Measured quantity of Agricultural limestone used by this process and period; report zero or not applicable only when the route records establish absence.
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records
Irrigation water supply (cultivation_water)
Irrigation water crossing the plantation boundary is recorded; rainfall is excluded from this product-flow card.
-
Selected flow: irrigation water
-
Flow property / unit: Volume / m3
-
Amount rule: measured delivered irrigation water
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 2
- Unit: m3/kg standing FFB
- Basis: per kg standing FFB ready for harvest
- Basis kind: Process output (
crop_cycle) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Electricity, medium voltage input (cultivation_energy)
Include this conditional card only when Electricity, medium voltage is actually used in the declared process. For every other actual product or carrier, create a separate atomic exchange with its own identity and measured amount; do not infer its use from this example.
-
Selected flow: Electricity, medium voltage
-
Flow property / unit: Energy / kWh
-
Amount rule: Measured quantity of Electricity, medium voltage used by this process and period; report zero or not applicable only when the route records establish absence.
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records
Diesel fuel input (cultivation_energy_diesel)
Include this conditional card only when Diesel fuel is actually used in the declared process. For every other actual product or carrier, create a separate atomic exchange with its own identity and measured amount; do not infer its use from this example.
-
Selected flow: Diesel fuel
-
Flow property / unit: Mass / kg
-
Amount rule: Measured quantity of Diesel fuel used by this process and period; report zero or not applicable only when the route records establish absence.
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records
Waste flows
Elementary flows
Outputs
Product flows
Standing FFB ready for harvest (standing_ffb)
The managed perennial stand hands mature FFB to the independent harvest node; this is an internal foreground intermediate.
-
Selected flow: standing FFB ready for harvest
-
Flow property / unit: Mass / kg
-
Amount rule: measured harvestable FFB mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 1
- Upper: 1
- Unit: kg/kg standing FFB
- Basis: per kg standing FFB ready for harvest
- Basis kind: Process output (
crop_cycle) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Waste flows
Plantation residues and biological losses (cultivation_residues)
Prunings, failed fruit and other non-product biomass are classified as retained residue, recovered material or waste from actual fate records.
-
Selected flow: plantation residues and losses
-
Flow property / unit: Mass / kg
-
Amount rule: measured or estimated dry/wet mass by declared basis
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg standing FFB ready for harvest. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
crop_cycle) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cultivation_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 3
- Unit: kg/kg standing FFB
- Basis: per kg standing FFB ready for harvest
- Basis kind: Process output (
crop_cycle) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Elementary flows
Process: FFB harvest and field hand-off (harvest)
Inputs
Product flows
Electricity, medium voltage (harvest_energy)
Include this exchange only when Electricity, medium voltage is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg harvested FFB.
- Selected flow: Electricity, medium voltage
- Flow property / unit: Energy / kWh
- Amount rule: Measured Electricity, medium voltage supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_harvest_records
Diesel fuel (harvest_energy_diesel)
Include this exchange only when Diesel fuel is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg harvested FFB.
- Selected flow: Diesel fuel
- Flow property / unit: Mass / kg
- Amount rule: Measured Diesel fuel supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_harvest_records
Standing FFB from managed palms (harvestable_ffb_input)
This internal foreground intermediate links managed production to harvest without a database identity.
-
Selected flow: standing FFB ready for harvest
-
Flow property / unit: Mass / kg
-
Amount rule: mass accepted for harvesting
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg harvested FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_harvest_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 1
- Upper: 2
- Unit: kg/kg harvested FFB
- Basis: per kg harvested FFB
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Waste flows
Elementary flows
Outputs
Product flows
Harvested FFB delivered to primary mill (harvested_ffb)
Harvested fresh fruit bunches are handed to mill reception promptly; FFB is an internal route intermediate and is not the reference product.
-
Selected flow: harvested FFB
-
Flow property / unit: Mass / kg
-
Amount rule: weighbridge or calibrated field-scale mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg harvested FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_harvest_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 1
- Upper: 1
- Unit: kg/kg harvested FFB
- Basis: per kg harvested FFB
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Waste flows
Harvest losses and incidental biomass (harvest_losses)
Dropped fruit, cut fronds and rejected bunches are distinguished by actual recovery, retention or disposal fate.
-
Selected flow: harvest losses and incidental biomass
-
Flow property / unit: Mass / kg
-
Amount rule: measured or sampled mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg harvested FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_harvest_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 1
- Unit: kg/kg harvested FFB
- Basis: per kg harvested FFB
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Elementary flows
Process: Primary mill sterilization, digestion and pressing (mill_treatment)
Inputs
Product flows
Harvested FFB received (received_ffb)
The mill receives the internal harvested-FFB intermediate; no FFB UUID is bound because FFB is explicitly excluded as the PCR reference.
-
Selected flow: harvested FFB
-
Flow property / unit: Mass / kg
-
Amount rule: weighbridge mass accepted at mill
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg treated FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_mill_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 1
- Upper: 1.2
- Unit: kg/kg treated FFB
- Basis: per kg treated FFB
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Mill process water (mill_water)
Water used for wet heat, washing and processing is recorded by actual use.
-
Selected flow: process water
-
Flow property / unit: Mass or volume / kg or m3
-
Amount rule: metered or balance-derived water use
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg treated FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_mill_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 2
- Unit: kg/kg treated FFB
- Basis: per kg treated FFB
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Electricity, medium voltage input (mill_energy)
Include this conditional card only when Electricity, medium voltage is actually used in the declared process. For every other actual product or carrier, create a separate atomic exchange with its own identity and measured amount; do not infer its use from this example.
-
Selected flow: Electricity, medium voltage
-
Flow property / unit: Energy / kWh
-
Amount rule: Measured quantity of Electricity, medium voltage used by this process and period; report zero or not applicable only when the route records establish absence.
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg treated FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_mill_records
Diesel fuel input (mill_energy_diesel)
Include this conditional card only when Diesel fuel is actually used in the declared process. For every other actual product or carrier, create a separate atomic exchange with its own identity and measured amount; do not infer its use from this example.
-
Selected flow: Diesel fuel
-
Flow property / unit: Mass / kg
-
Amount rule: Measured quantity of Diesel fuel used by this process and period; report zero or not applicable only when the route records establish absence.
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg treated FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_mill_records
Waste flows
Elementary flows
Outputs
Product flows
Crude palm oil co-product (crude_palm_oil)
Crude palm oil produced during digestion and pressing is an intended co-product subject to explicit attribution.
-
Selected flow: Palm oil, crude
c25748fe-ebcf-4a0e-bcf9-544edb1645b1 -
Flow property / unit: Mass / kg
-
Amount rule: measured crude palm oil mass at its hand-off
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg treated FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_mill_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 0.4
- Unit: kg/kg treated FFB
- Basis: per kg treated FFB
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Fibre-nut mixture for separation (fibre_nut_mix)
This intended output from the mill-treatment node is an internal press-cake fibre and nut intermediate handed to fibre-nut separation.
-
Selected flow: fibre-nut mixture
-
Flow property / unit: Mass / kg
-
Amount rule: measured or mass-balance-derived mixture mass
-
Value mode: Calculated value (
calculated_value) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg treated FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Calculated from collection (
calculated_from_collection) -
Collection protocol:
cp_mill_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 0.5
- Unit: kg/kg treated FFB
- Basis: per kg treated FFB
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Waste flows
Empty bunches and mill rejects (mill_residues)
Empty fruit bunches and rejected material are recorded by actual use, recovery or disposal fate and are not silently assigned zero burden.
-
Selected flow: empty bunches and mill rejects
-
Flow property / unit: Mass / kg
-
Amount rule: measured residue mass by fate
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg treated FFB. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_mill_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 0.5
- Unit: kg/kg treated FFB
- Basis: per kg treated FFB
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Elementary flows
Process: Fibre-nut separation (fibre_nut_separation)
Inputs
Product flows
Fibre-nut mixture received (separation_feed)
The internal press-cake mixture is received from mill treatment.
-
Selected flow: fibre-nut mixture
-
Flow property / unit: Mass / kg
-
Amount rule: measured feed mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg separation feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_separation_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 1
- Upper: 1
- Unit: kg/kg separation feed
- Basis: per kg separation feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Electricity, medium voltage (separation_energy)
Include this exchange only when Electricity, medium voltage is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg separation feed.
- Selected flow: Electricity, medium voltage
- Flow property / unit: Energy / kWh
- Amount rule: Measured Electricity, medium voltage supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_separation_records
Diesel fuel (separation_energy_diesel)
Include this exchange only when Diesel fuel is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg separation feed.
- Selected flow: Diesel fuel
- Flow property / unit: Mass / kg
- Amount rule: Measured Diesel fuel supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_separation_records
Waste flows
Elementary flows
Outputs
Product flows
Palm nuts for drying or cracking (separated_palm_nuts)
Separated palm nuts are an internal product intermediate handed either to nut drying or to the conditional cracking route.
-
Selected flow: separated palm nuts
-
Flow property / unit: Mass / kg
-
Amount rule: measured separated nut mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg separation feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_separation_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 1
- Unit: kg/kg separation feed
- Basis: per kg separation feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Mesocarp fibre co-product or recovered fuel (mesocarp_fibre)
Separated fibre is classified by its actual intended use and hand-off; intended exported or internally recovered fibre is treated consistently in attribution.
-
Selected flow: Mesocarp fibre
a9b37001-a69f-4d00-bf11-6ce763cac036 -
Flow property / unit: Mass / kg
-
Amount rule: measured separated fibre mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg separation feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_separation_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 1
- Unit: kg/kg separation feed
- Basis: per kg separation feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Waste flows
Elementary flows
Process: Nut cracking and kernel-shell separation (cracking)
Inputs
Product flows
Separated palm nuts for cracking (nuts_for_cracking)
The internal palm-nut intermediate enters cracking only when kernel is the declared reference state.
-
Selected flow: separated palm nuts
-
Flow property / unit: Mass / kg
-
Amount rule: measured nut feed mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg nut feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cracking_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 1
- Upper: 1
- Unit: kg/kg nut feed
- Basis: per kg nut feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Kernel separation water (cracking_water)
Water used in hydrocyclone or clay-bath separation is included when that technology is operated.
-
Selected flow: process water
-
Flow property / unit: Mass or volume / kg or m3
-
Amount rule: metered water use
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
technology_specific) Raw activity or stage basis: per kg nut feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cracking_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 5
- Unit: kg/kg nut feed
- Basis: per kg nut feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Electricity, medium voltage (cracking_energy)
Include this exchange only when Electricity, medium voltage is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg nut feed.
- Selected flow: Electricity, medium voltage
- Flow property / unit: Energy / kWh
- Amount rule: Measured Electricity, medium voltage supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_cracking_records
Diesel fuel (cracking_energy_diesel)
Include this exchange only when Diesel fuel is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg nut feed.
- Selected flow: Diesel fuel
- Flow property / unit: Mass / kg
- Amount rule: Measured Diesel fuel supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_cracking_records
Waste flows
Elementary flows
Outputs
Product flows
Separated palm kernels (separated_kernels)
Separated kernels are an internal intermediate handed to drying; kernel-oil extraction is outside the boundary.
-
Selected flow: separated palm kernels
-
Flow property / unit: Mass / kg
-
Amount rule: measured kernel mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg nut feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cracking_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 1
- Unit: kg/kg nut feed
- Basis: per kg nut feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Palm kernel shell co-product or residue (kernel_shell)
Shell from nut cracking is classified by its actual intended use and hand-off and is never used as the reference product.
-
Selected flow: Palm kernel shell
ac6ce69c-ddd1-400d-a603-901313253baa -
Flow property / unit: Mass / kg
-
Amount rule: measured shell mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg nut feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_cracking_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 1
- Unit: kg/kg nut feed
- Basis: per kg nut feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Waste flows
Elementary flows
Process: Nut or kernel drying and stabilization (drying)
Inputs
Product flows
Wet nut or kernel feed (wet_nut_kernel)
The selected internal state is either separated palm nut or separated kernel, declared explicitly and never mixed without reconciliation.
-
Selected flow: wet palm nut or kernel
-
Flow property / unit: Mass / kg
-
Amount rule: measured wet feed mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
product_specific) Raw activity or stage basis: per kg wet nut or kernel feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_drying_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 1
- Upper: 1
- Unit: kg/kg wet feed
- Basis: per kg wet nut or kernel feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Electricity, medium voltage (drying_energy)
Include this exchange only when Electricity, medium voltage is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg wet nut or kernel feed.
- Selected flow: Electricity, medium voltage
- Flow property / unit: Energy / kWh
- Amount rule: Measured Electricity, medium voltage supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_drying_records
Diesel fuel (drying_energy_diesel)
Include this exchange only when Diesel fuel is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg wet nut or kernel feed.
- Selected flow: Diesel fuel
- Flow property / unit: Mass / kg
- Amount rule: Measured Diesel fuel supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_drying_records
Purchased steam (drying_energy_steam)
Include this exchange only when Purchased steam is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg wet nut or kernel feed.
- Selected flow: Purchased steam
- Flow property / unit: Energy / MJ
- Amount rule: Measured Purchased steam supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_drying_records
Waste flows
Elementary flows
Outputs
Product flows
Dried stabilized nut or kernel (dried_nut_kernel)
Dried nuts or kernels are handed to grading with product state and moisture basis declared.
-
Selected flow: dried palm nut or kernel
-
Flow property / unit: Mass / kg
-
Amount rule: measured dry product mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
product_specific) Raw activity or stage basis: per kg wet nut or kernel feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_drying_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 1
- Unit: kg/kg wet feed
- Basis: per kg wet nut or kernel feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Waste flows
Elementary flows
Process: Nut or kernel grading and primary mill hand-off (grading)
Inputs
Product flows
Dried nut or kernel for grading (grading_feed)
The dried internal intermediate enters sorting by product state and declared moisture basis.
-
Selected flow: dried palm nut or kernel
-
Flow property / unit: Mass / kg
-
Amount rule: measured grading feed mass
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
product_specific) Raw activity or stage basis: per kg grading feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_grading_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 1
- Upper: 1
- Unit: kg/kg grading feed
- Basis: per kg grading feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Electricity, medium voltage (grading_energy)
Include this exchange only when Electricity, medium voltage is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg grading feed.
- Selected flow: Electricity, medium voltage
- Flow property / unit: Energy / kWh
- Amount rule: Measured Electricity, medium voltage supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_grading_records
Diesel fuel (grading_energy_diesel)
Include this exchange only when Diesel fuel is actually supplied to this process. Record every other actual carrier separately. For purchased operating services, retain the supplier boundary and do not also count fuel or electricity already included in that service. Raw activity or stage basis: per kg grading feed.
- Selected flow: Diesel fuel
- Flow property / unit: Mass / kg
- Amount rule: Measured Diesel fuel supplied to this process and period, normalized once to the declared reference output; convert carrier-native units only with documented density, calorific value or meter conventions where needed.
- Value mode:
foreground_record - Specificity:
site_specific - Normalization basis: per declared reference flow
- Basis kind:
process_output - Evidence kind:
collected_record - Collection protocol:
cp_grading_records
Waste flows
Elementary flows
Outputs
Product flows
Accepted oil-palm nut or separated kernel (accepted_reference_product)
Accepted graded material is the sole reference output: oil-palm nut or separated kernel before oil extraction, never FFB or palm kernel shell.
-
Selected flow: Oil-palm nut or separated kernel in declared actual state
-
Flow property / unit: Mass / kg Raw output measurement and reconciliation: measured accepted product mass
-
Amount rule: 1 kg
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
product_specific) Raw activity or stage basis: per kg grading feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_grading_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 1
- Unit: kg/kg grading feed
- Basis: per kg grading feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Identity applicability: Verify the concrete identity against the selected actual species/organ, sowing or commodity use, fresh/cured/dried and shell state, grade, provider and declared gate, with Mass/kg support. This PCR retains the semantic route and measurement definition; it does not assert that one fixed UUID covers all alternative states. A fresh-state flow cannot automatically bind a cured/dried output, an ambiguous nut/kernel flow cannot prove both states, and commodity seed cannot establish seed-for-sowing identity. Preserve a verified compatible existing binding only for its supported state; otherwise keep the UUID explicitly unresolved until detail-confirmed. Do not change the product boundary, quantity or route to force a match.
Downgraded or rework material (grading_downgrade)
Off-grade material routed to re-drying, re-sorting or a declared lower-grade destination is tracked separately from accepted output.
-
Selected flow: downgraded or rework nut/kernel
-
Flow property / unit: Mass / kg
-
Amount rule: measured downgraded mass by destination
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg grading feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_grading_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 1
- Unit: kg/kg grading feed
- Basis: per kg grading feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Waste flows
Grading rejects and foreign matter (grading_rejects)
Rejected material leaving the product route is recorded by final recovery or disposal fate.
-
Selected flow: grading rejects and foreign matter
-
Flow property / unit: Mass / kg
-
Amount rule: measured reject mass by fate
-
Value mode: Foreground record (
foreground_record) -
Specificity: Site-specific (
site_specific) Raw activity or stage basis: per kg grading feed. -
Normalization basis: per declared reference flow
-
Basis kind: Process output (
process_output) -
Evidence kind: Collected record (
collected_record) -
Collection protocol:
cp_grading_records -
Range: Provisional physical QA guardrail
- Range role: QA guardrail (
qa_guardrail) - Lower: 0
- Upper: 1
- Unit: kg/kg grading feed
- Basis: per kg grading feed
- Basis kind: Process output (
process_output) - Evidence kind: Reasoned estimate (
reasoned_estimate)
- Range role: QA guardrail (
Elementary flows
7. Allocation and Co-product Handling
| rule_id | Applies to | Rule | source_ids |
|---|---|---|---|
allocation_avoid | plantation and mill | First subdivide independently measured estate blocks, mill nodes, runs and product routes; do not allocate burdens already separable. | iso-14044-2006 |
allocation_multi_output | crude palm oil, nut/kernel, fibre, shell and other intended outputs | Enumerate every intended output and hand-off. Where subdivision cannot avoid allocation, use a documented physical causal relation; use economic allocation only when no defensible physical relation exists, with prices, period and sensitivity disclosed. | iso-14044-2006; fao-palm-oil-processing |
allocation_period | perennial crop and shared assets | Attribute establishment, immature-phase and shared-infrastructure burdens once over the declared productive output or service basis; record period-specific decisions and prevent double attribution. | rspo-ghg-procedure-v4 |
allocation_rework | downgraded and rejected material | Rework retains the producing-node burden and receives only incremental rework burdens; accepted output excludes unrecovered rejects. Recovered residues are classified consistently as intended output, residue or waste by actual fate. | |
allocation_shared_runs | batch and continuous mill operation | Attribute cleaning, start-up, shutdown and shared utilities to the corresponding run or operating period once; document the driver and reconciliation. |
8. Foreground Data Collection, Calculation, and Quality Rules
Inventory completeness: conditional named cards are examples of individual exchanges, not an exhaustive recipe or a requirement to use those products. Before completing a foreground package, enumerate every actual planting stock, nutrient, crop-protection formulation, asset material, operating service, carrier, packaging material, waste stream and applicable elementary substance separately, using its physical identity, state, native property/unit, origin or receiving compartment, and measured or method-calculated quantity. Missing identity or quantity remains a completeness gap, never an assumed zero. Preserve the actual lot and phase basis; do not sum intermediate transfers as additional final output or duplicate burdens included in purchased services.
Retain raw site, lot, cycle and stage quantities and denominators in each collection protocol. Reconcile stocks, losses, moisture and co-product attribution first, then normalize: normalized exchange = attributable raw exchange × declared reference quantity / accepted hand-off product quantity on the same boundary and measurement basis. Apply perennial-establishment and shared-operation attribution before this normalization. Never set an internal-transfer quantity equal to the final reference quantity. Per declared reference flow means the amount, unit and product state in section 3; the data package must declare its actual route and gate.
Data Collection Protocols
| protocol_id | process_id | flow_role | record_type | raw_fields | collection_method | unit | frequency | temporal_coverage | site_scope | aggregation_rule | quality_evidence |
|---|---|---|---|---|---|---|---|---|---|---|---|
| cp_cultivation_records | cultivation | all linked flow roles | measurement/log | mass, carrier, time, lot, product state, moisture, destination | meter, weighbridge, invoice, batch log or reconciled mass balance; Raw aggregation and attribution: sum by lot/run, reconcile inputs and outputs, then normalize to linked basis | declared card unit | per batch or operating day | representative annual period including crop cycle | all included estates and mill lines | per declared reference flow | calibration, invoice, lot id and reconciliation residual |
| cp_harvest_records | harvest | all linked flow roles | measurement/log | mass, carrier, time, lot, product state, moisture, destination | meter, weighbridge, invoice, batch log or reconciled mass balance; Raw aggregation and attribution: sum by lot/run, reconcile inputs and outputs, then normalize to linked basis | declared card unit | per batch or operating day | representative annual period including crop cycle | all included estates and mill lines | per declared reference flow | calibration, invoice, lot id and reconciliation residual |
| cp_mill_records | mill_treatment | all linked flow roles | measurement/log | mass, carrier, time, lot, product state, moisture, destination | meter, weighbridge, invoice, batch log or reconciled mass balance; Raw aggregation and attribution: sum by lot/run, reconcile inputs and outputs, then normalize to linked basis | declared card unit | per batch or operating day | representative annual period including crop cycle | all included estates and mill lines | per declared reference flow | calibration, invoice, lot id and reconciliation residual |
| cp_mill_calculation | mill_treatment | calculated or reconciled flows | calculated record | measured inputs, outputs, moisture change and residual | run-level reconciled mass balance; Raw aggregation and attribution: calculate from linked run records and retain the residual | declared card unit | per run | representative annual period including crop cycle | all included mill lines | per declared reference flow | linked measurements and calculation record |
| cp_separation_records | fibre_nut_separation | all linked flow roles | measurement/log | mass, carrier, time, lot, product state, moisture, destination | meter, weighbridge, invoice, batch log or reconciled mass balance; Raw aggregation and attribution: sum by lot/run, reconcile inputs and outputs, then normalize to linked basis | declared card unit | per batch or operating day | representative annual period including crop cycle | all included estates and mill lines | per declared reference flow | calibration, invoice, lot id and reconciliation residual |
| cp_cracking_records | cracking | all linked flow roles | measurement/log | mass, carrier, time, lot, product state, moisture, destination | meter, weighbridge, invoice, batch log or reconciled mass balance; Raw aggregation and attribution: sum by lot/run, reconcile inputs and outputs, then normalize to linked basis | declared card unit | per batch or operating day | representative annual period including crop cycle | all included estates and mill lines | per declared reference flow | calibration, invoice, lot id and reconciliation residual |
| cp_drying_records | drying | all linked flow roles | measurement/log | mass, carrier, time, lot, product state, moisture, destination | meter, weighbridge, invoice, batch log or reconciled mass balance; Raw aggregation and attribution: sum by lot/run, reconcile inputs and outputs, then normalize to linked basis | declared card unit | per batch or operating day | representative annual period including crop cycle | all included estates and mill lines | per declared reference flow | calibration, invoice, lot id and reconciliation residual |
| cp_grading_records | grading | all linked flow roles | measurement/log | mass, carrier, time, lot, product state, moisture, destination | meter, weighbridge, invoice, batch log or reconciled mass balance; Raw aggregation and attribution: sum by lot/run, reconcile inputs and outputs, then normalize to linked basis | declared card unit | per batch or operating day | representative annual period including crop cycle | all included estates and mill lines | per declared reference flow | calibration, invoice, lot id and reconciliation residual |
cp_phase1_environment_coverage | cultivation | managed environmental coverage by actual node | site/activity/method ledger | actual production nodes; soil/substrate route; climate/soil; nutrient product mass and composition; residue fate/N; relevant mineralisation/organic-soil/excreta activity; method/tier/equation/version; pathway factors and units; lime/urea; actual fuels; substance/compartment; supplier coverage; site and actual managed nodes; area; dated occupation intervals; co-users; establishment/immature history; actual prior/current land classes and transformation dates/areas; carbon-method coverage; upstream land coverage | Collect original records by the actual responsible production node and matched lot/period; retain provenance, method applicability and uncertainty. Reconcile with existing protocols and provider coverage, do not add duplicate events. Explicitly document inapplicability; absent evidence is a gap. | native activity units; kg N or substance; area/time as applicable | event and annual/lot reconciliation | matched production/cohort period | all actual managed-production nodes | apply applicable coverage calculations then final normalization once | original records, method worksheets and applicability evidence |
Calculation Rules
| rule_id | Applies to | Formula or rule | Inputs | Output | source_ids |
|---|---|---|---|---|---|
calc_moisture_conversion | nut/kernel mass | dry mass = as-received mass × (1 − moisture fraction); reverse conversion uses the target moisture fraction | as-received mass; moisture fraction; test basis | dry mass or adjusted as-received mass | |
calc_mass_balance | each mill node | residual = input mass + auxiliary material mass − intended outputs − residues/waste − measured moisture loss | linked mass records by run | reconciliation residual and percentage | fao-palm-oil-processing |
calc_period_attribution | plantation phases and shared infrastructure | attributed burden = period burden × declared allocation share ÷ accepted reference-product mass | phase/run burden; service or output driver; accepted mass | burden per kg reference product | rspo-ghg-procedure-v4 |
Environmental Coverage Calculation Rules
| rule_id | Applies to | Formula or rule | Inputs | Output | source_ids |
|---|---|---|---|---|---|
calc_managed_environment_coverage | actual managed-production nodes | For the actual owned managed-production node(s), require an applicability ledger for direct soil N2O, volatilisation/deposition-derived indirect N2O, leaching/runoff-derived indirect N2O, NH3/NOx and nutrient losses, plus actual liming/urea-use CO2. Primary calculation precedence is a representative pathway measurement, then a validated site/national method applicable to the crop, soil and management; otherwise use the compatible 2006 IPCC/2019-refined managed-soil equations and climate/input-specific factor selection for N2O and lime/urea CO2. Retain the exact edition, equation, tier, activity and factor units, climate and management applicability; no universal dose or emission factor is prescribed. Non-soil/protected routes need a method valid for their actual medium; do not force soil factors onto an inapplicable route. Use the same period/field N ledger for synthetic and organic additions, residues, actual relevant mineralisation/organic-soil and excreta pathways; demonstrate absent pathways rather than infer zero. Calculate direct and each indirect component separately, then assign each once to matching existing or new concrete cards; never add a total to its components. Convert N2O-N to molecular N2O by 44/28 once. NH3, NOx and nutrient/pesticide loss require an applicable measured or documented substance/fate model; total N/P or an unexplained balance residual is not a compound release. Keep actual receiving compartments and molecular versus elemental/reporting bases explicit; indirect formation does not remove the same N from the source ledger twice. Include actual local combustion releases separately using fuel-specific combustion-only methods; purchased electricity/heat/services retain upstream coverage once. Add one identity-specific exchange only for a supported release and reuse an existing matching card, with verified UUID or explicit unresolved identity. Missing applicable method/activity/factor/identity blocks completeness; it is not a justified zero. Attribute raw activity/release totals and normalize once to the matched accepted reference output. | cp_phase1_environment_coverage | attributed native environmental quantities per matched final reference | review-ipcc-soils-2019 |
calc_managed_land_coverage | actual managed-production nodes | For each actual owned managed-production site, collect the occupied area and dated occupation intervals, including attributable establishment/immature and production periods. Occupation is area multiplied by actual duration, converted explicitly to the selected area-time unit (1 ha = 10,000 m2; time in years); hectares per crop-cycle alone are not an area-time result without duration. Partition or take the union of overlapping establishment/management intervals so the same area-time is counted once, with shares across actual co-users summing to one. Record evidenced land transformation separately by actual from/to land class, event area and date under the declared land-use method; transformation has area units and is not added to occupation. Planting, continued occupation or missing prior-land data do not establish a transformation or zero transformation. Preserve actual historical-event attribution and carbon-stock/emission method coverage where applicable; no invented land conversion or generic carbon credit. Instantiate separate compatible elementary identities with verified UUIDs or explicit unresolved identities; attribute once and normalize to the matched final reference. Purchased completed biological inputs inherit compatible upstream land coverage once instead of duplicating it locally. Missing applicable land identity, area, duration or prior-state evidence remains a completeness gap; documented no transformation is a valid absence. | cp_phase1_environment_coverage | attributed native environmental quantities per matched final reference |
Data Quality Requirements
| requirement_id | Applies to | Requirement | Evidence |
|---|---|---|---|
dq_identity | reference output | Retain species/hybrid, nut/kernel state, whole/broken state, before-oil-extraction status, moisture, grade, origin, period and hand-off evidence. | lot specification and grading record |
dq_completeness | all processes | Cover all included estates and mill lines; quantify missing data and explain every mass-balance residual and cut-off. | coverage register and reconciliation |
dq_temporal | perennial and mill data | Use a representative annual period and document phase scaling, storage carryover and run-period alignment. | dated estate and batch records |
dq_calibration | measured flows | Retain calibration status or supplier invoice evidence for scales, meters and laboratory moisture tests. | calibration and invoice records |
9. Validation Rules
| rule_id | Applies to | Rule | source_ids |
|---|---|---|---|
validate_reference_identity | reference flow | Verify the concrete identity against the selected actual species/organ, sowing or commodity use, fresh/cured/dried and shell state, grade, provider and declared gate, with Mass/kg support. This PCR retains the semantic route and measurement definition; it does not assert that one fixed UUID covers all alternative states. A fresh-state flow cannot automatically bind a cured/dried output, an ambiguous nut/kernel flow cannot prove both states, and commodity seed cannot establish seed-for-sowing identity. Preserve a verified compatible existing binding only for its supported state; otherwise keep the UUID explicitly unresolved until detail-confirmed. Do not change the product boundary, quantity or route to force a match. | unsd-cpc-3-01491 |
validate_route | process map | Require plantation, harvest, mill treatment, fibre-nut separation, drying and grading; require cracking only for the separated-kernel branch and prohibit kernel-oil extraction. | fao-palm-oil-processing |
validate_mass_balance | every treatment/conditioning run | Check inputs against intended outputs, intermediates, residues, rejects and moisture change; investigate values outside the card QA ranges. | fao-palm-oil-processing |
validate_multi_output | intended outputs | Require enumerated hand-offs and one explicit attribution decision for crude palm oil, accepted nut/kernel, fibre, shell and any other intended output. | iso-14044-2006 |
validate_period_and_assets | plantation phases and shared infrastructure | Require phase/run links and verify that each shared burden is attributed once. | rspo-ghg-procedure-v4 |
validate_mode_rework | batch/continuous runs and grading | Require run indexing, cleaning/changeover attribution, rework destinations, and exclusion of rejects from accepted output. |
10. Published Dataset Profile
| Field | Value |
|---|---|
| dataset_role | Foreground production dataset for oil-palm nut or separated kernel before oil extraction |
| downstream_use | secondary_dataset; background_dataset when geography, plantation phase, mill route and product state match |
| allowed_use | LCA of oil-palm nut/kernel supply and downstream oil extraction using the declared state and gate |
| excluded_use | FFB supply; palm kernel shell supply; palm oil or kernel-oil production; refined oil; routes that omit the declared qualifier or included upstream plantation burdens |
| required_metadata | species/hybrid; origin; estate and mill; land history; palm age/phase; period; mill mode; nut/kernel branch; cracking route; moisture and basis; grade; whole/broken state; allocation method; hand-off |
| required_quality_disclosure | coverage, primary-data share, missing data, substitutions, mass-balance residuals, temporal scaling, allocation sensitivity and provisional Range replacements |
| update_trigger | material route, technology, plantation-phase, land-history, output mix, allocation, moisture/grade specification, source or UUID identity change |
11. Data Sources
| Source id | Type | Reference | Used for |
|---|---|---|---|
unsd-cpc-3-01491 | official_guidance | https://unstats.un.org/unsd/classifications/Econ/Download/In%20Text/CPC_Ver_3.0_Exp_Notes_30Jun2025.pdf | CPC boundary and oil-palm nut/kernel identity |
fao-palm-oil-processing | handbook | https://www.fao.org/4/y4355e/y4355e04.htm | primary mill sequence, fibre-nut separation, cracking, shell separation and drying |
iso-14044-2006 | standard | ISO 14044:2006, Environmental management — Life cycle assessment — Requirements and guidelines | allocation hierarchy and transparency |
rspo-ghg-procedure-v4 | official_guidance | https://rspo.org/endorsed-greenhouse-gas-ghg-assessment-procedure-v4/ | plantation starting conditions, land/peat context and period disclosure |
review-ipcc-soils-2019 | official_guidance | IPCC 2019 Refinement, Volume 4, Chapter 11, https://www.ipcc-nggip.iges.or.jp/public/2019rf/pdf/4_Volume4/19R_V4_Ch11_Soils_N2O_CO2.pdf | Managed-soil direct/indirect N2O and lime/urea CO2 method context; factors require actual applicability and site activity, not a product default. |
Raw downloads
These files are byte-identical to the canonical files for this revision in the repository.
Structured rule index
This index comes from verified structured.yaml and retains the canonical English rule text.
System boundary rules · 5
| Rule ID | Applies to | Rule | Source IDs |
|---|---|---|---|
system_boundary_rule_1 | foreground_system_boundary | The boundary begins with the declared plantation starting condition and includes managed perennial production, harvest, FFB hand-off, primary mill conditioning and treatment, fibre-nut separation, optional cracking, drying, grading and hand-off. Palm-kernel oil extraction and downstream refining are excluded. Shared nurseries, roads, irrigation, steam/electricity assets and mill utilities are included through measured use and attributed once across consuming nodes and periods. | |
system_boundary_rule_2 | foreground_system_boundary | Harvest is independent because it removes mature FFB from the managed stand and creates a measured hand-off to the mill. Sterilization/digestion changes received FFB into pressed outputs; fibre-nut separation creates palm-nut and fibre states; cracking changes nut to kernel and shell; drying changes usable wet material to a stabilized state; grading creates accepted, downgraded/rework and rejected destinations. | |
boundary_route | all foreground nodes | Include the full route from declared plantation starting condition to dried and graded nut/kernel hand-off; exclude kernel-oil extraction. | fao-palm-oil-processing |
boundary_reference_exclusions | reference identity | FFB and palm kernel shell may appear as route flows but never satisfy the reference flow. | unsd-cpc-3-01491 |
boundary_periods | perennial plantation | Separate establishment, immature and productive periods when inputs, assets or outputs differ, then attribute them across the declared productive basis. | rspo-ghg-procedure-v4 |
Allocation rules · 5
| Rule ID | Applies to | Rule | Source IDs |
|---|---|---|---|
allocation_avoid | plantation and mill | First subdivide independently measured estate blocks, mill nodes, runs and product routes; do not allocate burdens already separable. | iso-14044-2006 |
allocation_multi_output | crude palm oil, nut/kernel, fibre, shell and other intended outputs | Enumerate every intended output and hand-off. Where subdivision cannot avoid allocation, use a documented physical causal relation; use economic allocation only when no defensible physical relation exists, with prices, period and sensitivity disclosed. | iso-14044-2006, fao-palm-oil-processing |
allocation_period | perennial crop and shared assets | Attribute establishment, immature-phase and shared-infrastructure burdens once over the declared productive output or service basis; record period-specific decisions and prevent double attribution. | rspo-ghg-procedure-v4 |
allocation_rework | downgraded and rejected material | Rework retains the producing-node burden and receives only incremental rework burdens; accepted output excludes unrecovered rejects. Recovered residues are classified consistently as intended output, residue or waste by actual fate. | |
allocation_shared_runs | batch and continuous mill operation | Attribute cleaning, start-up, shutdown and shared utilities to the corresponding run or operating period once; document the driver and reconciliation. |
Validation rules · 6
| Rule ID | Applies to | Rule | Source IDs |
|---|---|---|---|
validate_reference_identity | reference flow | Verify the concrete identity against the selected actual species/organ, sowing or commodity use, fresh/cured/dried and shell state, grade, provider and declared gate, with Mass/kg support. This PCR retains the semantic route and measurement definition; it does not assert that one fixed UUID covers all alternative states. A fresh-state flow cannot automatically bind a cured/dried output, an ambiguous nut/kernel flow cannot prove both states, and commodity seed cannot establish seed-for-sowing identity. Preserve a verified compatible existing binding only for its supported state; otherwise keep the UUID explicitly unresolved until detail-confirmed. Do not change the product boundary, quantity or route to force a match. | unsd-cpc-3-01491 |
validate_route | process map | Require plantation, harvest, mill treatment, fibre-nut separation, drying and grading; require cracking only for the separated-kernel branch and prohibit kernel-oil extraction. | fao-palm-oil-processing |
validate_mass_balance | every treatment/conditioning run | Check inputs against intended outputs, intermediates, residues, rejects and moisture change; investigate values outside the card QA ranges. | fao-palm-oil-processing |
validate_multi_output | intended outputs | Require enumerated hand-offs and one explicit attribution decision for crude palm oil, accepted nut/kernel, fibre, shell and any other intended output. | iso-14044-2006 |
validate_period_and_assets | plantation phases and shared infrastructure | Require phase/run links and verify that each shared burden is attributed once. | rspo-ghg-procedure-v4 |
validate_mode_rework | batch/continuous runs and grading | Require run indexing, cleaning/changeover attribution, rework destinations, and exclusion of rejects from accepted output. |
Processes and inputs/outputs · 7
| Process ID | Process name | Input flows | Output flows |
|---|---|---|---|
cultivation | Perennial oil-palm cultivation | 8 | 2 |
harvest | FFB harvest and field hand-off | 3 | 2 |
mill_treatment | Primary mill sterilization, digestion and pressing | 4 | 3 |
fibre_nut_separation | Fibre-nut separation | 3 | 2 |
cracking | Nut cracking and kernel-shell separation | 4 | 2 |
drying | Nut or kernel drying and stabilization | 4 | 1 |
grading | Nut or kernel grading and primary mill hand-off | 3 | 3 |
Complete field inspector
Loads this record’s complete manifest and structured projection on demand; values are never truncated. Requires JavaScript.