TVA CERFA 3310-CA3
Dolibarr Module · TVA CERFA 3310-CA3

Documentation

Complete installation, configuration and usage guide — v4.1.1

Installation

Requirements

  • Dolibarr 19.0 → 23.x or higher
  • PHP 7.4 → 8.5
  • MySQL 5.7+ or MariaDB 10.3+
  • Write access to the htdocs/custom/ directory

Method 1 — Install via DoliStore (recommended)

  1. Purchase the module
    Visit DoliStore and purchase the TVA CERFA 3310-CA3 module.
  2. Download the ZIP archive
    From your DoliStore customer account, download the module ZIP file.
  3. Deploy in Dolibarr
    In Dolibarr: Home → Setup → Modules → Deploy/install an external module, then select the ZIP file.
  4. Enable the module
    Once deployed, enable "VAT Returns (CERFA 3310-CA3)" in the Finance / Accounting section.

Method 2 — Manual installation

# Navigate to Dolibarr's custom directory cd /var/www/dolibarr/htdocs/custom/ # Extract the archive unzip module_tva_cerfa_3310-4.1.1.zip # Set permissions chmod -R 755 tva_cerfa_3310/ chown -R www-data:www-data tva_cerfa_3310/
Important: If the database tables are not created automatically upon activation, go to the module's main page and click "Install tables".

Configuration

After activating the module, access the configuration page via Setup → Modules → TVA CERFA 3310-CA3 → Configuration.

1. Declaration mode

The module processes the main section of the CA3 form (CERFA 3310-CA3), standard VAT regime. The simplified CA12 regime is not supported.

Current scope: Only the main section of the CA3 (page 1) is calculated automatically. The following are not yet supported in this version: annexes 3310-TER, 3310-A and 3310-TIC, import lines (I1–I6, currently being finalised), VAT on petroleum products, and the three CA3 header boxes (single taxable person representative art. 256 C, DGE consolidation regime art. 1693 ter, nil return).

2. Financial year retention

Set the number of fiscal years to retain (recommended: at least 3 years to meet legal obligations).

3. Fixed asset accounts

Fixed asset accounts are used to calculate deductible input VAT on fixed assets (line 19). Use the auto-detection wizard to identify them automatically (typically accounts starting with 2).

4. Intra-community accounts

Configure the accounts for intra-community transactions (EU goods acquisitions, EU and non-EU foreign services).

5. VAT rate for European invoices

Select the French VAT rate to apply when reverse-charging EU supplier invoices. If left unconfigured, the module uses the VAT shown on the invoice.

6. OSS option

If you make intra-community B2C distance sales exceeding the €10,000 threshold, you may declare via the OSS (One Stop Shop) portal. Enable the corresponding option in the configuration so the module correctly excludes these transactions from the national CA3 calculation.


Usage

Creating a VAT return

  1. Open the module
    Go to Accounting/Treasury → Taxes → TVA CERFA 3310-CA3.
  2. Create a new return
    Click "New return" and select the period (monthly or quarterly depending on your regime).
  3. Calculate the amounts
    Click "Calculate VAT" to automatically extract data from your validated invoices and general ledger.
  4. Review and adjust
    Check the calculated amounts. The 10 safeguards (R1–R10) are verified automatically: any blocking issue is flagged before you can proceed.
  5. Validate the return
    Once the safeguards are cleared, validate the return to freeze it.
  6. Generate the PDF
    Click "Generate PDF" to obtain the complete declaration statement.

Return lifecycle

Status Description Available actions
Draft Return being prepared Edit, Calculate, Delete
Validated Return validated, safeguards cleared Lock, Generate PDF, Cancel
Locked Return finalised and filed Generate PDF only
Irreversible workflow: Transitioning to the Locked status is permanent. A locked return can no longer be modified. Only an explicit cancellation (status Cancelled) is possible if an error is discovered afterwards.

VAT calculation rules

Output VAT — main lines

Calculated from validated customer invoices for the period (customer credit notes deducted).

CERFA line Description Rate
08VAT at standard rate20 %
9BVAT at intermediate rate10 %
09VAT at reduced rate5.5 %
11VAT at special rate2.1 %
10DOM (overseas) VAT8.5 %
17Of which reverse charge — intra-community acquisitions of goods (B2) and EU/non-EU foreign services (A3, art. 283-2)20 %
Line 16 (Total gross VAT due) = Σ(Lines 08 + 9B + 09 + 11 + 10 + …)

Input VAT — main lines

Calculated from validated supplier invoices for the period (supplier credit notes taken into account).

CERFA line Description
19VAT on fixed assets (class 2 accounts)
20VAT on other goods and services (expenses, overheads)
22VAT credit carried forward from line 27 of the previous period
Line 23 (Total deductible VAT) = Line 19 + Line 20 + Line 22 + …

Period result

CERFA lineDescription
32VAT payable = Line 16 − Line 23 (if positive)
25VAT credit = Line 23 − Line 16 (if negative)
26Refund of credit requested (entered manually)
27Credit to carry forward = Line 25 − Line 26 → feeds line 22 of the next period
Credit chain: Line 22 of each return is fed automatically by line 27 of the previous period. Never break this chain — it is a blocking invariant of the module.

Fiscal safeguards (R1–R10)

Ten consistency rules are verified automatically before any validation. They are blocking: it is impossible to validate an inconsistent return. Examples of rules checked: base × rate = VAT consistency, reverse-charge neutrality (line 17 ↔ corresponding deductible), line 22 consistency with the previous period.

Legal rounding: All amounts are rounded to the nearest whole number, in accordance with the requirements of the French tax authority (DGFiP).

European VAT and reverse charge

