PEPPOL requirements for Events and Memberships

  • MOLEDesign
  • Topic Author
  • Offline
  • New Member
  • New Member
More
1 month 2 weeks ago #175760 by MOLEDesign
Replied by MOLEDesign on topic PEPPOL requirements for Events and Memberships
The XML is standard so 95% of the code is stamdard I would have thought, all you need to do is allow 'end point' addition in the plugin similar to sandbox / live with stripe

Here is an XML

<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">

<!-- Unique invoice ID -->
<cbc:ID>INV-2025-000123</cbc:ID>

<!-- Invoice issue date -->
<cbc:IssueDate>2025-11-16</cbc:IssueDate>

<!-- Type code "380" = commercial invoice -->
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>

<!-- Currency -->
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>

<!-- Seller (Your Organisation) -->
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyName>
<cbc:Name>My Pricing Company</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Main Street 1</cbc:StreetName>
<cbc:CityName>Brussels</cbc:CityName>
<cbc:PostalZone>1000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>BE</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>BE0123456789</cbc:CompanyID> <!-- VAT number -->
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:CompanyID>BE0123456789</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:Party>
</cac:AccountingSupplierParty>

<!-- Buyer -->
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyName>
<cbc:Name>Registering Corporation</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Customer Street 99</cbc:StreetName>
<cbc:CityName>Antwerp</cbc:CityName>
<cbc:PostalZone>2000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>BE</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>BE9876543210</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
</cac:Party>
</cac:AccountingCustomerParty>

<!-- Invoice Line(s) -->
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>

<cac:Item>
<cbc:Description>Test Forum 2025 – Registration</cbc:Description>
</cac:Item>

<cac:Price>
<cbc:PriceAmount currencyID="EUR">1000.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>

<!-- Tax summary -->
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">210.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">1000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">210.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>21</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>

<!-- Totals -->
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">1000.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">1210.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">1210.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

</Invoice>

Please Log in or Create an account to join the conversation.

More
1 month 2 weeks ago #175761 by Tuan Pham Ngoc
Replied by Tuan Pham Ngoc on topic PEPPOL requirements for Events and Memberships
Thanks @MOLEDesign . This XML is simpler than what I saw before. But even if we can generate that xml invoice like that, the next question is where should that XML is sent to? And how to send it?

Tuan

Please Log in or Create an account to join the conversation.

  • MOLEDesign
  • Topic Author
  • Offline
  • New Member
  • New Member
More
1 month 2 weeks ago #175762 by MOLEDesign
Replied by MOLEDesign on topic PEPPOL requirements for Events and Memberships
I was playing with PEPPOL before i started this thread - but i think you just send the file to BILLET as FILE, dont send an XML string for Billit

I have uploaded my code to GIT with a readme - may get you started if you havnt already

You will have to work with one of the others in this thread to test with BILLIT itself, my client owns that system, not myself

github.com/MOLEDesign/PEPPOL-and-BILLET/tree/main

Honestly, the XML is standard, all that changes is the end point and delivery (XML vs XML File)

Please Log in or Create an account to join the conversation.

  • MOLEDesign
  • Topic Author
  • Offline
  • New Member
  • New Member
More
1 month 2 weeks ago - 1 month 2 weeks ago #175763 by MOLEDesign
Replied by MOLEDesign on topic PEPPOL requirements for Events and Memberships
The PEPPOL process

- User registers for an event / membership
- Stripe (or whatever) processes the payment
- Stripe Payment confirmed
- Joomla Create normal PDF invoice (for user)
- Joomla Generate PEPPOL XML version of the invoice
- Joomla Send that XML to a PEPPOL Access Point via API
- Access Point → Delivers to customer’s PEPPOL endpoint (nothing to do with us)

Here is where it gets messed up (as I hate VAT) - Customers do NOT need to manually give you a PEPPOL ID For most cases, we only need their VAT number and their registered company details. However i can tell youi now this is going to be painful BUT we can put the ownership on the customer to make sure info is correct. I will be damned if i try to integrate VIES again
Last edit: 1 month 2 weeks ago by MOLEDesign. Reason: Added info

Please Log in or Create an account to join the conversation.

More
1 month 2 weeks ago #175764 by Tuan Pham Ngoc
Replied by Tuan Pham Ngoc on topic PEPPOL requirements for Events and Memberships
For billit, they provide API for us to pass data to them to generate invoice. We do not generate xml invoice ourself. I do not know about other providers. Maybe for the time being, we can try to have a plugin integrate with billit first, then we will see how it goes

Regards,

Tuan

Please Log in or Create an account to join the conversation.

More
1 month 1 week ago #175830 by Tuan Pham Ngoc
Replied by Tuan Pham Ngoc on topic PEPPOL requirements for Events and Memberships
OK. So I just finished developing the plugin which is integrated with Billit www.billit.eu/nl-be/ to generate and sent Peppol invoices. If you need it, go to joomdonation.com/joomla-extensions/event...ts-registration.html , look at Paid add-ons tab, find and purchase EB Billit plugin to have this feature. I will make it available for Membership Pro and other extensions, too. I will also try to look at and implement support for other providers if requested

Regards,

Tuan
The following user(s) said Thank You: nieta

Please Log in or Create an account to join the conversation.

More
1 month 1 week ago #175832 by Tuan Pham Ngoc
Replied by Tuan Pham Ngoc on topic PEPPOL requirements for Events and Memberships
I wrote a quick instructions for the plugin here  docs.joomdonation.com/eventsbooking/paid...vents-booking-billit . If you use it and have any questions, feel free to submit a support ticket and we will be happy to assist

Regards,

Tuan

Please Log in or Create an account to join the conversation.

More
1 month 1 week ago #175838 by webatwork
Replied by webatwork on topic PEPPOL requirements for Events and Memberships
Hi Tuan, I bought the plugin but when I download it, I receive the einvoice plugin, not the billit plugin. can you check please?

Please Log in or Create an account to join the conversation.

More
1 month 1 week ago #175841 by Tuan Pham Ngoc
Replied by Tuan Pham Ngoc on topic PEPPOL requirements for Events and Memberships
Sorry my bad. Please access to My Downloads menu item to download the correct payment plugin. Copy paste error

Please setup and use it and let me know the feedback

Regards,

Tuan

Please Log in or Create an account to join the conversation.

More
1 month 1 week ago #175850 by webatwork
Replied by webatwork on topic PEPPOL requirements for Events and Memberships
testing it now but so far not working. No invoice is delivered to the customer, no outgoiing invoice to be seen in my own Billit dashboard. I contacted Billit to check if my account is sepup oke. Waiting now ...

Please Log in or Create an account to join the conversation.