UBL 2.1 to SKEF
Learn how to transform your Universal Business Language invoices (UBL 2.1) into Polish electronic invoice format (SKEF) for business transactions in Poland.
Understanding UBL 2.1 Format
UBL (Universal Business Language) is an international XML standard for electronic business documents. It's widely used in cross-border transactions and is the foundation for many e-invoicing systems, including the Peppol network.
Key characteristics of UBL 2.1:
- International ISO standard (ISO/IEC 19845)
- Flexible structure supporting various document types
- Widely adopted in global e-invoicing
- Compatible with Peppol and other networks
- Supports complex business rules and validations
- Extensible for custom requirements
UBL 2.1 Structure Example
UBL uses a different XML structure. Below is an example of how a supplier is defined in UBL format:
<cac:AccountingSupplierParty>
<cbc:CustomerAssignedAccountID>CUST123</cbc:CustomerAssignedAccountID>
<cac:Party>
<cac:PartyName>
<cbc:Name>Global Company Ltd</cbc:Name>
</cac:PartyName>
<cac:PartyLegalEntity>
<cbc:CompanyID schemeID="0002">12345678900012</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:PostalAddress>
<cbc:StreetName>123 Business Street</cbc:StreetName>
<cbc:CityName>New York</cbc:CityName>
<cbc:PostalZone>10001</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>US</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID>US123456789</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
</cac:Party>
</cac:AccountingSupplierParty>Understanding SKEF Format
SKEF (Strukturalizowany Korpus E-faktury) is the Polish electronic invoice format mandated by the Polish Ministry of Finance. It's designed to comply with European standards while meeting specific Polish business requirements.
Key characteristics of SKEF:
- Polish national electronic invoice format
- Compliant with European standard EN 16931
- Specific Polish tax fields and requirements
- Mandatory for B2B transactions in Poland
- Supports Polish VAT system and fiscal codes
- Designed for Polish business practices
SKEF Structure Example
SKEF uses a specific XML schema. The same supplier information in SKEF format:
<?xml version="1.0" encoding="UTF-8"?>
<Faktura xmlns="http://crd.gov.pl/wzor/2023/06/29/kd/">
<Naglowek>
<KodFormularza>FV</KodFormularza>
<WariantFormularza>1</WariantFormularza>
<DataWytworzenia>2024-01-15</DataWytworzenia>
</Naglowek>
<P1>
<NIP_Dostawcy>US123456789</NIP_Dostawcy>
<Nazwa_Dostawcy>Global Company Ltd</Nazwa_Dostawcy>
<Adres_Dostawcy>
<Ulica>123 Business Street</Ulica>
<Miejscowosc>New York</Miejscowosc>
<KodPocztowy>10001</KodPocztowy>
<Kraj>US</Kraj>
</Adres_Dostawcy>
</P1>
<P2>
<NIP_Nabywcy>PL987654321</NIP_Nabywcy>
<Nazwa_Nabywcy>Polish Customer Sp. z o.o.</Nazwa_Nabywcy>
<Adres_Nabywcy>
<Ulica>456 Customer Avenue</Ulica>
<Miejscowosc>Warszawa</Miejscowosc>
<KodPocztowy>00-001</KodPocztowy>
<Kraj>PL</Kraj>
</Adres_Nabywcy>
</P2>
<P3>
<Numer>2024-0001</Numer>
<DataWystawienia>2024-01-15</DataWystawienia>
<DataSprzedazy>2024-01-15</DataSprzedazy>
<MiejsceWystawienia>New York</MiejsceWystawienia>
<SposobZaplaty>Przelew</SposobZaplaty>
<TerminZaplaty>2024-02-15</TerminZaplaty>
<Waluta>USD</Waluta>
</P3>
</Faktura>Why Convert UBL 2.1 to SKEF?
Converting between these formats is essential for:
- Polish market: Selling to Polish customers who require SKEF format
- Compliance requirements: Meeting Polish e-invoicing regulations
- Business expansion: Expanding operations to Poland
- System integration: Working with Polish business systems
- European trade: Supporting cross-border transactions with Poland
Conversion Process
Converting your UBL 2.1 to SKEF involves these key steps:
Step 1: Upload Your Invoice
Simply upload your UBL 2.1 XML file. The system reads all the structured international invoice data.
Step 2: Format Transformation
Our converter transforms international UBL to Polish SKEF standard:
- Maps UBL element names to SKEF standard elements
- Converts international tax categories to Polish tax codes
- Transforms global address formats to Polish standards
- Adjusts date and number formats for Polish use
- Preserves all invoice data and calculations
Step 3: Polish Compliance
The converted SKEF file meets Polish requirements:
- Follows Polish Ministry of Finance specifications
- Supports Polish VAT system and fiscal codes
- Includes proper currency and country codes
- Validates against SKEF schema requirements
- Compatible with Polish e-invoicing systems
Step 4: Quality Validation
Before generating the final file, the system performs thorough checks:
- Validates XML structure against SKEF schema
- Ensures all required fields are present
- Checks business rules and calculations
- Verifies Polish formatting compliance
- Tests compatibility with receiving systems
Step 5: Download Ready-to-Use File
You receive a properly formatted SKEF file ready for Polish business transactions and system integration.
Common Conversion Issues
Be aware of these challenges when converting UBL 2.1 to SKEF:
1. Tax System Differences
International and Polish tax systems have different requirements:
| Aspect | UBL 2.1 (International) | SKEF (Poland) |
|---|---|---|
| VAT Rates | International rates | Polish rates (23%, 8%, 5%, 0%) |
| Tax Codes | International categories (S, Z, E, AE) | Polish categories (1, 2, 3, 4, 5, 6, 7) |
| Currency | Various currencies | PLN mandatory |
| Decimal Places | 2 decimal places | 2 decimal places |
2. Field Mapping Challenges
Converting between different XML structures requires careful mapping:
| Field | UBL 2.1 | SKEF |
|---|---|---|
| Invoice Number | cbc:ID | P_1 |
| Invoice Date | cbc:IssueDate | DataWystawienia |
| Customer VAT | cbc:EndpointID/PartyIdentification | NIP_Nabywcy |
| Supplier VAT | cbc:EndpointID/PartyIdentification | NIP_Dostawcy |
| Line Items | cac:InvoiceLine | Towar |
| Payment Terms | cbc:PaymentTerms | WarunkiPlatnosci |
3. Language and Cultural Considerations
Polish business requirements include specific language and cultural elements:
- Polish language requirements for invoice fields
- Specific Polish date formats (DD-MM-YYYY)
- Polish legal notices and terms
- Currency formatting with PLN symbol
- Address formatting with Polish postal codes
- Special Polish character support
Best Practices for Conversion
Follow these guidelines for successful conversion:
1. File Preparation
- Validate UBL 2.1 file before conversion
- Check all international tax codes and VAT numbers
- Ensure address formats are correct
- Verify payment terms and bank details
2. Testing
- Test with sample invoices from your business
- Validate against SKEF schema requirements
- Check compatibility with target Polish systems
- Verify Polish formatting compliance
3. Documentation
- Keep conversion logs for audit purposes
- Document any special handling requirements
- Maintain mapping tables for consistency
- Store validation rules and exceptions
Benefits of SKEF Conversion
Converting to SKEF format offers several advantages:
For Polish Market
- Compliance with Polish e-invoicing regulations
- Enhanced customer acceptance and satisfaction
- Improved business relationships with Polish partners
- Access to Polish government e-invoicing platforms
- Support for mandatory B2B transactions in Poland
For International Integration
- Standardized Polish format for system integration
- Better compatibility with Polish trading partners
- Reduced integration costs and complexity
- Improved data exchange capabilities
- Support for multi-country operations involving Poland