Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Errors in PDF Sample files #1

Open
jstaerk opened this issue Jun 1, 2017 · 2 comments
Open

Errors in PDF Sample files #1

jstaerk opened this issue Jun 1, 2017 · 2 comments

Comments

@jstaerk
Copy link
Contributor

jstaerk commented Jun 1, 2017

Jörn M. reported and I reproduced that some of the pdf sample files are reported invalid on the XML level by the validator on checker.ferdmc.com, namely

  • ZUGFeRD_1p0_EXTENDED_Warenrechnung.pdf
  • ZUGFeRD_1p0_EXTENDED_Kostenrechnung.pdf
  • ZUGFeRD_1p0_EXTENDED_Rechnungskorrektur.pdf
  • ZUGFeRD_1p0_COMFORT_Rechnungskorrektur.pdf
  • ZUGFeRD_1p0_COMFORT_Rabatte.pdf
  • ZUGFeRD_1p0_COMFORT_Kraftfahrversicherung_Bruttopreise.pdf und
  • ZUGFeRD_1p0_BASIC_Rechnungskorrektur.pdf

Next steps:
It would be great if someone could help by attaching the correct ZUGFeRD-invoice.xmls to this issue

@jstaerk
Copy link
Contributor Author

jstaerk commented Aug 12, 2017

  • fehler in der Warenrechnung:

    • Zeile 321 Warnung BasisQuantity
      3014 Warnung. Der angegebenen Wert (1)
      entspricht nicht der ZUGFeRD Vorgabe >^
      -?\d+.\d{4}$< (z.B. 2 Nachkommastellen
      bei Beträgen und 4 bei Preisen).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      IncludedSupplyChainTradeLineItem/
      ram:
      SpecifiedSupplyChainTradeAgreement/r
      am:GrossPriceProductTradePrice/ram:
      AppliedTradeAllowanceCharge/ram:
      BasisQuantity
    • Zeile 104 Fehler PersonName
      3008 Es fehlt das Pflichtfeld >PersonName
      oder DepartmentName<
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      ApplicableSupplyChainTradeAgreement/
      ram:SellerTradeParty/ram:
      DefinedTradeContact
    • Zeile 104 Fehler DepartmentName
      3008 Es fehlt das Pflichtfeld >PersonName
      oder DepartmentName, DepartmentName
      oder PersonName<
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      ApplicableSupplyChainTradeAgreement/
      ram:SellerTradeParty/ram:
      DefinedTradeContact
  • fehler in der kostenrechnung:

    • Zeile 100 Fehler PersonName
      3008 Es fehlt das Pflichtfeld >PersonName
      oder DepartmentName<
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      ApplicableSupplyChainTradeAgreement/
      ram:SellerTradeParty/ram:
      DefinedTradeContact
    • Zeile 100 Fehler DepartmentName
      3008 Es fehlt das Pflichtfeld >PersonName
      oder DepartmentName, DepartmentName
      oder PersonName<
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      ApplicableSupplyChainTradeAgreement/
      ram:SellerTradeParty/ram:
      DefinedTradeContact
    • Zeile 271 Fehler
      3007 Geschäftslogik: Der Beginn der
      Rechnungsperiode auf Positionsebene (
      01.09.2013) darf nicht vor dem Beginn der
      Rechnungsperiode auf Belegebene sein (
      02.07.2020).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      IncludedSupplyChainTradeLineItem/
      ram:
      SpecifiedSupplyChainTradeSettlement/ra
      m:BillingSpecifiedPeriod/ram:
      StartDateTime/udt:DateTimeString
    • Zeile 313 Fehler
      3007 Geschäftslogik: Der Beginn der
      Rechnungsperiode auf Positionsebene (
      12.08.2017) darf nicht vor dem Beginn der
      Rechnungsperiode auf Belegebene sein (
      02.07.2020).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      IncludedSupplyChainTradeLineItem/
      ram:
      SpecifiedSupplyChainTradeSettlement/ra
      m:BillingSpecifiedPeriod/ram:
      StartDateTime/udt:DateTimeString
    • 316 Fehler
      3007 Geschäftslogik: Das Ende der
      Rechnungsperiode auf Positionsebene (
      12.08.2017) darf nicht nach dem Ende der
      Rechnungsperiode auf Belegebene sein (
      30.09.2013).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      IncludedSupplyChainTradeLineItem/
      ram:
      SpecifiedSupplyChainTradeSettlement/ra
      m:BillingSpecifiedPeriod/ram:
      EndDateTime/udt:DateTimeString
    • 357 Fehler
      3007 Geschäftslogik: Der Beginn der
      Rechnungsperiode auf Positionsebene (
      12.08.2017) darf nicht vor dem Beginn der
      Rechnungsperiode auf Belegebene sein (
      02.07.2020).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      IncludedSupplyChainTradeLineItem/
      ram:
      SpecifiedSupplyChainTradeSettlement/ra
      m:BillingSpecifiedPeriod/ram:
      StartDateTime/udt:DateTimeString
    • 360 Fehler
      3007 Geschäftslogik: Das Ende der
      Rechnungsperiode auf Positionsebene (
      12.08.2017) darf nicht nach dem Ende der
      Rechnungsperiode auf Belegebene sein (
      30.09.2013).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      IncludedSupplyChainTradeLineItem/
      ram:
      SpecifiedSupplyChainTradeSettlement/ra
      m:BillingSpecifiedPeriod/ram:
      EndDateTime/udt:DateTimeString
    • 449 Fehler
      3007 Geschäftslogik: Der Beginn der
      Rechnungsperiode auf Positionsebene (
      15.09.2013) darf nicht vor dem Beginn der
      Rechnungsperiode auf Belegebene sein (
      02.07.2020).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      IncludedSupplyChainTradeLineItem/
      ram:
      SpecifiedSupplyChainTradeSettlement/ra
      m:BillingSpecifiedPeriod/ram:
      StartDateTime/udt:DateTimeString
      Fehler
      3005 Rechenfehler: ApplicableTradeTax ->
      CalculatedAmount = Sum (Line Item
      CalculatedAmount)200,65 != 208,84) bei [
      Type=VAT, Category=S, Percent=19.0]
      Fehler
      3005
  • fehler in der extended-Rechnungskorrektur:

    • 212 Warnung BasisQuantity
      3014 Warnung. Der angegebenen Wert (1)
      entspricht nicht der ZUGFeRD Vorgabe >^
      -?\d+.\d{4}$< (z.B. 2 Nachkommastellen
      bei Beträgen und 4 bei Preisen).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      ApplicableSupplyChainTradeSettlement/r
      am:SpecifiedTradeAllowanceCharge/
      ram:BasisQuantity
    • 224 Warnung BasisQuantity
      3014 Warnung. Der angegebenen Wert (1)
      entspricht nicht der ZUGFeRD Vorgabe >^
      -?\d+.\d{4}$< (z.B. 2 Nachkommastellen
      bei Beträgen und 4 bei Preisen).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      ApplicableSupplyChainTradeSettlement/r
      am:SpecifiedTradeAllowanceCharge/
      ram:BasisQuantity
    • 297 Warnung BasisQuantity
      3014 Warnung. Der angegebenen Wert (1)
      entspricht nicht der ZUGFeRD Vorgabe >^
      -?\d+.\d{4}$< (z.B. 2 Nachkommastellen
      bei Beträgen und 4 bei Preisen).
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      IncludedSupplyChainTradeLineItem/
      ram:
      SpecifiedSupplyChainTradeAgreement/r
      am:GrossPriceProductTradePrice/ram:
      AppliedTradeAllowanceCharge/ram:
      BasisQuantity
    • Zeile 95 Fehler PersonName
      3008 Es fehlt das Pflichtfeld >PersonName
      oder DepartmentName<
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      ApplicableSupplyChainTradeAgreement/
      ram:SellerTradeParty/ram:
      DefinedTradeContact
    • 95 Fehler DepartmentName
      3008 Es fehlt das Pflichtfeld >PersonName
      oder DepartmentName, DepartmentName
      oder PersonName<
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      ApplicableSupplyChainTradeAgreement/
      ram:SellerTradeParty/ram:
      DefinedTradeContact
      Fehler
    • 3005 Rechenfehler: ApplicableTradeTax ->
      CalculatedAmount = Sum (Line Item
      CalculatedAmount)-0,92 != -0,98) bei [
      Type=VAT, Category=S, Percent=19.0]
      Fehler
    • 3005 Rechenfehler: ApplicableTradeTax ->
      BasisAmount = Sum (Line Item
      BasisAmount) -4,85 != -5,15) bei [Type=
      VAT, Category=S, Percent=19.0
  • Fehler in der Comfort-Rechnungskorrektur

    • 3005 Rechenfehler: ApplicableTradeTax ->
      CalculatedAmount = Sum (Line Item
      CalculatedAmount)-0,92 != -0,98) bei [
      Type=VAT, Category=S, Percent=19.0]
      Fehler
    • 3005 Rechenfehler: ApplicableTradeTax ->
      BasisAmount = Sum (Line Item
      BasisAmount) -4,85 != -5,15) bei [Type=
      VAT, Category=S, Percent=19.0]
  • comfort-rabatte

    • 377 Fehler
      3005 Rechenfehler: MonetarySummation ->
      LineTotalAmount = NetAmount *
      BilledQuantity (2,77 * 20 = 55,4 != 55,46)
      /rsm:CrossIndustryDocument/rsm:
      SpecifiedSupplyChainTradeTransaction/r
      am:
      IncludedSupplyChainTradeLineItem
      Fehler
    • 3005 Rechenfehler: MonetarySummation ->
      LineTotalAmount = NetAmount *
      BilledQuantity (2,77 * 20 = 55,4 != 55,46)
  • ZUGFeRD_1p0_COMFORT_Kraftfahrversicherung_Bruttopreise.pdf

    • Fehler
      3005 Rechenfehler: ApplicableTradeTax ->
      BasisAmount = Sum (Line Item
      BasisAmount) 184,87 != 184,88) bei [Type
      =ZF_INSURANCE_TAX, Category=S,
      Percent=19.0]
  • Basic-Rechnungskorrektur

    • 3005 Rechenfehler: MonetarySummation ->
      AllowanceTotalAmount = Sum (
      Allowances of document level) -0,23 != 0 )

@jstaerk
Copy link
Contributor Author

jstaerk commented Apr 6, 2018

After having a manual look these files are OK just the calculation of the sum in the validator does not take reductions into account. I am not sure but I suspect the Schematron does not throw these errors.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant