mikrowerk-edi-invoicing 0.6.4__py3-none-any.whl → 0.6.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- edi_invoice_parser/__init__.py +1 -1
- edi_invoice_parser/cii_dom_parser/xml_cii_dom_parser.py +1 -1
- edi_invoice_parser/tests/test_parse_x_rechnung.py +13 -6
- {mikrowerk_edi_invoicing-0.6.4.dist-info → mikrowerk_edi_invoicing-0.6.6.dist-info}/METADATA +2 -2
- {mikrowerk_edi_invoicing-0.6.4.dist-info → mikrowerk_edi_invoicing-0.6.6.dist-info}/RECORD +8 -8
- {mikrowerk_edi_invoicing-0.6.4.dist-info → mikrowerk_edi_invoicing-0.6.6.dist-info}/WHEEL +0 -0
- {mikrowerk_edi_invoicing-0.6.4.dist-info → mikrowerk_edi_invoicing-0.6.6.dist-info}/licenses/LICENSE +0 -0
- {mikrowerk_edi_invoicing-0.6.4.dist-info → mikrowerk_edi_invoicing-0.6.6.dist-info}/top_level.txt +0 -0
edi_invoice_parser/__init__.py
CHANGED
|
@@ -189,7 +189,7 @@ class XRechnungCIIXMLParser(XMLAbstractXRechnungParser):
|
|
|
189
189
|
unit_price_gross=trade_line.agreement.gross.amount.get_value(),
|
|
190
190
|
quantity=trade_line.delivery.billed_quantity.get_value(),
|
|
191
191
|
global_product_id=trade_line.product.global_id.get_string(),
|
|
192
|
-
|
|
192
|
+
total_amount_net=trade_line.settlement.monetary_summation.total_amount.get_value(),
|
|
193
193
|
total_allowance_charge=trade_line.settlement.monetary_summation.total_allowance_charge.get_value(),
|
|
194
194
|
quantity_unit_code=trade_line.delivery.billed_quantity._unit_code,
|
|
195
195
|
seller_assigned_id=trade_line.product.seller_assigned_id.get_string(),
|
|
@@ -16,18 +16,20 @@ class XRechnungEinfachTestCase(unittest.TestCase):
|
|
|
16
16
|
pass
|
|
17
17
|
|
|
18
18
|
@parameterized.expand([
|
|
19
|
+
('pdf', 'griffity_exapmles/inTone Bookings_19.12.25_EUR_2142,00.pdf'),
|
|
20
|
+
('xml', 'griffity_exapmles/385_2025.xml'),
|
|
19
21
|
('xml', 'zugferd/XRECHNUNG_Einfach/xrechnung.xml'),
|
|
20
22
|
('xml', 'real_invoice_samples/AKD-736116091815.xml'),
|
|
21
|
-
|
|
23
|
+
|
|
22
24
|
('xml', 'e_invoicing_EN16931/CII-BR-CO-10-RoundingIssue.xml'),
|
|
23
25
|
('xml', 'e_invoicing_EN16931/CII_business_example_01.xml'),
|
|
24
26
|
('xml', 'e_invoicing_EN16931/CII_business_example_02.xml'),
|
|
25
27
|
('xml', 'e_invoicing_EN16931/CII_business_example_Z.xml'),
|
|
26
28
|
('xml', 'e_invoicing_EN16931/CII_example1.xml'),
|
|
27
|
-
('xml', 'e_invoicing_EN16931/CII_example2.xml'),
|
|
29
|
+
('xml', 'e_invoicing_EN16931/CII_example2.xml'),
|
|
28
30
|
('xml', 'e_invoicing_EN16931/CII_example3.xml'),
|
|
29
31
|
('xml', 'e_invoicing_EN16931/CII_example4.xml'),
|
|
30
|
-
('xml', 'e_invoicing_EN16931/CII_example5.xml'),
|
|
32
|
+
('xml', 'e_invoicing_EN16931/CII_example5.xml'),
|
|
31
33
|
('xml', 'e_invoicing_EN16931/CII_example6.xml'),
|
|
32
34
|
('xml', 'e_invoicing_EN16931/CII_example7.xml'),
|
|
33
35
|
('xml', 'e_invoicing_EN16931/CII_example8.xml'),
|
|
@@ -37,9 +39,10 @@ class XRechnungEinfachTestCase(unittest.TestCase):
|
|
|
37
39
|
('xml', 'ubl/ubl_invoice_example.xml'),
|
|
38
40
|
('xml', 'ubl/UBL-Invoice-2.1-Example.xml'),
|
|
39
41
|
('pdf', 'zugferd/BASIC-WL_Einfach/BASIC-WL_Einfach.pdf'),
|
|
40
|
-
# ('pdf', 'zugferd/XRECHNUNG_Einfach/XRECHNUNG_Einfach.pdf'), # needs some checks, why test failed
|
|
41
|
-
# ("pdf", "zugferd/XRECHNUNG_Elektron/XRECHNUNG_Elektron.pdf"), # needs some checks, why test failed
|
|
42
42
|
('pdf', 'odoo_generated/INV_2025_00001.pdf'),
|
|
43
|
+
# ('pdf', 'zugferd/XRECHNUNG_Einfach/XRECHNUNG_Einfach.pdf'), # fails on github
|
|
44
|
+
# ("pdf", "zugferd/XRECHNUNG_Elektron/XRECHNUNG_Elektron.pdf"), # fails on github
|
|
45
|
+
|
|
43
46
|
|
|
44
47
|
])
|
|
45
48
|
def test_x_rechnung_files(self, file_type, file_path):
|
|
@@ -67,16 +70,20 @@ class XRechnungEinfachTestCase(unittest.TestCase):
|
|
|
67
70
|
def _parse_pdf(self, filepath) -> TradeDocument:
|
|
68
71
|
_file_path, _exists, _is_dir = get_checked_file_path(filepath, __file__)
|
|
69
72
|
self.assertTrue(_exists)
|
|
73
|
+
print("----------------------------------------------------------------------------")
|
|
70
74
|
print(f"\n_parse_pdf: file_path={_file_path}")
|
|
71
75
|
with open(_file_path, "rb") as _file:
|
|
72
76
|
sample_pdf = _file.read()
|
|
77
|
+
|
|
73
78
|
filename, xml = get_facturx_xml_from_pdf(sample_pdf, False)
|
|
74
|
-
print(xml)
|
|
79
|
+
print(f"filename: {filename}\n{xml}")
|
|
75
80
|
if not xml or len(xml) == 0:
|
|
76
81
|
raise FileNotFoundError(
|
|
77
82
|
f"Could not extraxt XML from PDF file: {filepath}")
|
|
83
|
+
print("----------------------------------------------------------------------------")
|
|
78
84
|
res = parse_and_map_x_rechnung(xml)
|
|
79
85
|
self.assertIsNotNone(res)
|
|
86
|
+
print("----------------------------------------------------------------------------")
|
|
80
87
|
return res
|
|
81
88
|
|
|
82
89
|
|
{mikrowerk_edi_invoicing-0.6.4.dist-info → mikrowerk_edi_invoicing-0.6.6.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mikrowerk_edi_invoicing
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.6
|
|
4
4
|
Summary: Parser for EDI invoices in CII or UBL format or plain pdf with LLM support
|
|
5
5
|
Author: Mikrowerk a Gammadata Division
|
|
6
6
|
Author-email: info@mikrowerk.com
|
|
@@ -22,7 +22,7 @@ Requires-Dist: factur-x==3.6
|
|
|
22
22
|
Requires-Dist: jsonpickle~=4.0.1
|
|
23
23
|
Requires-Dist: parameterized
|
|
24
24
|
Requires-Dist: schwifty
|
|
25
|
-
Requires-Dist: google
|
|
25
|
+
Requires-Dist: google-genai
|
|
26
26
|
Dynamic: author
|
|
27
27
|
Dynamic: author-email
|
|
28
28
|
Dynamic: classifier
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
edi_invoice_parser/__init__.py,sha256=
|
|
1
|
+
edi_invoice_parser/__init__.py,sha256=jvA8QaZLZlEuNhHA0p58zdtZdkBatdrixYY4vPXfl4k,740
|
|
2
2
|
edi_invoice_parser/cross_industry_invoice_mapper.py,sha256=PCByIKH0srVnXqKR3orcQsrAxcqAtp_ljcmhNIv2FS8,1402
|
|
3
3
|
edi_invoice_parser/cii_dom_parser/__init__.py,sha256=J9O0f-t1570oDgC_zWT6-MpjOYA6o3whazbe9ffQqjE,188
|
|
4
4
|
edi_invoice_parser/cii_dom_parser/dom_elements_helper.py,sha256=2w_6794DFMaBc-uQFzgjt7ciZT4FHia2tfuJsTXNZ3w,3922
|
|
5
5
|
edi_invoice_parser/cii_dom_parser/pdf.py,sha256=1bbXWdqIGmrnYvkS284oc6ZVvH995vd9qB8-xdcDtf0,13270
|
|
6
6
|
edi_invoice_parser/cii_dom_parser/utils.py,sha256=_ZaPPb1YeDWid3GP-9ojYDwm35HaJyXGGT_nIoiGSMw,624
|
|
7
|
-
edi_invoice_parser/cii_dom_parser/xml_cii_dom_parser.py,sha256=
|
|
7
|
+
edi_invoice_parser/cii_dom_parser/xml_cii_dom_parser.py,sha256=_qUPvwGmuRw-dRFmSB_gJQg5rCUrwbTaOBEe98cWLqc,11371
|
|
8
8
|
edi_invoice_parser/cii_dom_parser/xmp_schema.py,sha256=UXQnZT3L2PQMendI_vyjemddhw209gMjH5woIK07TEM,4085
|
|
9
9
|
edi_invoice_parser/cii_dom_parser/models/__init__.py,sha256=LANSc9OLmHBP8iv5RKlvvv8ugBGJjWycantnRi5Lt0I,439
|
|
10
10
|
edi_invoice_parser/cii_dom_parser/models/accounting.py,sha256=_ngHDoBruw6v5QbLeA23QarAQ0fOascCz0ISpnD9aPs,6714
|
|
@@ -25,14 +25,14 @@ edi_invoice_parser/model/trade_document_types.py,sha256=nmNzSG0bK9FCUzF1KmR1SUvg
|
|
|
25
25
|
edi_invoice_parser/model/xml_abstract_x_rechnung_parser.py,sha256=ufkXX4OP0_CjsB9pjF0-h_MJerkOx4JeY54nULi_BUA,691
|
|
26
26
|
edi_invoice_parser/tests/__init__.py,sha256=KhEmBFKreDn5PGQFEnBzTAI7IkxtRj_H0dMxk_tuo54,160
|
|
27
27
|
edi_invoice_parser/tests/test_iban_handling.py,sha256=suRaB9gxbNc2Dc7spjHmQyPBdXva98HF1js85wQWqPM,662
|
|
28
|
-
edi_invoice_parser/tests/test_parse_x_rechnung.py,sha256=
|
|
28
|
+
edi_invoice_parser/tests/test_parse_x_rechnung.py,sha256=Kh7OZFZei87N5S6uKEFwAK3imoVMsJiVBugz2thLV4g,3933
|
|
29
29
|
edi_invoice_parser/ubl_sax_parser/__init__.py,sha256=P3QhOExirTKDRre-ReGBVv_GFZniEj_kOnWtUSNJGq0,91
|
|
30
30
|
edi_invoice_parser/ubl_sax_parser/xml_ubl_sax_parser.py,sha256=eZETsQi0MZ7f0SvyRZBorMUTJkpET9Bi2FDWBFka_qA,16625
|
|
31
31
|
edi_invoice_parser/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
32
|
edi_invoice_parser/util/file_helper.py,sha256=4gdWbv8L9LSMraLKvGI1Z3NMcuGGy7JB1qFvNaW-yo4,767
|
|
33
33
|
edi_invoice_parser/util/timer_helper.py,sha256=X1XSV03iLZ4xfjELj_axlvNxzR2sOrJInXiv9HU2Fyg,284
|
|
34
|
-
mikrowerk_edi_invoicing-0.6.
|
|
35
|
-
mikrowerk_edi_invoicing-0.6.
|
|
36
|
-
mikrowerk_edi_invoicing-0.6.
|
|
37
|
-
mikrowerk_edi_invoicing-0.6.
|
|
38
|
-
mikrowerk_edi_invoicing-0.6.
|
|
34
|
+
mikrowerk_edi_invoicing-0.6.6.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
35
|
+
mikrowerk_edi_invoicing-0.6.6.dist-info/METADATA,sha256=U0MD5izPgIf9rCAxqF0tUkeuib_7OqkWFptwQe3w2Ks,1080
|
|
36
|
+
mikrowerk_edi_invoicing-0.6.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
37
|
+
mikrowerk_edi_invoicing-0.6.6.dist-info/top_level.txt,sha256=OyIJDXDBfR9f0EvTDTmEHdXEFHscjRqX1MxeOeT2VKM,19
|
|
38
|
+
mikrowerk_edi_invoicing-0.6.6.dist-info/RECORD,,
|
|
File without changes
|
{mikrowerk_edi_invoicing-0.6.4.dist-info → mikrowerk_edi_invoicing-0.6.6.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{mikrowerk_edi_invoicing-0.6.4.dist-info → mikrowerk_edi_invoicing-0.6.6.dist-info}/top_level.txt
RENAMED
|
File without changes
|