# DataFirefly FEC — WooCommerce Accounting Export

> Overview DataFirefly FEC turns your WooCommerce orders into double-entry accounting records and exports them in seven formats: the official French FEC (mandatory in the event of a tax audit, article…

- Page: <https://www.datafirefly.com/en/documentation/dfwoo-fec/>
- Language: en
- Last updated: 2026-07-01
- Other languages: [fr](https://www.datafirefly.com/documentation/dfwoo-fec/index.md), [es](https://www.datafirefly.com/es/documentation/dfwoo-fec/index.md), [de](https://www.datafirefly.com/de/documentation/dfwoo-fec/index.md), [it](https://www.datafirefly.com/it/documentation/dfwoo-fec/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfwoo-fec/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfwoo-fec/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfwoo-fec/index.md)
- Index: <https://www.datafirefly.com/en/documentation/llms.txt>

## Overview

DataFirefly FEC turns your WooCommerce orders into double-entry accounting records and exports them in seven formats: the official French FEC (mandatory in the event of a tax audit, article L.47 A-I of the French Tax Procedures Code), Sage 100, EBP Compta, Pennylane, Tiime, Indy and Quadratus. Every entry is balance-checked (debit = credit) before export.

## Installation

1. Download `dfwoo-fec.zip` from your DataFirefly customer account.
2. In the WordPress admin, go to **Plugins → Add New → Upload Plugin** and select the ZIP.
3. Click **Install Now** then **Activate**.
4. The **WooCommerce → Accounting Export (FEC)** menu appears.

Requirements: WordPress 6.0+, WooCommerce 7.0+ (tested up to 9.4), PHP 7.4+. The plugin is HPOS-compatible (High-Performance Order Storage).

## Initial configuration

Before your first export, open the **Accounting Settings** tab and fill in:

### Company identity

- **Company name** — used in entry labels.
- **SIREN** — 9 digits, used to name the official FEC file (`SIRENFECYYYYMMDD.txt`).

### Journals

Defaults: `VE` (sales journal) and `BQ` (bank journal). Adapt the codes if your accountant uses a different scheme (3 characters maximum recommended for Quadratus).

### Chart of accounts

- **Customer account**: 411000 by default. Tick "auxiliary accounts per customer" to generate a stable auxiliary per customer (C+ID for logged-in customers, G+email hash for guests).
- **Revenue accounts**: 707000 sales, 708500 shipping, 709000 discounts, 708000 misc fees.
- **VAT accounts per rate**: 445712 (20%), 445711 (10%), 445713 (5.5%), 445714 (2.1%), 445715 (0%). Every rate detected in an order is posted to its dedicated account.
- **Cash accounts per payment method**: leave empty to use the default bank account (512000), or assign a distinct account per gateway (e.g. 512100 Stripe, 512200 PayPal) to make bank reconciliation easier.

### Order statuses

Two independent settings:

- **Statuses generating a sales entry** — Processing and Completed by default. The entry is dated on the order creation date.
- **Statuses generating a payment entry** — Completed by default. The entry is dated on the payment date recorded by WooCommerce.

## Generated accounting scheme

### Sales entry (VE journal, order date)

- Debit 411 Customer: order total incl. VAT
- Credit 707 Sales: net product amount, split by VAT rate
- Credit 708 Shipping: net shipping amount, split by rate
- Credit 44571x VAT collected: VAT per rate

### Payment entry (BQ journal, payment date)

- Debit 512 Bank (or payment-method account): total incl. VAT
- Credit 411 Customer: total incl. VAT

Every entry is checked: if the debit/credit gap exceeds 5 cents, the entry is rejected. Below that, the rounding is corrected automatically on the last line.

## Exporting a file

1. **Export** tab: pick the start and end dates.
2. Select the format in the dropdown.
3. Click **Preview (50 lines)** to visually check the structure, or directly **Download file**.

## Format details

### FEC (official France)

18 pipe-separated columns (or tab, your choice): JournalCode, JournalLib, EcritureNum, EcritureDate, CompteNum, CompteLib, CompAuxNum, CompAuxLib, PieceRef, PieceDate, EcritureLib, Debit, Credit, EcritureLet, DateLet, ValidDate, Montantdevise, Idevise. Dates in YYYYMMDD, comma-decimal amounts. UTF-8 or ISO-8859-15 encoding. File naming `SIRENFECYYYYMMDD.txt` compliant with the French tax authority.

### Sage 100

Semicolon CSV, Windows-1252 encoding, columns compatible with the Sage 100c parametrable import: JournalCode, DateEcriture, Compte, TiersCompte, LibelleEcriture, Debit, Credit, NumPiece, DateEcheance, ReferenceFacture.

### EBP Compta

Semicolon CSV Windows-1252 with a D/C sign per line: JournalCode, Date, NumeroCompte, CompteTiers, LibelleEcriture, NumeroPiece, Montant, Sens.

### Pennylane

UTF-8 CSV with BOM, native Pennylane columns: Date, Journal, Numéro de pièce, Libellé, Compte, Compte auxiliaire, Débit, Crédit.

### Tiime

UTF-8 CSV with BOM: Date, Journal, Compte, Libelle, Debit, Credit, Piece, Tiers.

### Indy

UTF-8 CSV with BOM adapted for the self-employed, with a Type column distinguishing Sale and Revenue: Date, Type, Journal, Compte, Libelle, Debit, Credit, Reference.

### Quadratus

Fixed-width ASCII text file ("M" lines of 102 characters), Windows-1252 encoding, compatible with Cegid Quadra Compta. Amounts in cents, right-aligned, DDMMYY dates.

The Quadratus format varies slightly between Cegid Quadra Compta versions. Validate the first export with your accountant using the 50-line preview; a position adjustment is sometimes required.

## WP-CLI automation

The plugin ships a CLI command for scheduled exports:

```
wp dfwoo-fec export --from=2026-01-01 --to=2026-03-31 --format=fec --output=/path/fec-q1.txt
```

Options: `--format` accepts fec, sage100, ebp, pennylane, tiime, indy, quadratus. Without `--output`, the content is written to standard output. Monthly cron example:

```
0 6 1 * * cd /var/www/site && wp dfwoo-fec export --from=$(date -d "last month" +%Y-%m-01) --to=$(date -d "last month" +%Y-%m-31) --format=fec --output=/exports/fec-monthly.txt
```

## Frequently asked questions

### Are refunds and credit notes handled?

Version 1.0.0 exports sales and payment entries. Credit notes are planned for a future release; in the meantime, enter them manually in your accounting software.

### Can I export multiple years?

Yes, the date range is unrestricted. For large volumes (over 10,000 orders), prefer the WP-CLI command which is not subject to the HTTP timeout.

### Does the plugin modify my orders?

No, it works strictly read-only. No order data is modified and no database table is created.

## Support

Technical support included for 12 months via your DataFirefly customer account. Please attach the preview file and your WooCommerce version to any request regarding an export format.
