Seitenhistorie
...
- Lesen einer ZUGFeRD-XML-Datei in ein internes CrossIndustryDocument (in Arbeit)
- Schreiben einer ZUGFeRD-XML-Datei aus einem internen CrossIndustryDocument (realisiert)
- Setzen von Werten des internen CrossIndustryDocument über Kommandosprache (realisiert)
- Lesen von Werten vom internen CrossIndustryDocument über Kommandosprache (in Arbeit)
- Validieren des internen CrossIndustryDocument (realisiert)
...
Anker | ||||
---|---|---|---|---|
|
Die Element-Namen der ZUGFeRD-XML-Datei werden nicht in dieser Dokumentation beschrieben, da es davon Hunderte gibt. Für diesen Zweck gibt es die „Technische Dokumentation“ die als Arbeitsmittel unentbehrlich ist. In der vorliegenden Implementierung wird ein Element-Name über einen Path beschrieben, der den genauen Ort des Elements beschreibt. Dabei werden die Element-namen ohne NameSpace-Angaben durch einen Punkt aneinander gereiht.
...
Objekt | Stellungsparameter | Unterobjekt |
---|---|---|
GuidelineSpecifiedDocumentContextParameter | 1 | ID |
BusinessProcessSpecifiedDocumentContextParameter | 1 | ID |
SpecifiedExchangedDocumentContext | 1 | GuidelineSpecifiedDocumentContextParameter.ID |
IncludedNote | 1 2 3 | SubjectCode ContentCode Content[0] |
EffectiveSpecifiedPeriod | 1 | CompleteDateTime |
HeaderExchangedDocument | 1 2 3 4 5 n | ID Name TypeCode IssueDateTime CopyIndicator LanguageID[N] |
SpecifiedTaxRegistration | 1 2 | ID ID.setSchemeID |
PostalTradeAddress | Bei einem Parameter: 1 Bei mehr als einem Parameter: 1 2 3 4 5 |
Normale Adresse mit mehreren Zeilen (komplette Adresse) LineOne LineTwo PostcodeCode CityName CountryID |
DefinedTradeContact | 1 2 3 4 5 | PersonName DepartmentName TelephoneUniversalCommunication.CompleteNumber FaxUniversalCommunication.CompleteNumber EmailURIUniversalCommunication.URIID |
...
TelephoneUniversalCommunication | 1 | CompleteNumber |
...
FaxUniversalCommunication | 1 | CompleteNumber |
...
EmailURIUniversalCommunication | 1 | URIID |
...
TradeParty | 1 2 | Name |
...
ID |
...
ApplicableTradeDeliveryTerms | 1 | DeliveryTypeCode |
ApplicableSupplyChainTradeAgreement | 1 | BuyerReference |
...
ActualDeliverySupplyChainEvent | 1 | OccurrenceDateTime |
...
SpecifiedLogisticsTransportMovement | 1 2 | ModeCode |
...
ID |
...
Indicator | 1 | YES|NO |
DateTime | 1 | German or ISO-Date |
...
DateMandatoryDateTime | 1 | German or ISO-Date |
schemeIDType |
...
Bei einem Parameter: 1 |
...
Bei mehr als einem Parameter: 1 |
...
2 |
ID[,schemeID] ID |
...
schemeID |
schemeAgencyID |
...
Bei einem Parameter: 1 |
...
|
...
Bei mehr als einem Parameter: 1 |
...
2 |
D[,schemeAgencyID] |
...
ID schemeAgencyID |
QuantityType |
...
Bei einem Parameter: 1 |
...
|
...
Bei mehr als einem Parameter: 1 |
...
2 |
...
SignValueUnit SignValue Unit | |
MeasureType |
...
Bei einem Parameter: 1 |
...
|
...
Bei mehr als einem Parameter: 1 |
...
2 |
...
SignValueUnit SignValue Unit | |
ClassCode |
...
Bei einem Parameter: 1
Bei zwei Parametern: 1 2
Bei mehr als zwei Parametern: 1 2 3 |
Value[,listID[,listVersionID]] |
bei zwei Parameter
...
Value listID Value |
...
listID |
...
listVersionID |
ApplicableTradeTax |
...
1 |
...
2 |
...
3 |
...
ApplicableTradeTax
1 CalculatedAmount
2 TypeCode
3 BasisAmount
4 ApplicablePercent
5 ExemptionReason
6 LineTotalBasisAmount
7 AllowanceChargeBasisAmount
8 CategoryCode
TradeTax
1 TypeCode
2 CategoryCode
3 ApplicablePercent
BillingSpecifiedPeriod
1 StartDateTime
2 EndDateTime
PayeeSpecifiedCreditorFinancialInstitution
1 BICID
2 GermanBankleitzahlID
3 Name
PayeePartyCreditorFinancialAccount
1 IBANID
2 AccountName
3 ProprietaryID
PayerSpecifiedDebtorFinancialInstitution
1 BICID
2 GermanBankleitzahlID
3 Name
PayerPartyDebtorFinancialAccount
1 IBANID
2 ProprietaryID
SpecifiedTradeSettlementPaymentMeans
1 TypeCode
2 ID
n Information[N]
SpecifiedTradeSettlementMonetarySummation
1 LineTotalAmount
2 ChargeTotalAmount
3 AllowanceTotalAmount
4 TaxBasisTotalAmount
5 TaxTotalAmount
6 GrandTotalAmount
7 TotalPrepaidAmount
8 DuePayableAmount
TradeAllowanceCharge
1 ChargeIndicator
2 SequenceNumeric
3 CalculationPercent
4 BasisAmount
5 BasisQuantity
6 ActualAmount
7 ReasonCode
8 Reason
SpecifiedLogisticsServiceCharge
1 AppliedAmount
n Description[N]
ReceivableSpecifiedTradeAccountingAccount
1 ID
ApplicableSupplyChainTradeSettlement
1 PaymentReference
2 InvoiceCurrencyCode
ApplicableTradePaymentPenaltyTerms
1 BasisDateTime
2 BasisPeriodMeasure
3 BasisAmount
4 CalculationPercent
5 ActualPenaltyAmount
ApplicableTradePaymentDiscountTerms
1 BasisDateTime
2 BasisPeriodMeasure
3 BasisAmount
4 CalculationPercent
5 ActualDiscountAmount
SpecifiedTradePaymentTerms
1 DueDateDateTime
2 PartialPaymentAmountSet[0]
n Description[N]
AssociatedDocumentLineDocument
1 LineID
ReferencedDocument
1 IssueDateTime
2 LineID
3 ID
4 ReferenceTypeCode
GrossPriceProductTradePrice
1 ChargeAmount
2 BasisQuantity
NetPriceProductTradePrice
1 ChargeAmount
2 BasisQuantity
SpecifiedSupplyChainTradeDelivery
1 BilledQuantity
2 ChargeFreeQuantity
3 PackageQuantity
SpecifiedTradeAccountingAccount
1 ID
ApplicableProductCharacteristic
1 TypeCode
2 ValueMeasure
3 Value
n Description[N]
DesignatedProductClassification
1 ClassCode
2 ClassName[0]
IncludedReferencedProduct
1 SellerAssignedID
2 BuyerAssignedID
Country
1 ID
SpecifiedTradeProduct
1 GlobalID
2 SellerAssignedID
3 BuyerAssignedID
4 Name
5 Description
...
4 5 6 7 8 | CalculatedAmount TypeCode BasisAmount ApplicablePercent ExemptionReason LineTotalBasisAmount AllowanceChargeBasisAmount CategoryCode | |
TradeTax | 1 2 3 | TypeCode CategoryCode ApplicablePercent |
BillingSpecifiedPeriod | 1 2 | StartDateTime EndDateTime |
PayeeSpecifiedCreditorFinancialInstitution | 1 2 3 | BICID GermanBankleitzahlID Name |
PayeePartyCreditorFinancialAccount | 1 2 3 | IBANID AccountName ProprietaryID |
PayerSpecifiedDebtorFinancialInstitution | 1 2 3 | BICID GermanBankleitzahlID Name |
PayerPartyDebtorFinancialAccount | 1 2 | IBANID ProprietaryID |
SpecifiedTradeSettlementPaymentMeans | 1 2 n | TypeCode ID Information[N] |
SpecifiedTradeSettlementMonetarySummation | 1 2 3 4 5 6 7 8 | LineTotalAmount ChargeTotalAmount AllowanceTotalAmount TaxBasisTotalAmount TaxTotalAmount GrandTotalAmount TotalPrepaidAmount DuePayableAmount |
TradeAllowanceCharge | 1 2 3 4 5 6 7 8 | ChargeIndicator SequenceNumeric CalculationPercent BasisAmount BasisQuantity ActualAmount ReasonCode Reason |
SpecifiedLogisticsServiceCharge | 1 n | AppliedAmount Description[N] |
ReceivableSpecifiedTradeAccountingAccount | 1 | ID |
ApplicableSupplyChainTradeSettlement | 1 2 | PaymentReference InvoiceCurrencyCode |
ApplicableTradePaymentPenaltyTerms | 1 2 3 4 5 | BasisDateTime BasisPeriodMeasure BasisAmount CalculationPercent ActualPenaltyAmount |
ApplicableTradePaymentDiscountTerms | 1 2 3 4 5 | BasisDateTime BasisPeriodMeasure BasisAmount CalculationPercent ActualDiscountAmount |
SpecifiedTradePaymentTerms | 1 2 n | DueDateDateTime artialPaymentAmountSet[0] Description[N] |
AssociatedDocumentLineDocument | 1 | |
ReferencedDocument | 1 2 3 4 | IssueDateTime LineID ID ReferenceTypeCode |
GrossPriceProductTradePrice | 1 2 | ChargeAmount BasisQuantity |
NetPriceProductTradePrice | 1 2 | ChargeAmount BasisQuantity |
SpecifiedSupplyChainTradeDelivery | 1 2 3 | BilledQuantity ChargeFreeQuantity PackageQuantity |
SpecifiedTradeAccountingAccount | 1 | ID |
ApplicableProductCharacteristic | 1 2 3 n | TypeCode ValueMeasure Value Description[N] |
DesignatedProductClassification | 1 2 | ClassCode ClassName[0] |
IncludedReferencedProduct | 1 2 | SellerAssignedID BuyerAssignedID |
Country | 1 | ID |
SpecifiedTradeProduct | 1 2 3 4 5 | GlobalID SellerAssignedID BuyerAssignedID Name Description |
...
Setzen der Locale-Angaben für ZUGFeRD-XML
...
Da die profiforms-Produkte bereits über Lokalisierungs-Funktionen verfügen, ist es lediglich erforderlich das entsprechende Locale per Befehl zu setzen.
SetLocale(locale)
Bsp:
SetLocal("de_DE")
Zahlen und Einheiten werden auf deutsche Sprache und Deutschland umgestellt.
...
Dabei sind folgende Status-Werte möglich:
REQUIRED bzw. R
ADVISED bzw. A
OPTIONAL bzw. O
DEPENDING bzw. D (noch nicht implementiert)
Das Ergebnis der Valisierung ist entweder ein Wert 0 oder 1 dafür, ob die Validierung erfolgreich war oder ein Validierungsprotokoll, dass nur einen Inhalt hat, wenn die Validierung nicht erfolgreich war.
...
Es wird dringend empfohlen jedes interne CrossIndustryDocument vor dem Wandeln in einen XML-String bzw. eine XML-Datei es zu validieren. Das verhindert die Weitergabe ungültiger ZUGFeRD-XML-Dateien und den daraus resultieren Stress mit den Konsumenten dieser ungültigen ZUGFeRD-XML-Dateien. Um die Validierung beim Export zu erleichtern, ist es möglich, im Schreibebefehl die Validierung mit durchzuführen. Gibt es Fehler beim Validieren, so wird die ZUGFeRD-XML-Dateie bzw. der ZUGFeRD-XML-String nicht erzeugt.
...
title | Weitere Dokumentationen |
---|
...