Bernd Wurst commited on 2026-07-23 20:48:04
Zeige 1 geänderte Dateien mit 10 Einfügungen und 9 Löschungen.
| ... | ... |
@@ -109,19 +109,20 @@ def InvoiceToXML(invoice): |
| 109 | 109 |
tax_reg.id = ('VA', invoice.buyer_vat_id)
|
| 110 | 110 |
doc.trade.agreement.buyer.tax_registrations.add(tax_reg) |
| 111 | 111 |
if invoice.leitweg_id: |
| 112 |
+ # Wenn Leitweg-ID vorhanden ist, muss die in diese beiden Felder |
|
| 112 | 113 |
doc.trade.agreement.buyer.electronic_address.uri_ID = ('0204', invoice.leitweg_id)
|
| 113 |
- # Bei ZUGFeRD 2.1 darf das Feld nur einmal vorkommen. In XRechnung 3.0 darf es mehrmals drin sein. |
|
| 114 |
- # drafthorse kann aktuell noch kein XRechnung 3.0 erzeugen, daher hier als "elif". |
|
| 115 |
- elif invoice.buyer['email']: |
|
| 114 |
+ doc.trade.agreement.buyer_reference = invoice.leitweg_id |
|
| 115 |
+ if invoice.buyer_reference: |
|
| 116 |
+ # Kunden-Referenznummer UND Leitweg-ID. Referenznummer nach BT-11 auslagern |
|
| 117 |
+ doc.trade.agreement.procuring_project_type.id = invoice.buyer_reference |
|
| 118 |
+ doc.trade.agreement.procuring_project_type.name = invoice.customer['name'] |
|
| 119 |
+ else: |
|
| 120 |
+ # Bei ZUGFeRD 2.1 darf das Feld electronic_address nur einmal vorkommen. In XRechnung 3.0 darf es mehrmals drin sein. |
|
| 121 |
+ # drafthorse kann aktuell noch kein XRechnung 3.0 erzeugen, daher hier im "else". |
|
| 122 |
+ if invoice.buyer['email']: |
|
| 116 | 123 |
doc.trade.agreement.buyer.electronic_address.uri_ID = ('EM', invoice.buyer['email'])
|
| 117 |
- |
|
| 118 | 124 |
if invoice.buyer_reference: |
| 119 | 125 |
doc.trade.agreement.buyer_reference = invoice.buyer_reference |
| 120 |
- elif invoice.leitweg_id: |
|
| 121 |
- # "Leitweg-ID" in XRechnung |
|
| 122 |
- # Wenn wir hier sind, ist die aber bereits in der electronic_address eingetragen, |
|
| 123 |
- # daher hier nur noch wiederholen, wenn wir das Feld nicht für was anderes brauchen (Kunden-Referenz). |
|
| 124 |
- doc.trade.agreement.buyer_reference = invoice.leitweg_id |
|
| 125 | 126 |
if invoice.order_number: |
| 126 | 127 |
doc.trade.agreement.buyer_order.issuer_assigned_id = invoice.order_number |
| 127 | 128 |
if invoice.contract_number: |
| 128 | 129 |