E-Invoicing Guide
Country Specific Information
Germany
DDto Fields
We send B2B transactions via email because almost every federal state in Germany has different rules which often change, so using other methods would be too convoluted. In the future, we may use Peppol instead.
Name | Description | Format | Example for DDto |
---|---|---|---|
Leitweg ID (B2G) | The Leitweg ID is an identifier of an electronic invoice for the unique addressing of public contracting authorities in Germany | Regex | "0204:991-33333TEST-33" |
Email (B2B, B2G) | Email address of the receiver | Regex | "j.doe@efsta.eu" |
- For B2G invoicing, a Leitweg ID and an email must be set as value for
DDto
(e.g.,DDto="0204:991-33333TEST-33;authority@test.eu"
). - For B2B invoicing, only the email address is required.
Italy
After sending the E-Invoice, we must await a response from the tax authority. As soon as we get the response, we process the state of the E-Invoice. The EFR will however respond immediately to the register
request.
DDto Fields
Name | Description | Format | Example |
---|---|---|---|
Codice Destinatario (B2B) | The Codice Destinatario is used for sending tax documents in XML format to the exchange system. | Regex | "VSRLPXY" |
Codice Fiscale (B2B) | Codice Fiscale is a code used for tax and administrative purposes to uniquely identify Italian citizens. | Regex | "TMBLRT66T19A944Z" |
PEC Destinario (B2B) | For PEC Destinario, an email address can be specified in addition to the Codice Destinatario or Codice Fiscale. | Regex | "TMBLRT66T19A944Z;j.doe@efsta.eu" |
Alternatively, you can also specify it in the Customer section using one of the following fields:
IT_CodiceDestinatario
IT_PECDestinatario
IT_CodiceFiscale
Example Request
- DDto
- Customer Section
{"Tra":
{"ESR":
{"DD": "IT-TEST", "DDto": "WSRLPXY", "NFS": "INVOICE",
"Ctm":
{"TaxId": "IT02348690211", "Nam": "The Buyercompany S.p.A", "Adr": "Via Roma 1",
"Zip": "12345", "City": "Milano (MI)"
},
"PosA": {
"Pos": { "PN": "1", "Dsc": "test", "TaxG": "B", "Amt": "1.00"}},
"PayA": {
"Pay": { "Dsc": "Contanti", "PayG": "cash", "Amt": "1.00"}}
}
}
}
{"Tra":
{"ESR":
{"DD": "IT-TEST", "NFS": "INVOICE",
"Ctm":
{"TaxId": "IT02348690211", "Nam": "The Buyercompany S.p.A", "Adr": "Via Roma 1",
"Zip": "12345", "City": "Milano (MI)", "IT_CodiceDestinatario": "WSRLPXY"
},
"PosA": {
"Pos": { "PN": "1", "Dsc": "test", "TaxG": "B", "Amt": "1.00"}},
"PayA": {
"Pay": { "Dsc": "Contanti", "PayG": "cash", "Amt": "1.00"}}
}
}
}
Regime Forfettario
The Regime Forfettario is a special tax regime for small businesses in Italy.
Invoices below €77.47 are tax exempt, while invoices above this threshold require duty stamps instead of VAT.
To enable this regime, set the tax mode to RF19. This can either be configured at
- Profile/Attributes in the EFR:
Fiscal_TaxMd = RF19
(recommended) - or sent by every transaction:
ESR.TaxMd = "RF19"
When RF19 is active, the EFR automatically assigns the appropriate TaxExemption code "NS", which is required by Epson printers for each invoice line without tax.
For invoices above €77.47 that require duty stamps, the customer must include the total stamp amount in the transaction. For example, if the total stamp amount is €12: ESR.IT_ImportoBollo = "12.00"
.
Poland
In Poland there is no DDto
field available, so you only have to specify DD
in the transaction. Routing E-Invoices happens based on the TaxId.
The invoice status can be requested from us, allowing it to be retrieved within a few minutes.
DD="PL-TEST"
- Test environment, which does not require real access credentials and should be used exclusively with anonymized test data.DD="PL-DEMO"
- Pre-production (Demo) environment with realistic process flows and actual access credentials. Operates technically like the production system but has no legal effect. Only anonymized test data should be used.DD="PL"
- Live environment for processing real E-Invoices. All transactions are legally binding.
Log into the KSeF Portal
- Demo/Production Environment
- Test Environment
To access the Polish National E-Invoice System (KSeF) you must authenticate using one of the following secure methods:
Option A: Qualified Electronic Seal (recommended)
A Qualified Electronic Seal is a digital certificate issued to a company. It proves that electronic documents come from your organization. It is legally valid across the EU and the recommended way for companies to log in to KSeF without using a personal PESEL number.
-
Purchasing
Choose a certified provider, such as Certum or EuroCert, to purchase the electronic seal. -
Installing the certificate
At Certum, it will be saved on a smart card inserted into a reader or in the SimplySign mobile app. You will also receive a signing application (e.g. proCertum). -
Login
To access the KSeF system, choose the appropriate environment:Once the page opens click on "Authenticate in the National System of e-Invoices". Then submit your NIP, click "Next" and choose "Qualified Certificate".
- The system will generate a login request file
- Sign the file using your provider's application with your qualified seal
- Upload the signed file to complete login
Option B: Trusted Profile
A free digital identity issued by the Polish government, only available if you have a PESEL number.
-
Register online
Go to https://pz.gov.pl/pz/register and fill in your details. -
Verify your identity
Visit a Polish embassy or consulate within 14 days of registration. You have to bring your ID (passport or national ID card) to the appointment. After confirmation, your Trusted Profile is active and valid for 3 years. -
ZAW-FA
You must submit a ZAW-FA to the tax office to associate your limited liability company to you. -
Login
To access the KSeF system, choose the appropriate environment:Once the page opens, enter your NIP, click "Next", and select "Trusted Profile" as the login method. Sign in using your Trusted Profile credentials, then click ‘Sign’ to authorize and complete the login process to the portal.
In the KSeF test environment, it is not necessary to use real authentication data. You can simulate the authentication process.
-
Access the KSeF Test Environment
Go to the KSeF test portal -
Login context
- Click on "Authenticate in the National System of e-Invoices"
- Enter your NIP (Tax Identification Number) & click on "Authenticate"
-
Authentication
- Select "Qualified Certificate" as the authentication method
- You’ll be asked if your certificate is a signature with a NIP or PESEL number.
Select "Yes". - Select "Stamp with NIP" as identifier type and enter the same NIP number used at the beginning
- Click "Authenticate to test application" to finish the process.
Generate Token
Once you are logged into the KSeF Portal, you will see the main dashboard.
1. Generate a token
Go to the Tokens menu and choose to generate a new token with the role: issue invoices. Once the form has been filled in, click the "Generate Token" button.
2. Copy the Token
Copy the generated token and paste it into your configuration settings (see following step "Submit Token").
There is no expiration date for the token, so you don't need to renew it.
If you want to revoke the token and remove efsta’s access to issue invoices for your company, you can do so in the token list by selecting the appropriate token and clicking "Revoke":
Submit Token
Finally, you have to paste the generated token in your configuration. You can achieve this either using the Portal or the EFR.
Portal
First, navigate to the appropriate register and click on the cloud icon to change your configuration. Then proceed to the "eDocument" tab and paste your token in the corresponding field.
EFR
Open the EFR and navigate to the KSeF tab. In the field "Token" you can paste the needed information.
The productive system for Poland has not been launched yet, but the test & pre-production environment is available!
Currently, when sending DD="PL"
, the transaction is routed to the pre-production (demo) environment. In the future, it will use the live system.
If you would like to act as a pilot customer, please contact your partner manager.
Once the token is submitted, E-Invoices are limited to that specific environment!
For example, if you generate a token from the KSeF demo portal, you can only perform DD="PL-DEMO"
transactions!