python-drafthorse
python-drafthorse copied to clipboard
Pure-python ZUGFeRD implementation
Most of the test files in tests/samples are ZUGFeRD 2.1.1 (July 1, 2020) using still the outdated namespace ``` xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:10" ``` for qualified data types instead of ``` xmlns:qdt="urn:un:unece:uncefact:data:standard:QualifiedDataType:10" ```...
Hi, I noticed that `MonetarySummation.tax_total` is parsed incorrectly due to `MonetarySummation.tax_total_other_currency`. They share the tag `TaxTotalAmount` and therefore the amount string gets split by https://github.com/pretix/python-drafthorse/blob/5ed87a6f99919156609408b2ecf619f2c82e9b31/drafthorse/models/container.py#L60 For instance, `0.00` will end...
Hi! I'm currently getting acquainted with the handling of profiles in python-drafthorse and there seems to be a mix of Zugferd1 profiles (BASIC, COMFORT, EXTENDED) and Zugferd2 profiles (MINIMUM, BASIC...
This PR adds type hints, so it's easier to access all the different attributes in an IDE.
Thank you so much for maintaining this for all of us out here :) I tried to serialize an invoice including values in - doc.header.notes - doc.header.effective_period.complete this didn't work...
Hi, I am struggling for quiet some time to use the information field of the class PaymentMeans. I know it's a MultiStringField, but not sure how to use it. You...
Hi, first of all a big *thanks* for that great package 👍 One of my customer has multiple bank accounts where his customer can send the money to. As of...
Hey there, first of all, thanks for your work on this project :) I think the unit code for "pieces" should be "H87" instead of "C62", which is the unit...
Hello, thanks for creating this package to help us with generating Zugferd Invoices. I have an issue when running the sample from the README. ``` import os from datetime import...
Changed `TradeSettlement#payment_means` to a `MultiField` thus now multiple banks can be added. Usage example: ```python for bank in invoice_data.Seller.Banks: payment_means = PaymentMeans() payment_means.type_code = "ZZZ" if bank.IBAN: payment_means.payee_account.iban = bank.IBAN...