Wo WooCommerce Beginner

DataFirefly FEC — WooCommerce Accounting Export

Install, configure the chart of accounts and export your WooCommerce entries to FEC, Sage 100, EBP, Pennylane, Tiime, Indy or Quadratus.

Updated Module version 1.0.0

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.

Was this page helpful?

Still stuck? Contact support