Skip to content
New issue

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

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

Already on GitHub? Sign in 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.

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

No branches or pull requests

1 participant