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.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
    • 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.13.tar.gz (74.6 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.13-py3-none-any.whl (78.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyfrctc-0.13.tar.gz
Algorithm Hash digest
SHA256 5cfd7e692098953c076bb26103344d9c32e65a7d9b9d3b8f809f36f3b2d72245
MD5 f7a65bb1ef2c00d8cc8291a7a0b0b1ed
BLAKE2b-256 2ef2b075bcd13847c22bba85d4eb097262b674bb6b482b853a6054d7a11d0b18

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfrctc-0.13.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.13-py3-none-any.whl.

File metadata

  • Download URL: pyfrctc-0.13-py3-none-any.whl
  • Upload date:
  • Size: 78.6 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.13-py3-none-any.whl
Algorithm Hash digest
SHA256 125a257d95ca051cab383ef324a1ec0e9064bfbab151e5d49c742fdf09d44e60
MD5 d34c63396775929f68726097c5901447
BLAKE2b-256 5c5d2a16ee4c1959865460aff64708a5b26bce7b67b8be4d1cdb6f5c3143889e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyfrctc-0.13-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