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

[INVOICES] Electronic invoicing & semantic standard EN16931. #136

Open
SMEWebify opened this issue Jun 7, 2023 · 2 comments
Open

[INVOICES] Electronic invoicing & semantic standard EN16931. #136

SMEWebify opened this issue Jun 7, 2023 · 2 comments
Assignees
Labels
help wanted Extra attention is needed Improvement New feature or request
Projects

Comments

@SMEWebify
Copy link
Owner

As of July 1, 2024, companies are required to accept invoices in electronic format. And gradually depending on their size until January 2026, they will have to issue their domestic BtoB invoices electronically.

Formats accepted
All electronic invoices, regardless of their syntax, must comply with the EN16931 semantic standard.

Consider invoices in UBL XML, CII XML, EDIFACT INVOICE D168 formats and especially in Factur-X format. Factur-X is a hybrid format that combines PDF/A3 and XML.

@SMEWebify SMEWebify added Improvement New feature or request help wanted Extra attention is needed labels Jun 7, 2023
@SMEWebify SMEWebify added this to To do in Backlog via automation Jun 7, 2023
@SMEWebify
Copy link
Owner Author

@SMEWebify SMEWebify removed this from To do in Backlog Aug 7, 2023
@SMEWebify SMEWebify moved this from To do to In progress in v1.06 - Polygonia egea Sep 4, 2023
@SMEWebify SMEWebify self-assigned this Sep 7, 2023
SMEWebify added a commit that referenced this issue Oct 24, 2023
@SMEWebify
Copy link
Owner Author

           //<ram:ID>471102</ram:ID>
            //<ram:TypeCode>380</ram:TypeCode>
            //<ram:IssueDateTime>
            //<udt:DateTimeString format="102">20180305</udt:DateTimeString>
            //</ram:IssueDateTime>
            ->setDocumentInformation("471102", "380", \DateTime::createFromFormat("Ymd", "20180305"), "EUR")
            //<ram:IncludedNote>
            //<ram:Content>Rechnung gemäß Bestellung vom 01.03.2018.</ram:Content>
            //</ram:IncludedNote>
            ->addDocumentNote('Rechnung gemäß Bestellung vom 01.03.2018.')
            //<ram:IncludedNote>
            //<ram:Content>Lieferant GmbH&#13;
            //Lieferantenstraße 20&#13;
            //80333 München&#13;
            //Deutschland&#13;
            //Geschäftsführer: Hans Muster&#13;
            //Handelsregisternummer: H A 123&#13;
            //&#13;
            //</ram:Content>
            ->addDocumentNote('Lieferant GmbH' . PHP_EOL . 'Lieferantenstraße 20' . PHP_EOL . '80333 München' . PHP_EOL . 'Deutschland' . PHP_EOL . 'Geschäftsführer: Hans Muster' . PHP_EOL . 'Handelsregisternummer: H A 123' . PHP_EOL . PHP_EOL, null, 'REG')
            //<ram:IssueDateTime>
            //<udt:DateTimeString format="102">20180305</udt:DateTimeString>
            //</ram:IssueDateTime>
            ->setDocumentSupplyChainEvent(\DateTime::createFromFormat('Ymd', '20180305'))
            //<ram:IBANID>DE12500105170648489890</ram:IBANID>
            ->addDocumentPaymentMean(ZugferdPaymentMeans::UNTDID_4461_58, null, null, null, null, null, "DE12500105170648489890", null, null, null)
            //<ram:ID>549910</ram:ID>
            //<ram:Name>Lieferant GmbH</ram:Name>
            ->setDocumentSeller("Lieferant GmbH", "549910")
            //<ram:GlobalID schemeID="0088">4000001123452</ram:GlobalID>
            ->addDocumentSellerGlobalId("4000001123452", "0088")
            //<ram:SpecifiedTaxRegistration>
            //<ram:ID schemeID="FC">201/113/40209</ram:ID>
            //</ram:SpecifiedTaxRegistration>
            ->addDocumentSellerTaxRegistration("FC", "201/113/40209")
            //Identifiant à la TVA du vendeur
            //<ram:SpecifiedTaxRegistration>
            //<ram:ID schemeID="VA">DE123456789</ram:ID>
            //</ram:SpecifiedTaxRegistration>
            ->addDocumentSellerTaxRegistration("VA", "DE123456789")
            //<ram:PostalTradeAddress>
            //<ram:PostcodeCode>80333</ram:PostcodeCode>
            //<ram:LineOne>Lieferantenstraße 20</ram:LineOne>
            //<ram:CityName>München</ram:CityName>
            //<ram:CountryID>DE</ram:CountryID>
            //</ram:PostalTradeAddress>
            ->setDocumentSellerAddress("Lieferantenstraße 20", "", "", "80333", "München", "DE")
            //<ram:DefinedTradeContact>
            //<ram:PersonName>Heinz Mükker</ram:PersonName>
            //<ram:DepartmentName>Buchhaltung</ram:DepartmentName>
            //<ram:TelephoneUniversalCommunication>
            //<ram:CompleteNumber>+49-111-2222222</ram:CompleteNumber>
            //</ram:TelephoneUniversalCommunication>
            //<ram:EmailURIUniversalCommunication>
            //<ram:URIID>[email protected]</ram:URIID>
            //</ram:EmailURIUniversalCommunication>
            //</ram:DefinedTradeContact>
            ->setDocumentSellerContact("Heinz Mükker", "Buchhaltung", "+49-111-2222222", "+49-111-3333333","[email protected]")
            //<ram:ID>GE2020211</ram:ID>
            //<ram:Name>Kunden AG Mitte</ram:Name>
            ->setDocumentBuyer("Kunden AG Mitte", "GE2020211")
            //<ram:BuyerReference>34676-342323</ram:BuyerReference>
            ->setDocumentBuyerReference("34676-342323")
            //<ram:PostalTradeAddress>
            //<ram:PostcodeCode>69876</ram:PostcodeCode>
            //<ram:LineOne>Kundenstraße 15</ram:LineOne>
            //<ram:CityName>Frankfurt</ram:CityName>
            //<ram:CountryID>DE</ram:CountryID>
            //</ram:PostalTradeAddress>
            ->setDocumentBuyerAddress("Kundenstraße 15", "", "", "69876", "Frankfurt", "DE")
            //<ram:TypeCode>VAT</ram:TypeCode>
            //<ram:CategoryCode>S</ram:CategoryCode>
            //<ram:RateApplicablePercent>7.00</ram:RateApplicablePercent>
            //<ram:SpecifiedTradeSettlementLineMonetarySummation>
            //<ram:LineTotalAmount>275.00</ram:LineTotalAmount>
            ->addDocumentTax("S", "VAT", 275.0, 19.25, 7.0)
            //<ram:CalculatedAmount>37.02</ram:CalculatedAmount>
            //<ram:TypeCode>VAT</ram:TypeCode>
            //<ram:BasisAmount>198.00</ram:BasisAmount>
            //<ram:CategoryCode>S</ram:CategoryCode>
            //<ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
            ->addDocumentTax("S", "VAT", 198.0, 37.62, 19.0)
            //<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
            //<ram:LineTotalAmount>473.00</ram:LineTotalAmount>
            //<ram:ChargeTotalAmount>0.00</ram:ChargeTotalAmount>
            //<ram:AllowanceTotalAmount>0.00</ram:AllowanceTotalAmount>
            //<ram:TaxBasisTotalAmount>473.00</ram:TaxBasisTotalAmount>
            //<ram:TaxTotalAmount currencyID="EUR">56.87</ram:TaxTotalAmount>
            //<ram:GrandTotalAmount>529.87</ram:GrandTotalAmount>
            //<ram:TotalPrepaidAmount>0.00</ram:TotalPrepaidAmount>
            //<ram:DuePayableAmount>529.87</ram:DuePayableAmount>
            //</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
            ->setDocumentSummation(529.87, 529.87, 473.00, 0.0, 0.0, 473.00, 56.87, null, 0.0)
            //<ram:SpecifiedTradePaymentTerms>
            //<ram:Description>Zahlbar innerhalb 30 Tagen netto bis 04.04.2018, 3% Skonto innerhalb 10 Tagen bis 15.03.2018</ram:Description>
            //</ram:SpecifiedTradePaymentTerms>
            ->addDocumentPaymentTerm("Zahlbar innerhalb 30 Tagen netto bis 04.04.2018, 3% Skonto innerhalb 10 Tagen bis 15.03.2018")


            //<ram:AssociatedDocumentLineDocument>
            //<ram:LineID>1</ram:LineID>
            //</ram:AssociatedDocumentLineDocument>
            ->addNewPosition("1")
            //<ram:SpecifiedTradeProduct>
            //<ram:GlobalID schemeID="0160">4012345001235</ram:GlobalID>
            //<ram:SellerAssignedID>TB100A4</ram:SellerAssignedID>
            //<ram:Name>Trennblätter A4</ram:Name>
            //</ram:SpecifiedTradeProduct>
            ->setDocumentPositionProductDetails("Trennblätter A4", "", "TB100A4", null, "0160", "4012345001235")
            //<ram:GrossPriceProductTradePrice>
            //<ram:ChargeAmount>9.90</ram:ChargeAmount>
            //</ram:GrossPriceProductTradePrice>
            ->setDocumentPositionGrossPrice(9.9000)
            //<ram:NetPriceProductTradePrice>
            //<ram:ChargeAmount>9.90</ram:ChargeAmount>
            //</ram:NetPriceProductTradePrice>
            ->setDocumentPositionNetPrice(9.9000)
            //<ram:BilledQuantity unitCode="H87">50.00</ram:BilledQuantity>
            ->setDocumentPositionQuantity(20, "H87")
            //<ram:ApplicableTradeTax>
            //<ram:TypeCode>VAT</ram:TypeCode>
            //<ram:CategoryCode>S</ram:CategoryCode>
            //<ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
            //</ram:ApplicableTradeTax>
            ->addDocumentPositionTax('S', 'VAT', 19)
            //<ram:LineTotalAmount>198.00</ram:LineTotalAmount>
            ->setDocumentPositionLineSummation(198.0);

@SMEWebify SMEWebify changed the title Electronic invoicing & semantic standard EN16931. [INVOICES] Electronic invoicing & semantic standard EN16931. Nov 9, 2023
@SMEWebify SMEWebify removed this from In progress in v1.06 - Polygonia egea Nov 18, 2023
@SMEWebify SMEWebify added this to To do in v1.07 - Carcharodus baeticus via automation Nov 18, 2023
@SMEWebify SMEWebify added this to To do in v1.09 - Pieris ergane via automation Apr 1, 2024
@SMEWebify SMEWebify removed this from To do in v1.09 - Pieris ergane May 10, 2024
@SMEWebify SMEWebify added this to To do in Backlog via automation May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed Improvement New feature or request
Projects
Backlog
To do
Development

No branches or pull requests

1 participant