Skip to main content

This python library provides helper methods for eInvoicing and eReporting in France. This lib is used by the Odoo community module l10n_fr_einvoicing available on akretion/fr-einvoicing, but we would be very happy if other software use it too. The primary goal of this lib is to mutualize code between different versions of the module for different versions of Odoo.

This lib implements the AFNOR XP Z12-013 standard for the APIs of the Accredited Platforms (Plateformes Agréées i.e. PA in French). It will also contain code to generate and parse CDAR XML files to manage the life-cycle of e-invoices.

This lib is currently under development. Consider it as alpha software: method names and arguments can change at any time. Breaking changes will slow down when we reach beta status and it will end when we reach production status.

The AFNOR APIs are fully tested with SUPER PDP, but the code should work with any other AFNOR-compliant accredited platform.

Licence

This library is published under the GNU Lesser General Public License v2.1 or, at your option, any later version.

Contributors

Changelog

  • version 0.15 dated 2026-08-06

    • Fix bug #11: add "include": ["routingCode"] in the JSON of the POST query on /v1/directory-line/search
  • version 0.14 dated 2026-07-16

    • Update CDAR schematron to latest version
    • generate_cdar(): add missing MDT-124-2
    • parse_cdar(): add missing MDT-124-2
  • version 0.13 dated 2026-07-08

    • Fix _check_xsd() when XML to check is passed as a string
    • Tune XSD verification code to avoid converting from object to bytes and back to object
  • version 0.12 dated 2026-07-05

    • Add support for e-reporting XML generation (transactions and payments) with XSD check
    • remove dependency on the python lib saxonche and replace it by an HTTP query on a standalone Saxon server
    • generate_cdar(): date fields are now passed in data_dict as datetime object.
  • version 0.11 dated 2026-06-29

    • new boolean named argument prefixed_namespaces in generate_cdar() to either generate prefixed namespaces (default) or default namespaces
  • version 0.10 dated 2026-06-11

    • _parse_flow_dict(): when AP returns 'Pending', the lib will return 'sent'
  • version 0.9 dated 2026-06-09

    • Add support for MDT-129 in parse_cdar() and parse_cdar_raw()
    • in generate_cdar(), schemeID attributes are not hard-coded any more. Support for several SchemeIDs for GlobalID nodes
  • version 0.8 dated 2026-06-09

    • search_flows_parsed() now accepts updated_after as datetime object (timezone aware or timezone naive as UTC)
  • version 0.7 dated 2026-05-28 (OCA code sprint in Santander)

    • Restore method get_session()
    • Add two new methods authorization_code_first_token() and get_authorization_url()
    • Code reformatting for better readability
  • version 0.6 dated 2026-05-21

    • Remove method get_session()
    • Method search_flows_parsed() accepts flow_direction argument with only lowercase letters
    • Methods search_flow_parsed(), get_flow_metadata_parsed() and send_flow_parsed() returnd an additionnal key flow_direction in the flow with value in lowercase letters.
  • version 0.5 dated 2026-05-15

    • Add support for MDT-96 in CDAR XML for generation and parsing
    • rename keys doc_status and doc_characteristics to their designation in the standard (MDG-37 and MDG-43)
  • version 0.4 dated 2026-05-14

    • Add methods to generate and parse CDAR XML files for life cycle
  • version 0.3 dated 2026-04-30

    • Add methods send_flow_parsed(), search_flows_parsed() and get_flow_metadata_parsed()
    • Add multi-page support in search_flows()
  • version 0.2 dated 2026-04-23

    • Fixes in re-formatting of directory lines for B2G when SIRET has specific global properties
  • version 0.1 dated 2026-04-22

    • initial release

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfrctc-0.15.tar.gz (76.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfrctc-0.15-py3-none-any.whl (79.6 kB view details)

Uploaded Python 3

File details

Details for the file pyfrctc-0.15.tar.gz.

File metadata

  • Download URL: pyfrctc-0.15.tar.gz
  • Upload date:
  • Size: 76.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.12.3 HTTPX/0.28.1

File hashes

Hashes for pyfrctc-0.15.tar.gz
Algorithm Hash digest
SHA256 6c90989d4c6a8e300b805f2efb92e0f1ba7157218ed80d386a3ad8b0a9cc9983
MD5 5f20b6a914ab7e5b703ee9abf69e02f5
BLAKE2b-256 265faed5e03b94387338a332bd4575caaf06f98a643086e6461812f5ef6813bd

See more details on using hashes here.

File details

Details for the file pyfrctc-0.15-py3-none-any.whl.

File metadata

  • Download URL: pyfrctc-0.15-py3-none-any.whl
  • Upload date:
  • Size: 79.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.5 cpython/3.12.3 HTTPX/0.28.1

File hashes

Hashes for pyfrctc-0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 002ecfdeeaa51ae0249ba6515003657aa268312ec07eeb8eae53281130b81265
MD5 2f4aaab4541323703851f863c727506d
BLAKE2b-256 6dcadbb81944637856da563f38711c057558fd3f0d77497c6758cca7df88098d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page