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.12 dated 2026-07-05

    • Add support for e-reporting XML generation (transactions and payments) with XSD check
    • 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.12.tar.gz (74.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.12-py3-none-any.whl (78.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyfrctc-0.12.tar.gz
  • Upload date:
  • Size: 74.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyfrctc-0.12.tar.gz
Algorithm Hash digest
SHA256 389b6ff18cdd22547a6ff36c313ee409555c80d393eb0dd2a3d9ae7af196c5b3
MD5 48faf881214dcc4edb8eacc1cba6a44b
BLAKE2b-256 c37e4e468320ae525fa4a9227e5cb55c4556ca21a3a20889e3c202b4c91b9fab

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfrctc-0.12.tar.gz:

Publisher: release.yml on akretion/pyfrctc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: pyfrctc-0.12-py3-none-any.whl
  • Upload date:
  • Size: 78.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyfrctc-0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 91e034fe1609d1f777099d35b0669b200313528873906f411fddb1ddfcb6609e
MD5 c1c8fa72df279fd2ba9146e26092c776
BLAKE2b-256 fc9e63ffbdcf9ccb3caab863cddd8cc2565afbc9ec0eceab0101cdccb097dddc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfrctc-0.12-py3-none-any.whl:

Publisher: release.yml on akretion/pyfrctc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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