Skip to main content

VAT Declaration

The VAT Declaration screen aggregates every invoice booked in a period on the lines of the French CA3 form — sales / purchases × France / intra-EU / outside-EU × VAT rate × invoice type. Each cell can be drilled down all the way to the individual invoices that make it up, and the result exports to Excel for accounting or to a CA3-styled PDF you can hand to the accountant.

Use this page when:

  • you're preparing the monthly or quarterly VAT return and want a CA3-aligned summary built directly from the invoices already in the platform;
  • you need to reconcile a CA3 line with the underlying invoices — which buyers, which document numbers, which amounts;
  • you want a printable synthesis of the period to attach to the accounting file.

The page applies regardless of source system — JD Edwards, SAP, NetSuite or a custom ERP. The period filter is read on the invoice's issue date — the date printed on the invoice itself — so the period stays stable even if the underlying data is rebuilt later. The Invoices list exposes the same date basis via its Date basis toggle, so drilling into a VAT amount lands on the matching set on the Invoices side.

The matrix is served from the persisted VAT detail rows (F564234), not by re-parsing every UBL on each load — so the page opens in a couple of seconds whether the period has 2 000 invoices or 200 000. To keep it that way, leave Store VAT details on under Settings → Connectors → db-nomaubl → Tables — see Detail Storage.


At a glance

VAT Declaration📅 April 2026 ▾MonthQuarterCompany ▾▣ Excel📄 PDF CA3SALES▾ Domestic — France128 450.0023 110.00412 invoices20%115 550.0023 110.003705.5%12 900.00709.5042▸ Intra-EU18 200.00— (exempt)38▸ Outside-EU9 800.00— (exempt)12PURCHASES▸ Domestic — France42 100.007 530.00157 invoices▸ Intra-EU acquisitions5 600.001 120.009Solde · VAT due 16 169.50 €Period selectordefaults to last full monthThree columnstaxable base · VAT · countCountry groupFrance / Intra-EU / Outside-EUSolde blockVAT due or VAT credit

Toolbar

The toolbar above the matrix sets the period, an optional company filter and the export buttons.

📅 April 2026 ▾MonthQuarterCompany ▾▣ Excel📄 PDF CA3
ControlEffect
Period selectorPicks the period the matrix covers. Defaults to the previous full month — what you'd file. Switch to Quarter when you declare quarterly. The filter is applied against the invoice's issue date (the date printed on the invoice itself), so the period stays stable even if the underlying data is rebuilt later. The Invoices list exposes the same date basis via its Date basis toggle — drilling into a VAT amount opens the Invoices list with that toggle pre-selected, so the count matches the one you came from.
Month / Quarter chipsToggle between monthly and quarterly granularity. The label of the period selector adapts (e.g. Q2 2026).
CompanyOptional. Restricts the period to invoices of one company code (KCO). Defaults to All companies.
▣ ExcelDownloads the workbook described under Excel export.
📄 PDF CA3Downloads the CA3-styled synthesis described under PDF export — CA3 form layout.

The CA3 matrix

The matrix opens collapsed at the country-group level — Domestic (France), Intra-EU and Outside-EU for both Sales and Purchases. Each row shows three figures: taxable base (Total HT), VAT amount (Total TVA) and the invoice count.

Click the chevron on any row to expand it; click again to collapse. The matrix has three drill-down levels under each country group:

LevelWhat appearsExample
1 — VAT rateOne row per rate found in the period inside that group.20%, 10%, 5.5%, 2.1%, 0%.
2 — Invoice typeUnder a rate row, one row per BAR routing — B2B, B2C, B2BINT, B2G, unclassified.A 20% row of Domestic breaks into B2B / B2C contributions.
3 — Individual invoicesUnder a type row, one row per invoice: document number, type, company, taxable base, VAT amount. Capped at 200 rows inline — use the Excel export for the full list.12345 / RI / 00070 Acme Industries SA 500.00 100.00.

Every amount in the matrix is clickable. A click jumps to the Invoices list pre-filtered to the same set — same period, same direction, same country group, same rate, same type when applicable — so you can drop into the operational list without re-typing any filter.

Country group rules

The classification reads from the counterparty country captured on each invoice at insert time (buyer country on sales, supplier country on purchases) and from the Sales / Purchases direction stored on the invoice (UHDRIN).

Country groupSales (issued)Purchases (received)
DomesticBuyer country = FR.Supplier country = FR.
Intra-EUBuyer country in the 26 other EU member states.Supplier country in the 26 other EU member states.
Outside-EUEverything else (or unknown).Everything else (or unknown).

VAT rates rolled up under Intra-EU sales and Outside-EU sales appear as exempt () — they do not contribute to the VAT column, only to the taxable base. Intra-EU acquisitions on the Purchases side carry self-assessed VAT and contribute to both the taxable base and the VAT amount.


When the matrix is empty

If the database does not yet hold any VAT detail row (F564234) for the selected period — typically right after Store VAT details was turned on but before any historical data was rebuilt — the page no longer shows a misleading empty matrix. It surfaces the exact command line to run, with the dates of the selected period already filled in:

⚠ No VAT details for April 2026
The database does not hold any VAT detail row for this period. Run the rebuild command once, then reopen the page:
./nomaubl.sh backfill-vat prod 2026-04-01 2026-04-30
Safe to re-run on the same period without creating duplicates.

The command is documented under Command Line → backfill-vat. Once the rebuild has run, reopen the VAT page and the matrix is populated as expected.


Excel export

The ▣ Excel button downloads a workbook with two sheets:

SheetContent
SummaryMirrors the on-screen matrix — sales / purchases × country group × rate × type — with subtotals per country group and per direction.
DetailsOne row per invoice contributing to the period: document number, document type, company, counterparty name, counterparty country, BAR routing, taxable base, VAT amount, currency, issue date.

Numeric cells are written as real numbers, not as text. Totals, pivot tables and downstream Excel formulas work without any clean-up.


PDF export — CA3 form layout

The 📄 PDF CA3 button downloads a one-page synthesis styled like the official Cerfa 3310-CA3 so it can be filed alongside the rest of the accounting paperwork without re-typing.

BlockCA3 lines
Section A — Operations realisedLine 01 (sales subject to VAT), 03 (intra-EU acquisitions), 04 (exports outside EU), 06 (intra-EU deliveries), 7B (other non-taxable operations).
Section B — VAT brute then déductibleOne row per applicable rate: 08 (20%), 9B (10%), 09 (5.5%), 10 (2.1%) and 14 (other rates), with total 16. Then 20 (déductible VAT on goods and services) and total 23.
SoldeEither 28 (VAT à payer) when the period ends in debt, or 32 (crédit) when déductible VAT outweighs collected VAT.

The PDF is meant as a printable synthesis — not a substitute for filing on the DGFiP portal.


Note on existing data

Invoices created before this release have no counterparty country on file. They are classified as Domestic by default until the underlying invoice is re-processed (so the country is captured from the UBL document and persisted). Any new invoice from now on lands with the correct country.

If you spot an intra-EU or outside-EU invoice still showing under Domestic, re-running it from the Invoices list (Edit → Save, or a fresh Process from Sync → Fetch Input) refreshes the country.