Table of Contents
- What is the RPD Portal?
- CSV File Format Overview
- All 15 Columns Explained
- Validation Rules
- Common Errors and How to Fix Them
- Example Data Rows
- Preparing Your Data: Step by Step
- Submission Process
- How Our Platform Generates RPD-Ready Files
Key Takeaways
- The RPD portal accepts packaging data via a CSV file upload with a specific 15-column format.
- Every row represents a single combination of material type, packaging category, activity type, and nation.
- Common rejection reasons include incorrect material codes, missing mandatory fields, and weight formatting errors.
- Your organisation ID and subsidiary ID must match your RPD registration exactly.
- Our platform generates RPD-ready CSV files automatically, eliminating formatting risks.
Submitting your packaging data to DEFRA’s Report Packaging Data (RPD) portal is the central compliance obligation under the UK’s reformed packaging EPR scheme. The RPD portal is where all obligated producers — both small and large — upload their packaging data for each reporting period. The data must be provided in a specific CSV format, and errors in formatting or content will result in your submission being rejected.
This guide walks you through every column in the RPD CSV format, explains the validation rules, highlights the most common errors we see businesses make, and provides example data rows you can use as a template.
What is the RPD Portal?
The Report Packaging Data (RPD) portal is DEFRA’s online system for collecting packaging data from obligated producers under the UK packaging EPR scheme. It is the sole official channel for data submission — you cannot submit packaging data by email, post, or through any other means.
The RPD portal is accessible at the GOV.UK website and requires registration with a Government Gateway account. Your business must be registered as an obligated producer before you can submit data.
Once registered, you submit packaging data by uploading a CSV file that follows the prescribed format. The portal validates your file on upload and either accepts it or returns error messages identifying the problems that need to be corrected.
PackUK, the scheme administrator, uses the data submitted through the RPD portal to calculate your EPR fee obligations and generate invoices.
CSV File Format Overview
The RPD CSV file uses a standard comma-separated values format with the following characteristics:
- File encoding: UTF-8
- Delimiter: Comma (,)
- Header row: Required — the first row must contain the column headers exactly as specified
- One row per data point: Each row represents a unique combination of organisation, subsidiary, material type, packaging category, activity type, and nation
- Decimal separator: Period/full stop (.) — not comma
- No currency symbols: Weight values are numeric only, in tonnes
The file must contain exactly 15 columns in the correct order. Additional columns or missing columns will cause the upload to fail.
All 15 Columns Explained
Column 1: organisation_id
Description: Your unique EPR organisation registration number assigned when you registered on the RPD portal.
Format: Alphanumeric string (e.g., “ORG-123456”)
Notes: This must exactly match your RPD registration. If your business is part of a group registration, use the group organisation ID. This field is mandatory for every row.
Column 2: subsidiary_id
Description: If your organisation has registered subsidiaries, this identifies which subsidiary the data relates to.
Format: Alphanumeric string (e.g., “SUB-001”) or empty
Notes: Leave blank if your organisation does not have subsidiaries. If you do have subsidiaries registered on the RPD portal, each subsidiary’s data must use its correct subsidiary_id. Rows with an unrecognised subsidiary_id will be rejected.
Column 3: submission_period
Description: The reporting period this data covers.
Format: Text string — one of:
"January to June"for H1 submissions (large producers)"July to December"for H2 submissions (large producers)"January to December"for full-year submissions (small producers)
Notes: Must match the submission period you are filing for. A large producer submitting H1 data must use “January to June” for all rows. Mixing submission periods within a single file is not permitted.
Column 4: packaging_type
Description: The classification of the packaging item.
Format: One of the following exact values:
"HH"— Household packaging (packaging that will end up in the household waste stream)"NH"— Non-household packaging (packaging managed through commercial waste channels)"RE"— Reusable packaging"PB"— Public bin packaging (packaging likely to be disposed of in public litter bins)"HDC"— Household drinks containers (specific to certain deposit return scheme interactions)"NHDC"— Non-household drinks containers
Notes: This determines how the fee is calculated and distributed. Most consumer-facing packaging is “HH” (household). Transit packaging handled entirely within commercial supply chains is “NH” (non-household). Getting this wrong can significantly affect your fee calculation.
Column 5: packaging_class
Description: The functional category of the packaging.
Format: One of:
"P1"— Primary packaging (directly contains the product)"P2"— Secondary packaging (groups or bundles products together)"P3"— Tertiary packaging (transit and distribution packaging)"SP"— Shipment packaging (used to ship goods to consumers, e.g., e-commerce)"OW"— Online marketplace packaging (specific category for marketplace operators)
Notes: Each packaging item should be classified into exactly one category. A shipping box used to send an online order to a consumer is “SP” (shipment packaging), not “P3” (tertiary).
Column 6: material_type
Description: The primary material of the packaging item.
Format: One of the following exact codes:
"AL"— Aluminium"FC"— Fibre-based composite"GL"— Glass"PC"— Paper and card"PL"— Plastic"ST"— Steel"WD"— Wood"OT"— Other
Notes: For multi-material packaging, each component should be reported as a separate row under its respective material code. A glass jar (GL) with a steel lid (ST) requires two rows. The material code must be entered exactly as specified — “Plastic” or “plastic” will be rejected; only “PL” is accepted.
Column 7: material_sub_type
Description: A more granular classification of the material, where applicable.
Format: Varies by material type. For example, under “PL” (Plastic):
"PET"— Polyethylene terephthalate"HDPE"— High-density polyethylene"PVC"— Polyvinyl chloride"LDPE"— Low-density polyethylene"PP"— Polypropylene"PS"— Polystyrene"Other"— Other plastics
Notes: Some material types do not have sub-types, in which case this field can be left empty. For plastic packaging, providing the polymer sub-type is strongly recommended and may become mandatory for fee modulation in 2026-2027. Check the latest RPD guidance on GOV.UK for the current list of accepted sub-type values.
Column 8: from_country
Description: The country of origin for imported packaging.
Format: ISO 3166-1 alpha-2 country code (e.g., “CN” for China, “DE” for Germany, “FR” for France) or empty for domestically sourced packaging.
Notes: This field is mandatory for packaging that is imported into the UK. If you are a UK manufacturer using UK-sourced packaging, leave this field blank. For importers, this data helps DEFRA understand the origins of packaging entering the UK waste stream. See our guide to EPR for importers for more detail.
Column 9: to_nation
Description: The UK nation where the packaging is supplied, sold, or placed on the market.
Format: One of:
"EN"— England"SC"— Scotland"WA"— Wales"NI"— Northern Ireland
Notes: This is used to allocate EPR fees to the correct devolved administration. If you sell across the UK, you need separate rows for each nation, with the weight apportioned accordingly. Large producers are expected to use actual sales data for nation allocation; small producers may use population-based estimates.
Column 10: quantity_kg
Description: The weight of the packaging in kilograms.
Format: Numeric value with up to 3 decimal places (e.g., “1500.000” for 1,500 kg, or “1.5 tonnes”)
Notes: Weights must be in kilograms, not tonnes. This is a common source of errors — businesses that track packaging in tonnes must convert before submitting (multiply by 1,000). Do not include units or currency symbols. The value must be greater than zero.
Column 11: quantity_units
Description: The number of individual packaging items (units) represented by this row.
Format: Whole number (integer)
Notes: This is the count of packaging items, not the weight. For example, if you used 50,000 cardboard boxes weighing a total of 10,000 kg, the quantity_kg would be “10000” and quantity_units would be “50000”. This field helps DEFRA understand packaging item counts for waste modelling purposes.
Column 12: activity_type
Description: The obligated activity under which your business handles this packaging.
Format: One of:
"SO"— Selling goods in own-brand packaging"PF"— Packing or filling"IM"— Importing"SE"— Selling (non-brand-owner selling)"HL"— Hiring or loaning reusable packaging"OM"— Online marketplace operator"DRS"— Deposit return scheme operator
Notes: A single packaging item may only be reported once per activity type. If your business both imports (IM) and sells (SO) the same packaged product, you may need to report it under the primary applicable activity. Check the DEFRA RPD guidance for rules on activity precedence.
Column 13: packaging_material_weight_percentage
Description: The percentage of the total packaging item weight that is made up of this material.
Format: Numeric value between 0 and 100 (e.g., “85.5”)
Notes: For single-material packaging, this is “100”. For multi-material items where you are reporting each material as a separate row, this field indicates what percentage of the total item weight each material represents. For example, a 100g beverage carton with 75g of fibre and 25g of plastic would have two rows: one for FC at “75” and one for PL at “25”.
Column 14: packaging_material_recycling_disruptors
Description: Whether the packaging contains elements that disrupt the recycling process.
Format: "Y" (yes) or "N" (no) or empty
Notes: Recycling disruptors include non-detachable components of a different material (e.g., a plastic window in a cardboard box), certain inks or adhesives, or coatings that contaminate recycling streams. This field is advisory for 2025-2026 but is expected to feed into fee modulation calculations from 2026-2027.
Column 15: reason_for_data_change
Description: If this submission is amending or correcting previously submitted data, this field explains why.
Format: Free text (up to 200 characters) or empty
Notes: Leave blank for initial submissions. If you are resubmitting to correct an error, provide a brief explanation such as “Corrected material weight for Q2 cardboard packaging” or “Reclassified packaging from P3 to SP.” This creates an audit trail for the regulators.
Validation Rules
The RPD portal applies several validation checks when you upload your CSV file. The file will be rejected if any of these rules are violated:
Structural Validation
- File must be valid UTF-8 encoded CSV
- Exactly 15 columns per row (including header)
- Header row must contain the correct column names in the correct order
- No completely empty rows (though individual optional fields can be empty)
Data Type Validation
- organisation_id must match a registered organisation
- quantity_kg must be a positive numeric value
- quantity_units must be a positive integer
- material_type must be one of the 8 accepted codes
- packaging_class must be one of the accepted values
- to_nation must be one of EN, SC, WA, NI
- from_country must be a valid ISO 3166-1 alpha-2 code (if provided)
Business Logic Validation
- Submission period must match the period you are filing for
- The sum of material weight percentages for multi-material items should total approximately 100%
- Data should not duplicate previously submitted and accepted data for the same period
- Organisation and subsidiary IDs must match your RPD registration
Common Errors and How to Fix Them
Error 1: Weight in Tonnes Instead of Kilograms
Symptom: Suspiciously low weight values flagged during validation.
Cause: You entered “30” meaning 30 tonnes, but the portal interprets it as 30 kg.
Fix: Multiply all weight values by 1,000 before uploading. 30 tonnes = 30,000 kg.
Error 2: Incorrect Material Codes
Symptom: “Invalid material_type” error on upload.
Cause: Using full material names (“Plastic”) or incorrect abbreviations (“PLA”) instead of the specified codes (“PL”).
Fix: Use only the exact two-letter codes: AL, FC, GL, PC, PL, ST, WD, OT.
Error 3: Missing Organisation ID
Symptom: “Organisation not found” error.
Cause: Organisation ID does not match RPD registration, or the field is blank.
Fix: Check your RPD registration and copy the exact organisation ID, including any hyphens or prefixes.
Error 4: Mixed Submission Periods
Symptom: “Inconsistent submission_period” error.
Cause: Some rows say “January to June” and others say “January to December” in the same file.
Fix: All rows in a single CSV file must have the same submission_period value. If you are a large producer submitting H1 data, every row must say “January to June.”
Error 5: Commas in Numeric Fields
Symptom: Column alignment errors or “invalid numeric value” errors.
Cause: Using commas as thousands separators (e.g., “10,000” for ten thousand kilograms). Since the file is comma-delimited, this splits the value across two columns.
Fix: Remove all commas from numeric values. Use “10000” not “10,000”. If your spreadsheet software adds commas, format the column as “Number” with no thousands separator before exporting.
Error 6: Nation Data Missing or Invalid
Symptom: “Invalid to_nation” error.
Cause: Using full country names (“England”), ISO-3 codes (“ENG”), or leaving the field blank.
Fix: Use only the two-letter codes: EN, SC, WA, NI. This field is mandatory for all rows.
Error 7: Wrong Packaging Class for E-Commerce
Symptom: No error on upload, but incorrect fee calculation or audit query.
Cause: Classifying e-commerce shipping boxes as “P3” (tertiary) instead of “SP” (shipment packaging).
Fix: Packaging used to ship products directly to end consumers (e.g., Amazon or Shopify orders) should be classified as “SP”, not “P3”. Tertiary (P3) is for supply chain transit packaging that does not reach the consumer.
Example Data Rows
Here is an example CSV file showing several common packaging scenarios for a fictional retailer:
organisation_id,subsidiary_id,submission_period,packaging_type,packaging_class,material_type,material_sub_type,from_country,to_nation,quantity_kg,quantity_units,activity_type,packaging_material_weight_percentage,packaging_material_recycling_disruptors,reason_for_data_change
ORG-123456,,January to June,HH,P1,PC,,,,5000,25000,SO,100,N,
ORG-123456,,January to June,HH,P1,PL,PET,,,3000,15000,SO,100,N,
ORG-123456,,January to June,HH,SP,PC,,,,8000,40000,SO,100,N,
ORG-123456,,January to June,HH,SP,PL,LDPE,,,2000,80000,SO,100,N,
ORG-123456,,January to June,NH,P3,PC,,,,4000,5000,SO,100,N,
ORG-123456,,January to June,NH,P3,PL,LDPE,,,1500,200,SO,100,Y,
ORG-123456,,January to June,HH,P1,GL,,,CN,EN,6000,12000,IM,100,N,
ORG-123456,,January to June,HH,P1,ST,,,CN,EN,1000,12000,IM,100,N,
Row-by-Row Explanation
- 5,000 kg of paper/card primary packaging — Cardboard product boxes sold under own brand (household)
- 3,000 kg of PET plastic primary packaging — Plastic bottles sold under own brand (household)
- 8,000 kg of paper/card shipment packaging — Cardboard shipping boxes for e-commerce orders (household)
- 2,000 kg of LDPE plastic shipment packaging — Plastic mailer bags for e-commerce (household)
- 4,000 kg of paper/card tertiary packaging — Corrugated transit cases for warehouse-to-store distribution (non-household)
- 1,500 kg of LDPE plastic tertiary packaging — Pallet stretch wrap with recycling disruptors flagged (non-household)
- 6,000 kg of glass primary packaging, imported from China — Glass jars imported and sold in England
- 1,000 kg of steel primary packaging, imported from China — Steel lids on the same imported glass jars, sold in England
Preparing Your Data: Step by Step
Step 1: Gather Your Packaging Inventory
Start by listing every type of packaging your business handles. Include primary packaging on products, secondary grouping packaging, tertiary transit packaging, and shipment packaging for e-commerce. Do not forget smaller items like labels, tape, and void fill.
Step 2: Weigh and Categorise
For each packaging item, record the material type, weight per unit, annual quantity, and packaging class. Our guide to weighing packaging provides practical advice on measurement methods.
Step 3: Allocate to Nations
Determine how your packaging is distributed across England, Scotland, Wales, and Northern Ireland. Large producers should use actual sales data; small producers may use population-based estimates (approximately 84% England, 8% Scotland, 5% Wales, 3% Northern Ireland).
Step 4: Map to CSV Columns
Convert your packaging data into the 15-column CSV format described above. Ensure all codes match the accepted values exactly.
Step 5: Validate Before Uploading
Open your CSV in a text editor (not just Excel) to check for formatting issues like stray commas, incorrect encoding, or missing columns. Check that weight values are in kilograms and numeric fields have no currency symbols or text.
Submission Process
- Log in to the RPD portal at GOV.UK using your Government Gateway credentials
- Select the submission period (H1, H2, or full year) you are filing for
- Upload your CSV file — the portal will run validation checks immediately
- Review any errors — if validation fails, the portal returns error messages identifying the specific rows and columns that need correction
- Correct and resubmit — fix the errors in your CSV and upload again
- Confirm submission — once validation passes, confirm your submission
- Download confirmation — save the submission receipt for your records
After submission, PackUK will use your data to calculate your EPR fee obligation. You will receive an invoice from PackUK based on the data submitted.
For submission deadlines, see our EPR deadlines guide. Large producers submit by 1 October (H1) and 1 April (H2); small producers submit by 1 April (full year).
How Our Platform Generates RPD-Ready Files
Manually preparing a 15-column CSV with the exact codes, formatting, and validation requirements described above is tedious and error-prone. Our platform eliminates this risk entirely.
When you enter your packaging data through our guided forms, the system:
- Automatically maps your materials, categories, and activities to the correct RPD codes
- Converts weights to kilograms
- Allocates data across UK nations based on your sales distribution
- Validates your data against the same rules the RPD portal uses
- Generates a correctly formatted CSV file ready for direct upload
You can review the generated file before exporting, and our validation engine flags any issues before you reach the RPD portal — so you never face a rejected upload.
For a broader overview of the submission process, read our guide on how to report packaging data to DEFRA. To understand the nation data columns, see our nation data reporting guide. And for a step-by-step walkthrough of the entire compliance process, work through our EPR compliance checklist.
Start your free trial and generate your first RPD-ready report in minutes, or explore our packaging data management tools for ongoing compliance.