{
"info": {
"author": "Alexis de Lattre",
"author_email": "alexis.delattre@akretion.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7"
],
"description": "Factur-X Python library\n=======================\n\nFactur-X is the e-invoicing standard for France and Germany. The Factur-X specifications are available on the `FNFE-MPE website `_ in English and French. The Factur-X standard is also called ZUGFeRD 2.0 in Germany.\n\nThe main feature of this Python library is to generate Factur-X invoices from a regular PDF invoice and a Factur-X compliant XML file.\n\nThis lib provides additionnal features such as:\n\n* extract the Factur-X XML file from a Factur-X PDF invoice,\n* check a Factur-X XML file against the official XML Schema Definition.\n\nSome of the features provided by this lib also work for ZUGFeRD 1.0 (the ancestor of the Factur-X standard).\n\nInstallation\n============\n\nThis library works both on python 2.7 and python 3.\n\nTo install it for python 3, run:\n\n.. code::\n\n sudo pip3 install --upgrade factur-x\n\nTo install it for python 2.7, run:\n\n.. code::\n\n sudo pip install --upgrade factur-x\n\nUsage\n=====\n\n.. code::\n\n from facturx import generate_facturx_from_file\n\n facturx_pdf_invoice = generate_facturx_from_file(regular_pdf_invoice, facturx_xml_file)\n\n\nTo have more examples, look at the source code of the command line tools located in the *bin* subdirectory.\n\nCommand line tools\n==================\n\nSeveral command line tools are provided with this lib:\n\n* **facturx-pdfgen**: generate a Factur-X PDF invoice from a regular PDF invoice and an XML file\n* **facturx-pdfextractxml**: extract the Factur-X XML file from a Factur-X PDF invoice\n* **facturx-xmlcheck**: check a Factur-X XML file against the official Factur-X XML Schema Definition\n\nAll these commande line tools have a **-h** option that explains how to use them and shows all the available options.\n\nLicence\n=======\n\nThis library is published under the BSD licence (same licence as `PyPDF4 `_ on which this lib depends).\n\nContributors\n============\n\n* Alexis de Lattre \n\nChangelog\n=========\n\n* Version 1.4 dated 2019-07-24\n\n * Update Factur-X XSD to the final version of Factur-X v1.0.4\n * Support XML extraction with ZUGFeRD invoices using 'zugferd-invoice.xml' filename (instead of the filename 'ZUGFeRD-invoice.xml' specified by the standard)\n\n* Version 1.3 dated 2019-06-12\n\n * Add XSD files for Extended profile in the Python package\n\n* Version 1.2 dated 2019-06-12\n\n * add support for the Extended profile\n * validate XML for Minimum and Basic WL profiles with the XSD of profile EN 16931, as asked by Cyrille Sautereau\n * minor improvements in the code for /Kids\n\n* Version 1.1 dated 2019-04-22\n\n * Improve support for embedded files extraction by adding support for /Kids\n\n* Version 1.0 dated 2019-01-26\n\n * Use PyPDF4 instead of PyPDF2, because there are no new releases of PyPDF2 since May 2016 (cf https://github.com/mstamy2/PyPDF2/wiki/State-of-PyPDF2-and-Future-Plans), and we need a recent version of PyPDF2 to be able to generate fully compliant PDF/A-3 files.\n\n* Version 0.9 dated 2019-01-25\n\n * Port to python 3 contributed by JoshuaJan (https://github.com/joshuajan)\n * Fix path to ZUGFeRD 1.0 XSD\n\n* Version 0.8 dated 2018-06-10\n\n * Make pretty_print work for XMP file, for better readability of that file\n\n* Version 0.7 dated 2018-05-24\n\n * Fix XMP structure under /x:xmpmeta/rdf:RDF/rdf:Description (use XML tags instead of XML attributes)\n * declare PDF-1.6 instead of PDF-1.3 (still declared by default by pyPDF2)\n\n* Version 0.6 dated 2018-05-01\n\n * Now fully PDF/A-3 compliant with additionnal attachments (tested with veraPDF)\n * facturx-pdfgen: don't overwrite by default and add --overwrite option\n * Add factur-x library version number in metadata creator entry\n\n* Version 0.5 dated 2018-03-29\n\n * Fix XMP metadata structure\n * Now fully PDF/A-3 compliant when the input PDF file is PDF/A compliant (tested with veraPDF). This implied copying /OutputIntents and /ID datas from source PDF to Factur-X PDF.\n * Fix support for additionnal attachments: they can now all be saved with Acrobat Reader\n * Improve XML extraction from PDF Factur-x file\n\n* Version 0.4 dated 2018-03-27\n\n * Factur-x specs say /AFRelationship must be /Data (and not /Alternative)\n * Update Factur-X XSD to v1.0 final\n * Add support for additionnal attachments\n * Add factur-x lib version in Creator metadata table\n * Add /PageMode = /UseAttachments, so that the attachments are displayed by default when opening Factur-X PDF invoice with Acrobat Reader\n * Improve and enrich PDF objects (ModDate, CheckSum, Size)\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/akretion/factur-x",
"keywords": "e-invoice ZUGFeRD Factur-X Chorus",
"license": "BSD",
"maintainer": "",
"maintainer_email": "",
"name": "factur-x",
"package_url": "https://pypi.org/project/factur-x/",
"platform": "",
"project_url": "https://pypi.org/project/factur-x/",
"project_urls": {
"Homepage": "https://github.com/akretion/factur-x"
},
"release_url": "https://pypi.org/project/factur-x/1.4/",
"requires_dist": null,
"requires_python": "",
"summary": "Factur-X: electronic invoicing standard for Germany & France",
"version": "1.4"
},
"last_serial": 5579884,
"releases": {
"0.1": [
{
"comment_text": "",
"digests": {
"md5": "872672883f840e8d201a87b61aac6cae",
"sha256": "09212fd19ec84db8ea473d83d0fd44007c93c9cef03a503c63aaddfc17138e25"
},
"downloads": -1,
"filename": "factur-x-0.1.tar.gz",
"has_sig": false,
"md5_digest": "872672883f840e8d201a87b61aac6cae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19165,
"upload_time": "2017-09-12T22:15:42",
"url": "https://files.pythonhosted.org/packages/56/05/169126df73aec3b2128e5ac803787bfcbe8aacb59e2dc9b6810e9d4190f7/factur-x-0.1.tar.gz"
}
],
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "d2453c075b825bcc1f4c925a0303448b",
"sha256": "f99b46a735952cff7a7226f4fc1832c475df9190db485966fcb7786134ad5d4e"
},
"downloads": -1,
"filename": "factur-x-0.2.tar.gz",
"has_sig": false,
"md5_digest": "d2453c075b825bcc1f4c925a0303448b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19353,
"upload_time": "2017-10-26T21:38:30",
"url": "https://files.pythonhosted.org/packages/04/0c/8b50f5631a48b8a7080cc3d5173db96747b773318d1ba3885f9c49847014/factur-x-0.2.tar.gz"
}
],
"0.3": [
{
"comment_text": "",
"digests": {
"md5": "bf6322dda3de98b3c08e10d185b9d118",
"sha256": "0711f3139ed0101d5db37b604f2a14b92c755c52200a3016f1a9c43d5b075444"
},
"downloads": -1,
"filename": "factur-x-0.3.tar.gz",
"has_sig": false,
"md5_digest": "bf6322dda3de98b3c08e10d185b9d118",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19463,
"upload_time": "2017-11-12T20:49:23",
"url": "https://files.pythonhosted.org/packages/ac/d4/dee921514055d2a09c833427ba4903908ffd97afe30fc2a31c8e8b12e11d/factur-x-0.3.tar.gz"
}
],
"0.4": [
{
"comment_text": "",
"digests": {
"md5": "7c1587a3f30b292f3641417975551de0",
"sha256": "0d83fa2ccef60bbfa7d5c993ab50208ab7e58fd22c4f164fa4b7b167800218b2"
},
"downloads": -1,
"filename": "factur-x-0.4.tar.gz",
"has_sig": false,
"md5_digest": "7c1587a3f30b292f3641417975551de0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 21040,
"upload_time": "2018-03-27T20:13:02",
"url": "https://files.pythonhosted.org/packages/fd/1c/7d013196059718a21bb52b263af04d80b9728dea36451e7acb2c9fa1f2cf/factur-x-0.4.tar.gz"
}
],
"0.5": [
{
"comment_text": "",
"digests": {
"md5": "527533407e000901f81b10f1e8b218b8",
"sha256": "1b4278b173fa37f2f06886885df383cdb5c5c40d5d739eb1d61be86b8832d7db"
},
"downloads": -1,
"filename": "factur-x-0.5.tar.gz",
"has_sig": false,
"md5_digest": "527533407e000901f81b10f1e8b218b8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22701,
"upload_time": "2018-03-28T23:01:38",
"url": "https://files.pythonhosted.org/packages/91/25/f18278b3e410247ad350563fc1a54fc3f26bf9f4b6a360a8e0854323c926/factur-x-0.5.tar.gz"
}
],
"0.6": [
{
"comment_text": "",
"digests": {
"md5": "fd187490eb0d662afc0e5e95b59dc8b0",
"sha256": "18218e3d692abe04fe40a9939a7a25551d1539fc1082f706e0a0fa122e5b856d"
},
"downloads": -1,
"filename": "factur-x-0.6.tar.gz",
"has_sig": false,
"md5_digest": "fd187490eb0d662afc0e5e95b59dc8b0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22901,
"upload_time": "2018-05-01T19:39:27",
"url": "https://files.pythonhosted.org/packages/e8/eb/420f9e5517e7f9a7e74e8c9362796fa31b3ac93f690eae5dea7e404d8348/factur-x-0.6.tar.gz"
}
],
"0.7": [
{
"comment_text": "",
"digests": {
"md5": "7e92d7f09648401816da4b10fd37f497",
"sha256": "bb3f708cb84716313fb9d9310cb501269913336c94c731834733b80cbf6e742c"
},
"downloads": -1,
"filename": "factur-x-0.7.tar.gz",
"has_sig": false,
"md5_digest": "7e92d7f09648401816da4b10fd37f497",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23151,
"upload_time": "2018-05-23T22:33:50",
"url": "https://files.pythonhosted.org/packages/da/92/44237961ed6401f7190b8316ab5cfa44a7a2737559d03a8c35ff404ab2bc/factur-x-0.7.tar.gz"
}
],
"0.8": [
{
"comment_text": "",
"digests": {
"md5": "c6b15e87755319f7f0832d0f4861e5ac",
"sha256": "9de3bf4f2ac15e65e4e483378cf390b4035fc171bf08ce5bee700d1c8444926e"
},
"downloads": -1,
"filename": "factur-x-0.8.tar.gz",
"has_sig": false,
"md5_digest": "c6b15e87755319f7f0832d0f4861e5ac",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23759,
"upload_time": "2018-06-10T20:36:11",
"url": "https://files.pythonhosted.org/packages/a3/10/892ca00252f9f1a40d778af7fe0ba46cde222b6447a52390fb42717ca0d5/factur-x-0.8.tar.gz"
}
],
"0.9": [
{
"comment_text": "",
"digests": {
"md5": "8dfdb0eba4fff63234d4b0581e84e9f5",
"sha256": "5de6bb27ffb3cbb7319b9f49c8ea8620f26219c6919f2f83a3f54c73fd148995"
},
"downloads": -1,
"filename": "factur-x-0.9.tar.gz",
"has_sig": false,
"md5_digest": "8dfdb0eba4fff63234d4b0581e84e9f5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22435,
"upload_time": "2019-01-25T21:41:24",
"url": "https://files.pythonhosted.org/packages/4c/11/f50a17602f313b121ceb8d7d5a3e4bb9693139d07f734449f4886ed34ef3/factur-x-0.9.tar.gz"
}
],
"1.0": [
{
"comment_text": "",
"digests": {
"md5": "a6848cef053beef270fc2405d9804436",
"sha256": "32b334e8c8542b36ad8c2a9b4ce57757c404959ff03e64c1ed9cc4bbea482e9d"
},
"downloads": -1,
"filename": "factur-x-1.0.tar.gz",
"has_sig": false,
"md5_digest": "a6848cef053beef270fc2405d9804436",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22581,
"upload_time": "2019-01-26T22:45:28",
"url": "https://files.pythonhosted.org/packages/b8/66/ba02bf46c58b70daedf12b905b28c47fc326680bacab408fd2797403c98a/factur-x-1.0.tar.gz"
}
],
"1.1": [
{
"comment_text": "",
"digests": {
"md5": "2d7c493b0439738c17a25671bdc29a0a",
"sha256": "514e1c650ce67c127563223c7937c551fea93a72c5522ab76bfa18869a14f7c4"
},
"downloads": -1,
"filename": "factur-x-1.1.tar.gz",
"has_sig": false,
"md5_digest": "2d7c493b0439738c17a25671bdc29a0a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23192,
"upload_time": "2019-04-22T21:30:49",
"url": "https://files.pythonhosted.org/packages/26/af/65d6a3e2ca347d2e01890d442aa6d43bd4276902e4bcacd3d33dd5798a2a/factur-x-1.1.tar.gz"
}
],
"1.2": [
{
"comment_text": "",
"digests": {
"md5": "2a2504117b9928a969618db66c78c455",
"sha256": "bd196ea0b8dff7a3d236746759108d87be0c1475cd1902c843c13540fa69164e"
},
"downloads": -1,
"filename": "factur-x-1.2.tar.gz",
"has_sig": false,
"md5_digest": "2a2504117b9928a969618db66c78c455",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23400,
"upload_time": "2019-06-11T21:59:44",
"url": "https://files.pythonhosted.org/packages/bb/21/cd659349b8a780a130226b4aadc3a02141d3af27b52e6f16c29df610dff7/factur-x-1.2.tar.gz"
}
],
"1.3": [
{
"comment_text": "",
"digests": {
"md5": "6fa6c06ec1464a41768d7c8f09a24b51",
"sha256": "192d21748eccb76b394187aaa8794f66c595032c8811a18c44cf27516e28b4b0"
},
"downloads": -1,
"filename": "factur-x-1.3.tar.gz",
"has_sig": false,
"md5_digest": "6fa6c06ec1464a41768d7c8f09a24b51",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 34630,
"upload_time": "2019-06-11T23:27:34",
"url": "https://files.pythonhosted.org/packages/72/c9/6c04039db91fd59ee71a25a007377ac8ce0e913fe5ea0bd8cb3e38541d4b/factur-x-1.3.tar.gz"
}
],
"1.4": [
{
"comment_text": "",
"digests": {
"md5": "19fc94e948cc01d15e6c44db55450821",
"sha256": "67dbf9cb6aa6df49f883c00592581266601f2793036adb9539a0c7974850f4fa"
},
"downloads": -1,
"filename": "factur-x-1.4.tar.gz",
"has_sig": false,
"md5_digest": "19fc94e948cc01d15e6c44db55450821",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 55336,
"upload_time": "2019-07-24T21:36:40",
"url": "https://files.pythonhosted.org/packages/80/e1/2ac7eff0b8c09885f3f719100fd0ed9114cb71440afa8a58b53894978195/factur-x-1.4.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "19fc94e948cc01d15e6c44db55450821",
"sha256": "67dbf9cb6aa6df49f883c00592581266601f2793036adb9539a0c7974850f4fa"
},
"downloads": -1,
"filename": "factur-x-1.4.tar.gz",
"has_sig": false,
"md5_digest": "19fc94e948cc01d15e6c44db55450821",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 55336,
"upload_time": "2019-07-24T21:36:40",
"url": "https://files.pythonhosted.org/packages/80/e1/2ac7eff0b8c09885f3f719100fd0ed9114cb71440afa8a58b53894978195/factur-x-1.4.tar.gz"
}
]
}