Skip to Content

ESL & Intrastat Helper

40.95 40.95

Instant digital delivery after payment confirmation.
License: OPL-1, every download is watermarked.
Terms and Conditions
Compatible with Odoo 18.0 · 19.0
OPL-1 license · Odoo 18.0 & 19.0
ESL & Intrastat Helper for Odoo — preview banner

ESL & Intrastat Helper

Build EC Sales List & Intrastat data files for NI-EU trade (Windsor/NI Protocol)

Under the Windsor Framework / NI Protocol, Northern Ireland businesses still trade goods with the EU and must file EC Sales Lists and Intrastat declarations, work that otherwise means hand-keying invoice data into spreadsheets and risking VAT-format errors. NI traders, their accountants and VAT teams carry this monthly burden under penalty of non-compliance. This module assembles ESL and Intrastat declarations directly from posted invoices on gb.esl.declaration and gb.intrastat.declaration, validates EU VAT numbers and CN8 commodity codes, checks exemption thresholds, and exports submission-ready CSV files. It never submits on your behalf: it is format generation for your own BYOK upload.

Key Features

Invoice-Driven ESL Declarations

action_pull_from_invoices on gb.esl.declaration scans posted out_invoice and out_refund moves in the period and aggregates net value per customer VAT, country and indicator into gb.esl.line rows. Refunds subtract, so the EC Sales List is built straight from your ledger with no re-keying.

EU VAT Validation

The gb.eu.member.state helper normalises VAT numbers, derives the member-state code (handling the EL/GR Greek prefix) and structurally validates the format against the EU-27 prefix set. Lines flag invalid VAT before export, and action_validate blocks a declaration carrying any malformed number.

Goods vs Services Indicators

Each ESL line is stamped with an indicator from _indicator_for_line: 0 for B2B goods and 4 for B2B services based on the product type, with triangulation indicators available. Non-EU customers are excluded automatically, keeping the list to genuine intra-EU B2B trade.

Intrastat Arrivals & Dispatches

gb.intrastat.declaration pulls dispatches from customer invoices or arrivals from vendor invoices, building goods-only lines with commodity code, partner country, quantity, net mass (from product weight), value and default transaction and delivery terms. Services are skipped since Intrastat covers goods only.

CN8 Commodity Register

A gb.commodity.code register holds eight-digit CN8 codes with descriptions and supplementary units (kg, number, litres and more), enforced by an 8-digit constraint. Intrastat lines auto-match a commodity by product default_code, and supplementary-unit-required flags surface where extra quantities are needed.

Exemption Threshold Checks

Each Intrastat declaration compares its total value against the configured 2024 UK arrivals and dispatches thresholds, computing an above_threshold flag. Traders see immediately whether a flow exceeds the exemption limit and therefore requires a declaration for the period.

Period-Build Wizard

The gb.esl.pull.wizard creates and populates an ESL, arrivals or dispatches declaration for a chosen month and year in one step, optionally validating it. It turns a monthly compliance chore into a single guided action over the right invoice period.

BYOK File Export

Validated declarations export a CSV (and fixed-record ESL layout) capturing country, VAT, indicator, commodity, mass and value, with state moving draft, ready and submitted. The module never contacts HMRC or any authority: you upload the generated file yourself using your own credentials.

Use Cases

A Northern Ireland goods trader builds a monthly EC Sales List from posted EU sales invoices.
An accountant generates Intrastat dispatches with CN8 codes and net mass for the period.
A finance team validates EU customer VAT formats before exporting the ESL file.
A bookkeeper checks whether arrivals exceeded the exemption threshold this period.
A controller maintains the CN8 commodity register so Intrastat lines auto-match products.
A VAT manager exports the CSV and uploads it through their own HMRC submission channel.

Screenshots

ESL & Intrastat Helper — Commodity Codes in Odoo

Commodity Codes

ESL & Intrastat Helper — Ec Sales Lists in Odoo

Ec Sales Lists

ESL & Intrastat Helper — Build Declaration in Odoo

Build Declaration

ESL & Intrastat Helper — Intrastat in Odoo

Intrastat

Why Choose This Module

Under the Windsor Framework / NI Protocol, Northern Ireland still trades goods with the EU — so businesses must file EC Sales Lists (ESL) and Intrastat declarations. This module assembles those declarations from your posted invoices and produces submission-ready files (CSV plus an HMRC-style fixed record) for upload with your own credentials. We never submit on your behalf — it's format generation for your BYOK transport.

Specifications

  • Compatible: Odoo 18.0 / 19.0
  • License: OPL-1
  • Languages: English
  • Author: Pokutsoft
  • Dependencies: account
  • Support: support@pokutsoft.com

Update date: 2026-07-02