Intra-community acquisitions of goods (B2)

When you purchase goods from a supplier established in the EU, VAT is reverse-charged: you declare both the output VAT (line 17) and the corresponding deductible input VAT (line 20), for perfect neutrality if the goods confer a right to deduction.

EU and non-EU foreign services — reverse charge art. 283-2 (A3)

Services purchased from providers not established in France (EU or third countries) are subject to reverse charge under article 283-2 of the French Tax Code (CGI). They appear on line A3 (base) and line 17 (VAT).

Configuring the rate for European invoices

  1. Open the module configuration.
  2. Under "VAT rate for European invoices", select the French rate to apply (generally 20 %).
  3. If you leave "Use the invoice VAT", the module will use the VAT shown on the imported invoice.

Example — German supplier invoice

Amount excl. VAT: €1,000
VAT on invoice: 19 % (€190) — German rate, not deductible in France
Configured reverse-charge rate: 20 %
Calculated reverse-charge VAT: €1,000 × 20 % = €200
→ €200 declared on line 17 (output) + €200 on line 20 (deductible if full right to deduction)

OSS regime — B2C distance sales (€10,000 threshold)

If your intra-community B2C distance sales exceed €10,000 in the calendar year, you fall under the OSS (One Stop Shop) scheme. These sales are taxed at the consumer country's rate and declared via OSS — they do not appear in your national CA3 return. The module handles this scope via the OSS option in the configuration.

Below the €10,000 threshold: You may invoice at the consumer country's VAT rate, but declare the bases on line A1 at the standard French rate (20 %). The module applies this rule: do not interpret an A1 base at 20 % as an error if the original invoice used a lower foreign rate.

Fixed assets management

VAT on fixed assets is handled separately (line 19) to comply with French tax rules. It is automatically excluded from line 20 to avoid any double-counting.

Automatic account identification

The module identifies fixed assets from general ledger entries allocated to:

  • class 2 accounts (tangible and intangible fixed assets);
  • any other account configured manually in the wizard.
Use the account detection wizard (configuration page) to automatically pre-populate the list of fixed asset accounts from your Dolibarr chart of accounts.

Calculating deductible input VAT on fixed assets

The module extracts the VAT from supplier invoices where at least one line is allocated to a fixed asset account. This VAT feeds line 19 exclusively; the "other goods and services" portion of the same invoice feeds line 20.

Strict accounting allocation safeguard: If an invoice has no accounting allocation (no account moved in the general ledger), it is excluded from the calculation — even if its VAT is zero. This behaviour is intentional and not configurable.

Updating the module

  1. Back up your data
    Perform a full backup of your Dolibarr database and module files before any operation.
  2. Download the new version
    Retrieve the latest version from DoliStore. The version history is available on the release notes page.
  3. Disable the module
    In Dolibarr, temporarily disable the TVA CERFA 3310-CA3 module.
  4. Replace the files
    Overwrite the old files with those from the new version (manual method) or use Dolibarr's "Deploy an external module" feature.
  5. Re-enable the module
    Re-enable the module to trigger the automatic database update.
  6. Verify operation
    Recalculate an existing return and compare the totals to ensure no regression has been introduced.
Tip: Read the release notes to learn about new features, fixes, and any manual actions required for each update.

Troubleshooting

Database tables were not created
Go to the module's main page and click "Install tables". If the error persists, verify that the MySQL user has CREATE TABLE rights on the Dolibarr database.
VAT amounts are incorrect
Check:
  • the VAT rate configuration for European invoices;
  • the configured fixed asset accounts (a misclassified account can shift amounts from line 20 to line 19);
  • the selected period dates (invoice date vs. accounting date);
  • invoice status — only validated invoices are included;
  • accounting allocation in the general ledger (lines without allocation are excluded).
PDF generation fails
Check:
  • that the PDF module (TCPDF) is enabled in Dolibarr;
  • write permissions on Dolibarr's documents/ directory;
  • PHP configuration: memory_limit ≥ 128 MB, max_execution_time ≥ 60 s.
A safeguard is blocking validation
Read the error message carefully — each rule R1–R10 precisely indicates the inconsistent line and the expected value. Correct the accounting allocation or configuration settings causing the discrepancy.

Frequently asked questions

Which Dolibarr versions are supported?

The module is compatible with Dolibarr 19.0 → 23.x.

Which French VAT rates are handled?

The module supports the five rates in force in metropolitan France and the DOM overseas territories: 20 %, 10 %, 5.5 %, 2.1 % and the DOM rate 8.5 %.

Does the module handle credit notes?

Yes. Customer credit notes are deducted from output VAT; supplier credit notes are deducted from input VAT.

Can I modify a validated return?

A validated return (status Validated) can be modified as long as it has not been locked. Once Locked, it can no longer be modified — only an explicit cancellation is possible.

Does the module cover the full CA3 form?

No — and this is documented. The current version automatically calculates the main section of the CA3 (page 1). The following are not yet covered: annexes 3310-TER, 3310-A and 3310-TIC; import lines I1–I6 (currently being finalised); VAT on petroleum products; special header boxes (single taxable person representative, DGE regime, nil return). See the release notes to follow progress.

Does the module support the simplified regime (CA12)?

No. The module handles only the standard VAT regime (CA3 form). The simplified CA12 regime is not supported.

How does the VAT credit carry-forward work?

Line 22 (carried-forward credit) is fed automatically by line 27 of the previous period, which represents the remaining credit after any refund requested (line 26). This chain is a blocking invariant: any break is detected by the corresponding safeguard rule R.

How do I get support?

Consult this documentation, then contact support: tvacerfa3310@ptitetete.org — response within 24–48 business hours.