1. Introducing Storecove
Storecove is the only international operating Peppol accesspoint that offers a one-stop e-invoicing solution. Large companies and ERP systems can connect with all worldwide available e-invoicing networks. By supporting every global invoice format we ensure that you only need to connect through a single connection with a single data format. Development departments worldwide love our solution. Try us today and test for free!
1.1. Getting Started
This guide will help you get started with the Storecove API in under 5 minutes.
Register for API access
As an individual company:
As a service provider for multiple senders and receivers:
Create your API key
Log in and create a new "+API Key"
Make your first API call
Call the API with your API key to create a new test legal entity. You can copy this cURL command and replace API_KEY_HERE with your API key.
curl \
-X POST "https://api.storecove.com/api/v2/legal_entities" \
-H "Accept: application/json" \
-H "Authorization: Bearer API_KEY_HERE" \
-H "Content-Type: application/json" \
-d "{ \"party_name\": \"Test Party\", \"line1\": \"Test Street\", \"city\": \"Test City\", \"zip\": \"Zippy\", \"country\": \"NL\", \"tenant_id\": \"my_id\"}"
GET data from the API
Check the result was successful by visiting Access Point as a Service - Legal Entities from your Storecove web portal. You can also query the legal entity via the API. In this cURL example, replace XXXX in the URL with the legal entity ID returned from the API above.
curl \
-X GET "https://api.storecove.com/api/v2/legal_entities/XXXX" \
-H "Accept: application/json" \
-H "Authorization: Bearer API_KEY_HERE" \
-H "Content-Type: application/json"
Finished!
Congratulations! You’ve successfully created a legal entity in the Storecove API and retrieved its ID. You can now explore the Storecove API - how about issuing this legal entity with an invoice.
We recommend using the account you’ve just created for all your development purposes. When you’re ready to launch your integration, create a new account and reach out to our support to convert your new 'production' API keys.
2. Using the API (Version 2)
The Storecove V2 API provides all your e-invoicing and Peppol integration needs. The V2 API works alongside the SFTP and email integration options for companies.
This section outlines everything you need to us the V2 API, which is available at https://api.storecove.com/api/v2/
.
2.1. API Keys
To call the Storecove V2 API, you will first need an API key from the developer portal. An API key represents your application, so if you’re building multiple solutions you’ll need multiple keys.
API keys should be considered secrets, so do not publish them in public config such as to frontend JavaScript applications.
To do this, navigate to API Keys in your Storecove admin panel. You will typically need only one, however you can create multiple for use with different environments, migrations or when rotating secrets.
The API Key must be provided in the Authorization header using the Bearer scheme for all API requests.
...
Authorization: Bearer API_KEY_HERE
...
For instance, a curl request could look like
curl \
-X POST "https://api.storecove.com/api/v2/legal_entities" \
-H "Accept: application/json" \
-H "Authorization: Bearer API_KEY_HERE" \
-H "Content-Type: application/json" \
-d "{ \"party_name\": \"Test Party\", \"line1\": \"Test Street\", \"city\": \"Test City\", \"zip\": \"Zippy\", \"country\": \"NL\", \"tenant_id\": \"my_id\"}"
These headers are safe inside the TLS tunnel that protects the Storecove API.
2.2. Webhooks
Webhooks allow you to be notified of certain events taking place on the Storeove platform, without the need for polling. They consist of a URL that is called with a POST, optionally protected with HTTP Basic Authentication.
You should reply with a HTTP OK (200) to the POST. If another status code is presented or we fail to reach the specified URL, we will retry again at a later time for a total of 5 days.
You can create and manage your webhooks on the Storecove’s Website, under the "Settings" / "Webhooks" menu item. On that page you will see a list of you existing webhooks and a button that, once clicked, opens a modal where you can put the following data to create a new webhook:
-
the URL of the webhook: we will make a
POST
request to this address; -
the event to notify;
-
optional HTTP Basic Authentication username and password: we will use these credentials when making a request to the endpoint.
We will keep calling the webhook until we receive an HTTP 200 from you, but only for 5 days.
During development, the following site may prove useful for viewing the webhooks we call:
https://webhook.site
2.2.1. For Sending Invoices
When an invoice submission is complete (more specifically all its actions have executed) we make a request to your webhooks in the following format:
{
"event_type": "invoice_submission",
"guid": "f4624435-7fc4-4fc2-9379-dcb641d593dc",
"result": "failed",
"actions": [{
"type": "peppol",
"destination": "NL:VAT.NL012345678B01",
"result": "error"
}],
"tenant_id": "YourTenantId"
}
Possible results are:
-
succeeded
-
failed
-
no_action_taken
The result 'no action taken' is sent when none of the Peppol identifiers were available on the Peppol network and no fallback email address was provided.
There are three types of actions:
-
peppol
-
edi
-
email
Each has the following possible results:
-
received
-
error
-
unknown
The status 'unknown' indicates that the result of the action is not yet known. This status is not actively notified, but if you request the invoice_submission status through our API, you may get this status.
We will normally take only one action, but if the action has failed we may retry and create a second, third etc. action until one succeeds.
An invoice submission is considered "succeeded" if one of its actions has status "received".
The tenant_id property is related to the LegalEntity. If you specify it when creating or updating a LegalEntity, this field will be included in the webhook and can be used to determine which of your tenants the webhook is for. If you do not have a multi-tenant platform, this field can be ignored.
2.2.2. For Receiving Invoices
When a new invoice has been received for you, we will send a webhook with the following contents:
{
"event_type": "received_invoice",
"guid": "f4624435-7fc4-4fc2-9379-dcb641d593dc",
"invoice_number": "20231105/002",
"tenant_id": "YourTenantId"
}
You can then use the "guid" to retrieve the invoice from the
endpoint, or a similar endpoint for different versions.
The tenant_id property is related to the LegalEntity. If you specify it when creating or updating a LegalEntity, this field will be included in the webhook and can be used to determine which of your tenants the webhook is for. If you do not have a multi-tenant platform, this field can be ignored.
2.3. API tools
There are several types of tools that can speed up your solution development. We publish an Open API v2 (a.k.a. Swagger) specification that allows you to generate client libraries and test API calls using API clients like Postman.
2.3.1. Client Libraries
The API is RESTful and communicates through JSON, so you can easily create your own client if we don’t have one ready to go and you don’t want to leverage the OpenAPI 2.0 API specification (see below).
The easiest way to create a client for your favourite language is by leveraging our OpenAPI 2.0 (previously known as Swagger) specification, which can be found on
There are many generic REST clients for available for different platforms. However, if you wish to roll your own, or would like to quickly generate the model classes, you could use Swagger Codegen.
2.3.2. Postman
Using our OpenAPI 2.0 specification, it is easy to test drive the API, for instance with Postman:
Click "Import," select "Import from From Link," and copy/paste our OpenAPI 2.0 specification URL:
Next, click on the "Headers" tab and copy/paste the API token. You are now ready to test drive the API!
2.3.3. Swagger Codegen
This tool makes it easy to to generate a client library in your favorite language:
First, download the lastest version 2 Java jar:
wget --output-document=swagger-codegen-cli.jar http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.10/swagger-codegen-cli-2.4.10.jar
Next, create the client library (in this example we generate a C# library):
java -jar swagger-codegen-cli.jar generate -i https://www.storecove.com/api/v2/openapi.json -l csharp -o csharp
Language support is extensive, amongst others:
-
C# (csharp, csharp-dotnet2)
-
Java (java-pkmst, java-play-framework, jaxrs-resteasy-eap)
-
Node.js (nodejs-server)
-
Objective-C (objc)
-
Android (android)
-
Perl (perl)
-
PHP (php, php-symfony, php-silex)
-
Python (python)
-
Many others, execute:
java -jar swagger-codegen-cli.jar langs
3. Building Your Solution
Please choose the tab that best fits your type of company:
Sending Sales Invoices
For companies wishing to send sales invoices to their Customers through various channels, including the Peppol network (becoming mandatory in the EU for all public entities), our service sends your invoices as e-invoices that can be automatically processed by your Customer’s accountancy software package / ERP.
There are two ways of presenting your sales invoices into the Storecove platform for e-delivery:
-
By emailing your sales invoices to <your_company_name>@send.storecove.com
-
By uploading your sales invoices via SFTP to <your_company_name>@sftp.storecove.com
-
By pushing your sales invoices into our API
We have a web interface where you can view how we processed your invoice and take action on any errors.
If you use our API, the added benefit is that you can configure Webhooks that we will call, updating you with the delivery status of your sales invoice. In addition, you can integrate the delivery status of sales invoices in your customer service environment by requesting their status.
Please see Individual Companies for details.
Receiving Purchase Invoices
For receiving invoices there are two solutions that we offer:
-
The Peppol European e-invoicing network
-
<your_company_name>@receive.storecove.com (with optional scan&recognize)
Both will give you not only the PDF invoice, but also the e-invoice, ready for automated processing in your ERP without any manual intervention.
These services can be fully managed via the web interface and no API integration is necessary.
We can deliver purchase invoices to most accountancy software packages, either through their API or by sending the purchase invoice to an email address. It is also possible to leverage our Webhooks, which allow you to configure a URL that we will call each time a purchase invoice is received. You can then retrieve it and process it in your ERP.
Receiving invoices
For receiving invoices for your Clients we offer our Peppol Access Point as a Service
This allows you to publish your Client’s Peppol identifiers (i.e. Chambre of Commerce number, VAT number, etc) on the Peppol network.
When an invoice for one of your Clients is received or retrieved, a (configurable) Webhook is called so you can instantly retrieve the invoice from our API.
Sending invoices
If you wish to facilitate your Clients sending sales invoices to their Customers through various channels, including the Peppol network (being mandated in the EU and Asia for public entities), our service will send these sales invoices as e-invoices that can be automatically processed by your Client’s Customer’s accountancy software package / ERP.
We offer a web interface where you can view how we processed your Client’s invoice and correct any errors. We also offer this functionality through the API, available for you to integrate into your software solution. And there are Webhooks available that you can subscribe to, to actively let you know what actions where taken to deliver an invoice. We can also setup periodic reporting.
Please see Software Suppliers for details.
3.1. Individual Companies
3.1.1. API Ingestion
Introduction
API ingestion refers to Storecove receiving and processing you Customer’s invoices by interaction of your code with Storecove’s API, following one of the supported workflows:
-
Check and submit
-
Submit and email
Moreover, you can get updates about the status of the invoices that you have submitted by creating one or more webhooks. Operation of workflows and webhooks is explained in the following sections.
Workflows
Check and Submit
First use the Preflight API call. It takes one parameter, an InvoiceRecipientPreflight object. This object contains the ids of the recipient of the invoice. When you call this endpoint, Storecove will query the European Peppol network whether the Customer has registered with this network. If the result code is ‘ok’, submit the invoice via the Invoice Submission API call.
Submit and email
Submit the invoice to the Create Invoice Submission endpoint.
When you call this endpoint, Storecove will:
-
Query the European Peppol network whether the Customer has registered with this network. If so, the invoice is delivered via Peppol.
-
If the invoice could not be delivered via Peppol the invoice is delivered to the fallback email address.
There are two main ways to submit an invoice for submission:
-
submit a JSON object that contains the invoice data
-
submit a Base64 encoded string that contains the invoice data in a certain syntax, such as UBL, CII, cXML, SAP IDoc, etc. We are ready to enable other formats on request.
Summary
The following is a list of items that you need to work with the Storecove invoice_submissions API:
Item | Description | Source |
---|---|---|
Two Storecove accounts |
A development (sandbox) and a production account with API access. |
You can self-register, and configure the sandbox account if necessary. |
legalEntityId |
The id that identifies you as a sender. |
Available in the web interface (for individual companies) or to be created via the API (individual companies or Access Point as a Service) |
token |
The token to use in the Authentication header when doing API calls. |
Create your own in the web interface |
3.1.2. Email Ingestion
Introduction
Email ingestion refers to Storecove receiving and processing your (or your Client’s) invoice via an email to <company_name>@send.storecove.com. This email should have an attachment that contains the data that makes up the invoice and optionally an attachment that has an image of the invoice, in PDF format.
From: Address
The address you send from determines your identity as sender of the invoice, and so therefore needs to be validated by Storecove. The entire process is described on
To: Address
If you have followed the previous link, you will have setup an email addresss <company_name>@send.storecove.com. You can send emails to this address with your electronic invoices to send.
Attachments
Data
You need to provide an attachment with the data contained in the invoice.
You can attach a UBL 2.0 or UBL 2.1 invoice. Even if these are not 100% compliant, we can probably process them. Contact us on helpdesk@storecove.com for a test if you are not sure.
If you cannot produce a UBL attachment, we also support other formats (like CII, SAP IDoc, cXML, CSV) and we can also support your custom format. Contact us on helpdesk@storecove.com if you need to use a non-UBL format.
If you have a PDF image of the invoice, you can provide it as an attachment. This attachment’s filename should end in ‘.pdf’. If you do not have a PDF to attach, just leave it out and we will create one for you
3.1.3. SFTP Ingestion
Introduction
SFTP ingestion refers to Storecove receiving and processing your (or your Client’s) invoices via secure file upload to <company_name>@sftp.storecove.com.
Files
The upload may consist of mulitple files, each with its own purpose. We currently support the following purposes:
-
Data
-
Primary image
-
Additional attachments
The data file contains the data of the invoice. It usually is in UBL format, but if you cannot produce a UBL file, we also support other formats (like CII, SAP Ioc, cXML, CSV) and we can also support your custom format. Contact us if you need to use a non-UBL format. The primary image file should be a PDF. The additional attachments are currently also limited to PDF only, but please contact us if you have different requirements.
The filenames, always in lowecase, have the following structure:
-
<file_id>_<purpose>.<extension> or
-
<file_id>_<purpose>_<participant_identifier>.<extension> or
-
<file_id>_additional_<counter>.<extension> or
-
<file_id>_additional_<counter>_<participant_identifier>.<extension>
All files pertaining to the same invoice should have the same file_id. The file_id should never be re-used. The file_id must be a uuid (any version) and therefore may contain only the following characters:
-
a-f, 0-9 and '-'
and have the following structure:
-
cccccccc-cccc-cccc-cccc-cccccccccccc
Note that if you use a hash of the invoice number as file_id, that may work, but you will not be able to resend that invoice. For that reason, it is recommended to include a random string to make the file_id globally unique.
The purpose must be one of:
-
data (this file contains the invoice data and may occur only once)
-
primary (this is the primary image of the invoice, i.e. a PDF of the invoice. It may occur only once.)
-
additional (this indicates an additional attachment, perhaps an invoice specification. It may occur multiple times)
-
structure (see below)
Examples of valid file names are:
-
82b3785e-0569-482d-a683-ee437eb3df13_data.xml
-
82b3785e-0569-482d-a683-ee437eb3df13_primary.pdf
-
82b3785e-0569-482d-a683-ee437eb3df13_additional_1.pdf
-
82b3785e-0569-482d-a683-ee437eb3df13_primary_nl-oin.00000000000000000000.pdf
-
82b3785e-0569-482d-a683-ee437eb3df13_additional_hr-vat.hr12345678901_1.pdf
-
82b3785e-0569-482d-a683-ee437eb3df13_primary_0190.00000000000000000000.pdf
-
82b3785e-0569-482d-a683-ee437eb3df13_additional_9934.hr12345678901_1.pdf
Tip
|
It is best to provide your participant identifiers in the data file. That way, you can provide as many as you have. If you are not able to include the participant identifiers in the data file, the filename is the next best option. It can, however, hold only a single participant identifier. The full list of participant identifiers can be found here: Peppol Participant Identifier List |
Structure
If you always provide the same set of files (for instance: only a data file or only a data file + a PDF file) then we will configure this statically when we setup your SFTP upload capability. If, however, you wish to have the ability to provide different sets of documents (for instance: sometimes you provide one or more additional attachments, but sometimes you don’t) then it is possible to send us structure of your invoice submission through a separate file, the structure file. It contains a description of which files make up the invoice submission and so we will wait processing the already uploaded files until the set is complete. The contents of the structure file looks like this:
{
“documents”: [
{
“purpose”: “data”,
“extension”: “xml”,
“count”: 1
},
{
“purpose”: “primary”,
“extension”: “pdf”,
“count”: 1
},
{
“purpose”: “additional”,
“extension”: “pdf”,
“count”: 2
}
]
}
You have to choose: either you always provide the same set of files, or you always provide a structure file.
Setup
At this moment the setup cannot be done through our web interface. Therefore, please contact us on helpdesk@storecove.com to setup your SFTP upload capability.
Key pair
To setup SFTP, we you need to generate an SSH keypair and send us the public part. On Linux:
ssh-keygen -t rsa -b 4096 -f id_rsa
Leave the passwords empty. Send us the file
-
id_rsa.pub
Important
|
Don’t send us your id_rsa file, that is to be kept private. |
3.2. Software Suppliers
3.2.1. Access Point as-a Service
Software suppliers use Storecove as a Peppol Access Point to provide e-invoicing to their customers. For example, if you are an e-commerce SaaS product, Storecove would provide your e-invoicing functionality to many client businesses.
You can use Storecove for your own e-invoicing (as a a company), and for your clients (Access Point as a Service).
3.2.2. Introduction
Use the API calls
to mange your organizations and their peppol identifiers.
3.2.3. Sending
For sending, you may want to first "preflight"
to check whether a Peppol identifier can be reached on the Peppol network. Next, send your invoice using
If you send all your invoices through Storecove (i.e. to an email if we cannot send it via Peppol) you do not need to preflight.
3.2.4. Receiving
Configure the appropriate webhook. See Webhooks.
4. Best Practices
4.1. Job Queues
The Storecove API is highly available. However, that does not mean 100%. No one can ever guarantee that.
We therefore recommend that all POSTs to our API are done in a job queue. Jobs can be rescheduled to automatically retry after an (increasing) amount of time and should the job finally fail, you can investigate why and potentially reschedule it manually.
5. Storecove API Reference
5.1. Resources
5.1.1. Administrations
Create a new Administration
POST /legal_entities/{legal_entity_id}/administrations
Description
Create a new Administration. An Administration is an email destination for purchase invoices.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
legal_entity_id |
The id of the LegalEntity for which to create the Administration |
integer (int64) |
Body |
administration |
Administration to create |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
422 |
Unprocessable Entity |
< ErrorModel > array |
Consumes
-
application/json
Get Administration
GET /legal_entities/{legal_entity_id}/administrations/{id}
Description
Get an Administration
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The id of the Administration |
integer (int64) |
Path |
legal_entity_id |
The id of the LegalEntity the Administration belongs to |
integer (int64) |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
Delete Administration
DELETE /legal_entities/{legal_entity_id}/administrations/{id}
Description
Delete an Administration
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The id of the Administration |
integer (int64) |
Path |
legal_entity_id |
The id of the LegalEntity the Administration belongs to |
integer (int64) |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
Success |
No Content |
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
Update Administration
PATCH /legal_entities/{legal_entity_id}/administrations/{id}
Description
Update an Administration
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
The id of the Administration to be updated |
integer (int64) |
Path |
legal_entity_id |
The id of the LegalEntity the Administration belongs to |
integer (int64) |
Body |
administration |
Administration to update |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
5.1.2. InvoiceSubmissions
Submit a new invoice
POST /invoice_submissions
Description
Submit an invoice for delivery.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
invoice_submission |
Invoice to submit |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
422 |
Unprocessable Entity |
< ErrorModel > array |
Consumes
-
application/json
Preflight an invoice recipient
POST /invoice_submissions/preflight
Description
Check whether Storecove can deliver an invoice for a list of ids.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
invoice_recipient_preflight |
The invoice recipient to preflight |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
422 |
Unprocessable Entity |
< ErrorModel > array |
Consumes
-
application/json
Get InvoiceSubmission Evidence
GET /invoice_submissions/{guid}/evidence
Description
Get evidence for an InvoiceSubmission by GUID with corresponding status
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
guid |
InvoiceSubmission GUID |
string (uuid) |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
Consumes
-
application/json
5.1.3. LegalEntities
Create a new LegalEntity
POST /legal_entities
Description
Create a new LegalEntity.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Body |
legal_entity |
LegalEntity to create |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
422 |
Unprocessable Entity |
< ErrorModel > array |
Consumes
-
application/json
Get LegalEntity
GET /legal_entities/{id}
Description
Get a specific LegalEntity.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
legal_entity id |
integer (int64) |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
Delete LegalEntity
DELETE /legal_entities/{id}
Description
Delete a specific LegalEntity.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
legal_entity id |
integer (int64) |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
Success |
No Content |
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
Update LegalEntity
PATCH /legal_entities/{id}
Description
Update a specific LegalEntity.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
id |
legal_entity id |
integer (int64) |
Body |
legal_entity |
LegalEntity updates |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
422 |
Unprocessable Entity |
< ErrorModel > array |
5.1.4. PeppolIdentifiers
Create a new PeppolIdentifier
POST /legal_entities/{legal_entity_id}/peppol_identifiers
Description
Create a new PeppolIdentifier.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
legal_entity_id |
The id of the LegalEntity for which to create the PeppolIdentifier |
integer (int64) |
Body |
peppol_identifier |
PeppolIdentifier to create |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
422 |
Unprocessable Entity |
< ErrorModel > array |
Consumes
-
application/json
Delete PeppolIdentifier
DELETE /legal_entities/{legal_entity_id}/peppol_identifiers/{superscheme}/{scheme}/{identifier}
Description
Delete a PeppolIdentifier.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
identifier |
PEPPOL identifier |
string |
Path |
legal_entity_id |
The id of the LegalEntity this PeppolIdentifier belongs to |
integer (int64) |
Path |
scheme |
PEPPOL identifier scheme id, e.g. "DE:VAT". For a full list see «peppol_schemes_list». |
string |
Path |
superscheme |
The superscheme of the identifier. Should always be "iso6523-actorid-upis". |
string |
Responses
HTTP Code | Description | Schema |
---|---|---|
204 |
Success |
No Content |
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
5.1.5. PurchaseInvoices
Get Purchase invoice data as JSON
GET /purchase_invoices/{guid}
Description
Get a specific PurchaseInvoice, in JSON format. Recommended way of getting a PurchaseInvoice, since it provides the data in a JSON object and the JSON format is the richest we have that supports all features a PurchaseInvoice can have.
Parameters
Type | Name | Description | Schema |
---|---|---|---|
Path |
guid |
purchase invoice guid |
string (uuid) |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
Get Purchase invoice data as JSON with a Base64-encoded SI-1.2 UBL string
GET /purchase_invoices/{guid}/{packaging}
Description
Get a specific PurchaseInvoice. Using /json as {packaging} is recommended (in which case you can just omit it), however, this endpoint allows getting the invoice in a differently serialized format such as UBL.
Parameters
Type | Name | Description | Schema | Default |
---|---|---|---|---|
Path |
guid |
purchase invoice guid |
string (uuid) |
|
Path |
packaging |
How to package the purchase invoice. Use "json" or "ubl" |
enum (json, ubl) |
|
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
Get Purchase invoice data as JSON with a Base64-encoded UBL string in the specified version
GET /purchase_invoices/{guid}/{packaging}/{package_version}
Description
Get a specific PurchaseInvoice in a non-JSON serialized format with version.
Parameters
Type | Name | Description | Schema | Default |
---|---|---|---|---|
Path |
guid |
purchase invoice guid |
string (uuid) |
|
Path |
package_version |
The version of the ubl package. |
enum (original, si11, si12, si20, aunz, sg) |
|
Path |
packaging |
How to package the purchase invoice. Use "ubl" |
enum (ubl) |
|
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success |
|
401 |
Unauthorized |
No Content |
403 |
Forbidden |
No Content |
404 |
Not Found |
No Content |
5.2. Definitions
5.2.1. AccountingCustomerParty
The customer receiving the invoice.
Name | Description | Schema |
---|---|---|
accountId |
The account id you assigned to the customer. |
string |
party |
||
publicIdentifiers |
A list of legal and tax identifiers for this customer. |
< PublicIdentifier > array |
5.2.2. AccountingSupplierParty
The party sending the invoice. Most data for the AccountingSupplierParty is taken from the Storecove database, where your sender identity resides and has been validated. However, we provide a limited number of fields here that you can specify on an invoice-by-invoice basis.
Name | Schema |
---|---|
party |
5.2.3. AdditionalItemProperty
An additional property for the item
Name | Description | Schema |
---|---|---|
name |
The name of the property. |
string |
value |
The value of the property. |
string |
5.2.4. Address
The address
Name | Description | Schema |
---|---|---|
city |
The name of the city. Mandatory in most countries. |
string |
country |
||
county |
An optional county name. |
string |
street1 |
The street name and number. Mandatory in most countries. |
string |
street2 |
The second street field. Use this if you used the first field for the building name. |
string |
zip |
The zipcode/postalzone. Mandatory unless the country does not have zip codes. |
string |
5.2.5. Administration
Name | Description | Schema |
---|---|---|
email |
The email address to send the received document to |
string |
id |
The Storecove assigned id for the Administration. |
integer (int64) |
legal_entity_id |
The LegalEntity the Administration belongs to. |
integer (int64) |
package_version |
The version of the package. |
enum (peppol_bis_v3) |
packaging |
How to package the purchase invoice. |
enum (ubl) |
sender_email_identity_id |
The id of the SenderEmailIdentity. If not provided, the Storecove default sender will be used |
integer (int64) |
5.2.6. AdministrationCreate
Name | Description | Schema |
---|---|---|
email |
The email address to send the received document to |
string |
legal_entity_id |
The LegalEntity the Administration belongs to. |
integer (int64) |
package_version |
The version of the package. |
enum (peppol_bis_v3) |
packaging |
How to package the purchase invoice. |
enum (ubl) |
sender_email_identity_id |
The id of the SenderEmailIdentity. If not provided, the Storecove default sender will be used |
integer (int64) |
5.2.7. AdministrationUpdate
Name | Description | Schema |
---|---|---|
email |
The email address to send the received document to |
string |
package_version |
The version of the package. |
enum (peppol_bis_v3) |
packaging |
How to package the purchase invoice. |
enum (ubl) |
sender_email_identity_id |
The id of the SenderEmailIdentity. If not provided, the Storecove default sender will be used |
integer (int64) |
5.2.8. AllowanceCharge
Name | Description | Schema |
---|---|---|
amountExcludingVat |
The amount for the allowance or charge, excluding VAT |
number |
reason |
The reason for the allowance or charge, free text |
string |
reasonCode |
Do not use. Contact Storecove first if you want to use this field. |
string |
tax |
The tax for this allowance or charge. |
5.2.9. Attachment
A document attachment to the invoice.
Name | Description | Schema |
---|---|---|
document |
The base64 encoded version of the document attachment. |
string |
filename |
The name of the file attachment. |
string |
mimeType |
The document attachment mime type. Currently only application/pdf is allowed. |
enum (application/pdf) |
primaryImage |
Whether or not this document is a visual representation of the invoice data. |
boolean |
5.2.10. Contact
Contact details for the invoice
Name | Description | Schema |
---|---|---|
email |
string (email) |
|
firstName |
string |
|
id |
Only supported for AccountingCustomerParty. |
string |
lastName |
string |
|
phone |
Maximal length : |
string |
5.2.11. Country
An ISO 3166-1 alpha-2 country code.
Type : enum (AD, AE, AF, AG, AI, AL, AM, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CR, CU, CV, CW, CX, CY, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, EH, ER, ES, ET, FI, FJ, FK, FM, FO, FR, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SV, SX, SY, SZ, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TR, TT, TV, TW, TZ, UA, UG, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, YE, YT, ZA, ZM, ZW)
5.2.12. CurrencyCode
The ISO 4217 currency code.
Type : enum (AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BYR, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRO, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SSP, STD, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USN, UYI, UYU, UZS, VEF, VND, VUV, WST, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XDR, XFU, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW)
5.2.13. Delivery
Name | Description | Schema |
---|---|---|
actualDate |
The actual date of the delivery. |
string |
location |
||
quantity |
The quantity of the delivery. |
number |
location
Name | Description | Schema |
---|---|---|
address |
||
id |
The location identifier. |
string |
schemeAgencyId |
The schemeAgencyId of the location identifier (e.g. 'ZZZ') |
string |
schemeId |
The schemeId of the location identifier (e.g. 'EAN') |
string |
5.2.14. EIdentifiers
A list of electronic routing identifiers. These are the identifiers used on the Peppol network or for other destinations.
Type : < RoutingIdentifier > array
5.2.15. ErrorModel
Name | Schema |
---|---|
details |
string |
source |
string |
5.2.16. Invoice
The invoice to send. Provide either invoice, or invoiceData, but not both.
Name | Description | Schema |
---|---|---|
accountingCost |
The buyer’s accounting cost centre for this invoice, expressed as text. |
string |
accountingCustomerParty |
The party the invoice is sent to. |
|
accountingSupplierParty |
The party sending the invoice. Most data for the AccountingSupplierParty is taken from the Storecove database, where your sender identity resides and has been validated. However, we provide a limited number of fields (mainly contact fields) here that you can specify on an invoice-by-invoice basis. Contact us if you want to use this feature. |
|
allowanceCharges |
An array of allowance charges. |
< AllowanceCharge > array |
amountIncludingVat |
amountIncludingVat is important because of rounding differences. In many invoices, the sum of the line item amounts excluding VAT and the VAT amounts is not equal to first summing the line items without VAT, and then applying VAT. The difference is automatically calculated and included in the electronic invoice, so the receiving accounting package can process the electronic invoice without problems. |
number |
billingReference |
A reference to a commercial invoice or corrective invoice of which the current invoice is a correction. This field is mandatory when sending invoiceType 384. |
string |
buyerReference |
A reference provided by the buyer used for internal routing of the document. |
string |
consumerTaxMode |
Whether or not to process the invoice in consumer tax mode. In this mode, the VAT identifier of the sender will not be the default VAT identifier, but the one that matches with the country of the receiving consumer, if that additional VAT identifier for that country is available. These additional VAT identifiers need to be added to the sending LegalEntity by Storecove, so if you need to send invoices in this mode, please contact us. |
boolean |
contractDocumentReference |
A reference to a contract or framework agreement that this invoice relates to. |
string |
delivery |
The delivery of the invoice. |
|
documentCurrencyCode |
The documentCurrencyCode is the currency for the entire invoice. We currently do not support invoices in multiple currencies. If left out, will default to EUR |
|
dueDate |
Format: yyyy-mm-dd. |
string |
invoiceLines |
An array of invoice lines. |
< InvoiceLine > array |
invoiceNumber |
The invoice number you assigned to the invoice. The invoiceNumber should be unique for the legalEntityId and year of the issueDate. This means invoice numbers can be reused in different years, as is customary in some countries. |
string |
invoicePeriod |
The period (or specific date) to which the invoice applies. Format: yyyy-mm-dd - yyyy-mm-dd. |
string |
invoiceType |
Do not use. This field is available for legacy reasons only. If you want to send a regular invoice (aka UBL type '380'), make sure you have a positive invoice amount. For a credit note (aka UBL type '381'), simply provide a negative invoice amount. If you, in addition to a negative invoice amount, also specify a billingReferences, your invoice will become a corrective invoice (aka UBL type '384'). If your invoice is not sent in the UBL syntax, Storecove will provide the appropriate type for the syntax the invoice is sent in. |
enum (380, 381, 384) |
issueDate |
Format: yyyy-mm-dd. |
string |
note |
A note to add to the invoice |
string |
orderReference |
A reference to an order for this invoice, assigned by the buyer. Note that this often is a key field, since many receivers of invoices will use this field to automatically match the invoice to an order they placed. Many receivers refuse invoices that cannot be automatically matched, in particular government agencies. So it is highly recommended to fill this field whenever possible. |
string |
paymentMeansArray |
An array of payment means (ways to pay the invoice). |
< PaymentMeans > array |
paymentMeansBic |
DEPRECATED. Use paymentMeansArray. The BIC (Swift) of the bank where the amount payable should be transferred to |
string |
paymentMeansCode |
DEPRECATED. Use paymentMeansArray. How the invoice has been / will be paid. Use only online_payment_service (payment will be made or has been made by an online payment service), bank_card (e.g. debit card, credit card), direct_debit (the amount has been / will be taken out of the client’s bank account), standing_agreement (an unspecified payment means known to both buyer and seller) or credit_transfer (the buyer will do / has done a bank transfer). The numeric codes are for legacy purposes, they should not be used. |
enum (online_payment_service, bank_card, direct_debit, standing_agreement, credit_transfer, se_bankgiro, se_plusgiro, aunz_npp, , 1, 30, 31, 42, 48, 49, 57, 58) |
paymentMeansIban |
DEPRECATED. Use paymentMeansArray. The IBAN the amount payable should be transferred to |
string |
paymentMeansPaymentId |
The payment id that you will use to match the payment against the invoice. |
string |
prepaidAmount |
The amount already paid. |
number |
projectReference |
Information about the project this invoice relates to. |
string |
salesOrderId |
A reference to an order for this invoice, assigned by the seller. |
string |
taxExemptReason |
DEPRECATED. Use Tax/category and specify this per invoice line. If you do specify this field, it will be applied to all invoice lines and it is an error to specify a Tax/category at the invoice line level. This field holds the reason no tax is present in the invoice. Note that this is an invoice level field and you cannot specify it per invoice line. This field is mandatory unless tax is present in the invoice. |
enum (export, reverse_charge, zero_rated, exempt, outside_scope, intra_community) |
taxPointDate |
The tax date is the date on which the supply of goods or of services was made or completed or the date on which the payment on account was made insofar as that date can be determined and differs from the date of the issue of the invoice. EU 2006-112 Article 226 Point 7. Note: For the Dutch TAX authorities the tac date should be the same as the issue date. |
string |
taxSubtotals |
An array of tax subtotals. This element is mandatory for taxSystem 'tax_line_percentages'. |
< TaxSubtotal > array |
taxSystem |
The tax system used for the invoice. The system 'tax_line_percentages' is preferred, but for historic purposes 'tax_line_amounts is supported and default. Since not all invoice formats that we are required to send support 'tax_line_amounts' we will need to convert the invoice to the 'tax_line_percentags' system if we are forced to send the invoice in that tax system. |
enum (tax_line_amounts, tax_line_percentages, tax_no_tax) |
ublExtensions |
An array of ubl extensions. |
< string > array |
vatReverseCharge |
DEPRECTATED. Use taxExemptReason. |
boolean |
5.2.17. InvoiceData
The invoice to send, in base64 encoded format. Provide either invoice, or invoiceData, but not both.
Name | Description | Schema |
---|---|---|
conversionStrategy |
How to interpret the document. |
enum (ubl, cii, idoc) |
document |
The base64 encoded version of the document. |
string |
5.2.18. InvoiceLine
Name | Description | Schema |
---|---|---|
accountingCost |
The buyer’s accounting cost centre for this invoice line, expressed as text. |
string |
additionalItemProperties |
An array of additional item properties. |
< AdditionalItemProperty > array |
allowanceCharge |
The discount or surcharge on this item. Should be negative for discounts |
number |
amountExcludingVat |
The amount excluding VAT. Should equal quantity x itemPrice + allowanceCharge. |
number |
buyersItemIdentification |
The ID the buyer assigned to this item. |
string |
delivery |
The delivery of the invoice line. |
|
description |
The description for this invoice line. |
string |
invoicePeriod |
The period (or specific date) to which the invoice line applies. Format: yyyy-mm-dd - yyyy-mm-dd. |
string |
itemPrice |
The price per item (may be fractional) |
number |
lineId |
The id for this invoice line. |
string |
name |
A short name for this invoice line. If not provided, it will be taken from description and description will be set to an emtpy string. |
string |
orderLineReferenceLineId |
A reference to the ID of the order. The order is specified as the orderReference at the invoice level. It is not possible to specify an orderReference at the invoice line level. An invoice MUST at this time be for a single order only. |
string |
quantity |
The number of items (may be fractional). |
number |
quantityUnitCode |
The unit of measure that applies to the invoiced quantity. Codes for unit of packaging from UNECE Recommendation No. 21 can be used in accordance with the descriptions in the "Intro" section of UN/ECE Recommendation 20, Revision 11 (2015): The 2 character alphanumeric code values in UNECE Recommendation 21 shall be used. To avoid duplication with existing code values in UNECE Recommendation No. 20, each code value from UNECE Recommendation 21 shall be prefixed with an “X”, resulting in a 3 alphanumeric code when used as a unit of measure. Note that the following additionally allowed codes are deprecated and will be converted to C62: 04, 05, 08, 16, 17, 18, 19, 26, 29, 30, 31, 32, 36, 43, 44, 45, 46, 47, 48, 53, 54, 62, 63, 64, 66, 69, 71, 72, 73, 76, 78, 84, 90, 92, 93, 94, 95, 96, 97, 98, 1A, 1B, 1C, 1D, 1E, 1F, 1G, 1H, 1J, 1K, 1L, 1M, 1X, 2V, 2W, 3E, 3G, 3H, 3I, 4A, 4B, 4E, 5C, 5F, 5G, 5H, 5I, 5K, 5P, 5Q, A1, A25, A50, A51, A52, A57, A58, A60, A61, A62, A63, A64, A65, A66, A67, A77, A78, A79, A80, A81, A82, A83, AJ, AM, AP, AR, ARE, ATT, AV, AW, B0, B2, B36, B37, B38, B39, B40, B5, B51, B6, B65, B9, BD, BE, BG, BH, BJ, BK, BL, BO, BR, BT, BW, BX, BZ, C1, C2, C4, C5, C6, C77, C98, CA, CH, CJ, CK, CL, CO, CQ, CR, CS, CT, CU, CV, CY, CZ, D14, D28, D35, D37, D38, D39, D40, D64, D66, D67, D7, D70, D71, D72, D75, D76, D79, D8, D9, D90, D92, D96, D97, D98, D99, DC, DE, DI, DQ, DR, DRM, DS, DU, DX, DY, E2, E3, E5, EC, EP, EV, F1, F9, FB, FD, FE, FG, FM, G7, GC, GD, GH, GK, GN, GRT, GT, GW, GY, GZ, H1, H2, HAR, HD, HE, HF, HI, HJ, HK, HL, HN, HO, HP, HS, HT, HY, IC, IF, II, IL, IM, IP, IT, JB, JG, JO, JR, K5, KD, KF, KG, KS, KTM, LC, LE, LI, LJ, LX, M0, MA, MF, MK, MQ, MT, MV, N2, NB, NBB, NC, ND, NE, NG, NH, NI, NJ, NN, NPL, NPR, NQ, NR, NRL, NTT, NV, NY, OP, OZ, P0, P3, P4, P6, P7, P8, P9, PA, PB, PE, PF, PG, PK, PL, PM, PN, PT, PU, PV, PW, PY, PZ, QD, QH, QK, QT, R4, RA, RD, RG, RK, RL, RN, RO, RS, RU, S5, S6, S7, S8, SA, SD, SE, SHT, SK, SL, SN, SO, SP, SS, SST, ST, SV, T1, T4, T5, T6, T7, T8, TA, TC, TD, TE, TF, TJ, TK, TL, TN, TQ, TR, TS, TSD, TSH, TT, TU, TV, TW, TY, UA, UD, UE, UF, UH, UM, VI, VQ, VS, W4, WH, WI, WR, WW, YL, YT, Z1, Z2, Z3, Z4, Z5, Z6, Z8 |
enum (10, 11, 13, 14, 15, 20, 21, 22, 23, 24, 25, 27, 28, 33, 34, 35, 37, 38, 40, 41, 56, 57, 58, 59, 60, 61, 74, 77, 80, 81, 85, 87, 89, 91, 1I, 2A, 2B, 2C, 2G, 2H, 2I, 2J, 2K, 2L, 2M, 2N, 2P, 2Q, 2R, 2U, 2X, 2Y, 2Z, 3B, 3C, 4C, 4G, 4H, 4K, 4L, 4M, 4N, 4O, 4P, 4Q, 4R, 4T, 4U, 4W, 4X, 5A, 5B, 5E, 5J, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A2, A20, A21, A22, A23, A24, A26, A27, A28, A29, A3, A30, A31, A32, A33, A34, A35, A36, A37, A38, A39, A4, A40, A41, A42, A43, A44, A45, A47, A48, A49, A5, A53, A54, A55, A56, A59, A6, A68, A69, A7, A70, A71, A73, A74, A75, A76, A8, A84, A85, A86, A87, A88, A89, A9, A90, A91, A93, A94, A95, A96, A97, A98, A99, AA, AB, ACR, ACT, AD, AE, AH, AI, AK, AL, AMH, AMP, ANN, APZ, AQ, AS, ASM, ASU, ATM, AWG, AY, AZ, B1, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21, B22, B23, B24, B25, B26, B27, B28, B29, B3, B30, B31, B32, B33, B34, B35, B4, B41, B42, B43, B44, B45, B46, B47, B48, B49, B50, B52, B53, B54, B55, B56, B57, B58, B59, B60, B61, B62, B63, B64, B66, B67, B68, B69, B7, B70, B71, B72, B73, B74, B75, B76, B77, B78, B79, B8, B80, B81, B82, B83, B84, B85, B86, B87, B88, B89, B90, B91, B92, B93, B94, B95, B96, B97, B98, B99, BAR, BB, BFT, BHP, BIL, BLD, BLL, BP, BPM, BQL, BTU, BUA, BUI, C0, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29, C3, C30, C31, C32, C33, C34, C35, C36, C37, C38, C39, C40, C41, C42, C43, C44, C45, C46, C47, C48, C49, C50, C51, C52, C53, C54, C55, C56, C57, C58, C59, C60, C61, C62, C63, C64, C65, C66, C67, C68, C69, C7, C70, C71, C72, C73, C74, C75, C76, C78, C79, C8, C80, C81, C82, C83, C84, C85, C86, C87, C88, C89, C9, C90, C91, C92, C93, C94, C95, C96, C97, C99, CCT, CDL, CEL, CEN, CG, CGM, CKG, CLF, CLT, CMK, CMQ, CMT, CNP, CNT, COU, CTG, CTM, CTN, CUR, CWA, CWI, D03, D04, D1, D10, D11, D12, D13, D15, D16, D17, D18, D19, D2, D20, D21, D22, D23, D24, D25, D26, D27, D29, D30, D31, D32, D33, D34, D36, D41, D42, D43, D44, D45, D46, D47, D48, D49, D5, D50, D51, D52, D53, D54, D55, D56, D57, D58, D59, D6, D60, D61, D62, D63, D65, D68, D69, D73, D74, D77, D78, D80, D81, D82, D83, D85, D86, D87, D88, D89, D91, D93, D94, D95, DAA, DAD, DAY, DB, DD, DEC, DG, DJ, DLT, DMA, DMK, DMO, DMQ, DMT, DN, DPC, DPR, DPT, DRA, DRI, DRL, DT, DTN, DWT, DZN, DZP, E01, E07, E08, E09, E10, E12, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E25, E27, E28, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E4, E40, E41, E42, E43, E44, E45, E46, E47, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65, E66, E67, E68, E69, E70, E71, E72, E73, E74, E75, E76, E77, E78, E79, E80, E81, E82, E83, E84, E85, E86, E87, E88, E89, E90, E91, E92, E93, E94, E95, E96, E97, E98, E99, EA, EB, EQ, F01, F02, F03, F04, F05, F06, F07, F08, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, F25, F26, F27, F28, F29, F30, F31, F32, F33, F34, F35, F36, F37, F38, F39, F40, F41, F42, F43, F44, F45, F46, F47, F48, F49, F50, F51, F52, F53, F54, F55, F56, F57, F58, F59, F60, F61, F62, F63, F64, F65, F66, F67, F68, F69, F70, F71, F72, F73, F74, F75, F76, F77, F78, F79, F80, F81, F82, F83, F84, F85, F86, F87, F88, F89, F90, F91, F92, F93, F94, F95, F96, F97, F98, F99, FAH, FAR, FBM, FC, FF, FH, FIT, FL, FOT, FP, FR, FS, FTK, FTQ, G01, G04, G05, G06, G08, G09, G10, G11, G12, G13, G14, G15, G16, G17, G18, G19, G2, G20, G21, G23, G24, G25, G26, G27, G28, G29, G3, G30, G31, G32, G33, G34, G35, G36, G37, G38, G39, G40, G41, G42, G43, G44, G45, G46, G47, G48, G49, G50, G51, G52, G53, G54, G55, G56, G57, G58, G59, G60, G61, G62, G63, G64, G65, G66, G67, G68, G69, G70, G71, G72, G73, G74, G75, G76, G77, G78, G79, G80, G81, G82, G83, G84, G85, G86, G87, G88, G89, G90, G91, G92, G93, G94, G95, G96, G97, G98, G99, GB, GBQ, GDW, GE, GF, GFI, GGR, GIA, GIC, GII, GIP, GJ, GL, GLD, GLI, GLL, GM, GO, GP, GQ, GRM, GRN, GRO, GV, GWH, H03, H04, H05, H06, H07, H08, H09, H10, H11, H12, H13, H14, H15, H16, H18, H19, H20, H21, H22, H23, H24, H25, H26, H27, H28, H29, H30, H31, H32, H33, H34, H35, H36, H37, H38, H39, H40, H41, H42, H43, H44, H45, H46, H47, H48, H49, H50, H51, H52, H53, H54, H55, H56, H57, H58, H59, H60, H61, H62, H63, H64, H65, H66, H67, H68, H69, H70, H71, H72, H73, H74, H75, H76, H77, H79, H80, H81, H82, H83, H84, H85, H87, H88, H89, H90, H91, H92, H93, H94, H95, H96, H98, H99, HA, HBA, HBX, HC, HDW, HEA, HGM, HH, HIU, HKM, HLT, HM, HMQ, HMT, HPA, HTZ, HUR, IA, IE, INH, INK, INQ, ISD, IU, IV, J10, J12, J13, J14, J15, J16, J17, J18, J19, J2, J20, J21, J22, J23, J24, J25, J26, J27, J28, J29, J30, J31, J32, J33, J34, J35, J36, J38, J39, J40, J41, J42, J43, J44, J45, J46, J47, J48, J49, J50, J51, J52, J53, J54, J55, J56, J57, J58, J59, J60, J61, J62, J63, J64, J65, J66, J67, J68, J69, J70, J71, J72, J73, J74, J75, J76, J78, J79, J81, J82, J83, J84, J85, J87, J90, J91, J92, J93, J95, J96, J97, J98, J99, JE, JK, JM, JNT, JOU, JPS, JWL, K1, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K2, K20, K21, K22, K23, K26, K27, K28, K3, K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K40, K41, K42, K43, K45, K46, K47, K48, K49, K50, K51, K52, K53, K54, K55, K58, K59, K6, K60, K61, K62, K63, K64, K65, K66, K67, K68, K69, K70, K71, K73, K74, K75, K76, K77, K78, K79, K80, K81, K82, K83, K84, K85, K86, K87, K88, K89, K90, K91, K92, K93, K94, K95, K96, K97, K98, K99, KA, KAT, KB, KBA, KCC, KDW, KEL, KGM, KGS, KHY, KHZ, KI, KIC, KIP, KJ, KJO, KL, KLK, KLX, KMA, KMH, KMK, KMQ, KMT, KNI, KNM, KNS, KNT, KO, KPA, KPH, KPO, KPP, KR, KSD, KSH, KT, KTN, KUR, KVA, KVR, KVT, KW, KWH, KWO, KWT, KX, L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, L2, L20, L21, L23, L24, L25, L26, L27, L28, L29, L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, L40, L41, L42, L43, L44, L45, L46, L47, L48, L49, L50, L51, L52, L53, L54, L55, L56, L57, L58, L59, L60, L63, L64, L65, L66, L67, L68, L69, L70, L71, L72, L73, L74, L75, L76, L77, L78, L79, L80, L81, L82, L83, L84, L85, L86, L87, L88, L89, L90, L91, L92, L93, L94, L95, L96, L98, L99, LA, LAC, LBR, LBT, LD, LEF, LF, LH, LK, LM, LN, LO, LP, LPA, LR, LS, LTN, LTR, LUB, LUM, LUX, LY, M1, M10, M11, M12, M13, M14, M15, M16, M17, M18, M19, M20, M21, M22, M23, M24, M25, M26, M27, M29, M30, M31, M32, M33, M34, M35, M36, M37, M38, M39, M4, M40, M41, M42, M43, M44, M45, M46, M47, M48, M49, M5, M50, M51, M52, M53, M55, M56, M57, M58, M59, M60, M61, M62, M63, M64, M65, M66, M67, M68, M69, M7, M70, M71, M72, M73, M74, M75, M76, M77, M78, M79, M80, M81, M82, M83, M84, M85, M86, M87, M88, M89, M9, M90, M91, M92, M93, M94, M95, M96, M97, M98, M99, MAH, MAL, MAM, MAR, MAW, MBE, MBF, MBR, MC, MCU, MD, MGM, MHZ, MIK, MIL, MIN, MIO, MIU, MLD, MLT, MMK, MMQ, MMT, MND, MON, MPA, MQH, MQS, MSK, MTK, MTQ, MTR, MTS, MVA, MWH, N1, N10, N11, N12, N13, N14, N15, N16, N17, N18, N19, N20, N21, N22, N23, N24, N25, N26, N27, N28, N29, N3, N30, N31, N32, N33, N34, N35, N36, N37, N38, N39, N40, N41, N42, N43, N44, N45, N46, N47, N48, N49, N50, N51, N52, N53, N54, N55, N56, N57, N58, N59, N60, N61, N62, N63, N64, N65, N66, N67, N68, N69, N70, N71, N72, N73, N74, N75, N76, N77, N78, N79, N80, N81, N82, N83, N84, N85, N86, N87, N88, N89, N90, N91, N92, N93, N94, N95, N96, N97, N98, N99, NA, NAR, NCL, NEW, NF, NIL, NIU, NL, NM3, NMI, NMP, NPT, NT, NU, NX, OA, ODE, OHM, ON, ONZ, OPM, OT, OZA, OZI, P1, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19, P2, P20, P21, P22, P23, P24, P25, P26, P27, P28, P29, P30, P31, P32, P33, P34, P35, P36, P37, P38, P39, P40, P41, P42, P43, P44, P45, P46, P47, P48, P49, P5, P50, P51, P52, P53, P54, P55, P56, P57, P58, P59, P60, P61, P62, P63, P64, P65, P66, P67, P68, P69, P70, P71, P72, P73, P74, P75, P76, P77, P78, P79, P80, P81, P82, P83, P84, P85, P86, P87, P88, P89, P90, P91, P92, P93, P94, P95, P96, P97, P98, P99, PAL, PD, PFL, PGL, PI, PLA, PO, PQ, PR, PS, PTD, PTI, PTL, PTN, Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19, Q20, Q21, Q22, Q23, Q24, Q25, Q26, Q27, Q28, Q29, Q30, Q31, Q32, Q33, Q34, Q35, Q36, Q37, Q38, Q39, Q40, Q3, QA, QAN, QB, QR, QTD, QTI, QTL, QTR, R1, R9, RH, RM, ROM, RP, RPM, RPS, RT, S3, S4, SAN, SCO, SCR, SEC, SET, SG, SIE, SM3, SMI, SQ, SQR, SR, STC, STI, STK, STL, STN, STW, SW, SX, SYR, T0, T3, TAH, TAN, TI, TIC, TIP, TKM, TMS, TNE, TP, TPI, TPR, TQD, TRL, TST, TTS, U1, U2, UB, UC, VA, VLT, VP, W2, WA, WB, WCD, WE, WEB, WEE, WG, WHR, WM, WSD, WTT, X1, YDK, YDQ, YRD, Z11, ZP, ZZ, X1A, X1B, X1D, X1F, X1G, X1W, X2C, X3A, X3H, X43, X44, X4A, X4B, X4C, X4D, X4F, X4G, X4H, X5H, X5L, X5M, X6H, X6P, X7A, X7B, X8A, X8B, X8C, XAA, XAB, XAC, XAD, XAE, XAF, XAG, XAH, XAI, XAJ, XAL, XAM, XAP, XAT, XAV, XB4, XBA, XBB, XBC, XBD, XBE, XBF, XBG, XBH, XBI, XBJ, XBK, XBL, XBM, XBN, XBO, XBP, XBQ, XBR, XBS, XBT, XBU, XBV, XBW, XBX, XBY, XBZ, XCA, XCB, XCC, XCD, XCE, XCF, XCG, XCH, XCI, XCJ, XCK, XCL, XCM, XCN, XCO, XCP, XCQ, XCR, XCS, XCT, XCU, XCV, XCW, XCX, XCY, XCZ, XDA, XDB, XDC, XDG, XDH, XDI, XDJ, XDK, XDL, XDM, XDN, XDP, XDR, XDS, XDT, XDU, XDV, XDW, XDX, XDY, XEC, XED, XEE, XEF, XEG, XEH, XEI, XEN, XFB, XFC, XFD, XFE, XFI, XFL, XFO, XFP, XFR, XFT, XFW, XFX, XGB, XGI, XGL, XGR, XGU, XGY, XGZ, XHA, XHB, XHC, XHG, XHN, XHR, XIA, XIB, XIC, XID, XIE, XIF, XIG, XIH, XIK, XIL, XIN, XIZ, XJB, XJC, XJG, XJR, XJT, XJY, XKG, XKI, XLE, XLG, XLT, XLU, XLV, XLZ, XMA, XMB, XMC, XME, XMR, XMS, XMT, XMW, XMX, XNA, XNE, XNF, XNG, XNS, XNT, XNU, XNV, XOA, XOB, XOC, XOD, XOE, XOF, XOK, XOT, XOU, XP2, XPA, XPB, XPC, XPD, XPE, XPF, XPG, XPH, XPI, XPJ, XPK, XPL, XPN, XPO, XPP, XPR, XPT, XPU, XPV, XPX, XPY, XPZ, XQA, XQB, XQC, XQD, XQF, XQG, XQH, XQJ, XQK, XQL, XQM, XQN, XQP, XQQ, XQR, XQS, XRD, XRG, XRJ, XRK, XRL, XRO, XRT, XRZ, XSA, XSB, XSC, XSD, XSE, XSH, XSI, XSK, XSL, XSM, XSO, XSP, XSS, XST, XSU, XSV, XSW, XSY, XSZ, XT1, XTB, XTC, XTD, XTE, XTG, XTI, XTK, XTL, XTN, XTO, XTR, XTS, XTT, XTU, XTV, XTW, XTY, XTZ, XUC, XUN, XVA, XVG, XVI, XVK, XVL, XVO, XVP, XVQ, XVN, XVR, XVS, XVY, XWA, XWB, XWC, XWD, XWF, XWG, XWH, XWJ, XWK, XWL, XWM, XWN, XWP, XWQ, XWR, XWS, XWT, XWU, XWV, XWW, XWX, XWY, XWZ, XXA, XXB, XXC, XXD, XXF, XXG, XXH, XXJ, XXK, XYA, XYB, XYC, XYD, XYF, XYG, XYH, XYJ, XYK, XYL, XYM, XYN, XYP, XYQ, XYR, XYS, XYT, XYV, XYW, XYX, XYY, XYZ, XZA, XZB, XZC, XZD, XZF, XZG, XZH, XZJ, XZK, XZL, XZM, XZN, XZP, XZQ, XZR, XZS, XZT, XZU, XZV, XZW, XZX, XZY, XZZ, 04, 05, 08, 16, 17, 18, 19, 26, 29, 30, 31, 32, 36, 43, 44, 45, 46, 47, 48, 53, 54, 62, 63, 64, 66, 69, 71, 72, 73, 76, 78, 84, 90, 92, 93, 94, 95, 96, 97, 98, 1A, 1B, 1C, 1D, 1E, 1F, 1G, 1H, 1J, 1K, 1L, 1M, 1X, 2V, 2W, 3E, 3G, 3H, 3I, 4A, 4B, 4E, 5C, 5F, 5G, 5H, 5I, 5K, 5P, 5Q, A1, A25, A50, A51, A52, A57, A58, A60, A61, A62, A63, A64, A65, A66, A67, A77, A78, A79, A80, A81, A82, A83, AJ, AM, AP, AR, ARE, ATT, AV, AW, B0, B2, B36, B37, B38, B39, B40, B5, B51, B6, B65, B9, BD, BE, BG, BH, BJ, BK, BL, BO, BR, BT, BW, BX, BZ, C1, C2, C4, C5, C6, C77, C98, CA, CH, CJ, CK, CL, CO, CQ, CR, CS, CT, CU, CV, CY, CZ, D14, D28, D35, D37, D38, D39, D40, D64, D66, D67, D7, D70, D71, D72, D75, D76, D79, D8, D9, D90, D92, D96, D97, D98, D99, DC, DE, DI, DQ, DR, DRM, DS, DU, DX, DY, E2, E3, E5, EC, EP, EV, F1, F9, FB, FD, FE, FG, FM, G7, GC, GD, GH, GK, GN, GRT, GT, GW, GY, GZ, H1, H2, HAR, HD, HE, HF, HI, HJ, HK, HL, HN, HO, HP, HS, HT, HY, IC, IF, II, IL, IM, IP, IT, JB, JG, JO, JR, K5, KD, KF, KG, KS, KTM, LC, LE, LI, LJ, LX, M0, MA, MF, MK, MQ, MT, MV, N2, NB, NBB, NC, ND, NE, NG, NH, NI, NJ, NN, NPL, NPR, NQ, NR, NRL, NTT, NV, NY, OP, OZ, P0, P3, P4, P6, P7, P8, P9, PA, PB, PE, PF, PG, PK, PL, PM, PN, PT, PU, PV, PW, PY, PZ, QD, QH, QK, QT, R4, RA, RD, RG, RK, RL, RN, RO, RS, RU, S5, S6, S7, S8, SA, SD, SE, SHT, SK, SL, SN, SO, SP, SS, SST, ST, SV, T1, T4, T5, T6, T7, T8, TA, TC, TD, TE, TF, TJ, TK, TL, TN, TQ, TR, TS, TSD, TSH, TT, TU, TV, TW, TY, UA, UD, UE, UF, UH, UM, VI, VQ, VS, W4, WH, WI, WR, WW, YL, YT, Z1, Z2, Z3, Z4, Z5, Z6, Z8) |
sellersItemIdentification |
The ID the seller assigned to this item. |
string |
standardItemIdentification |
Standardized ID for the item. |
string |
standardItemIdentificationSchemeAgencyId |
The scheme agency for the standardized ID for the item. |
string |
standardItemIdentificationSchemeId |
The scheme for the standardized ID for the item. |
string |
tax |
The tax for this invoice line. |
5.2.19. InvoiceRecipient
The different ways to send the invoice to the recipient. The publicIdentifiers are used to send via the Peppol network, if the recipient is not registered on the Peppol network, the invoice will be sent to the email addresses in the emails property. This property is only mandatory when sending the invoice data using the Invoice property, not when sending using the InvoiceData property, in which case this information will be extracted from the InvoiceData object. If you do specify an InvoiceRecipient object and an InvoiceData object, the data from the two will be merged.
Name | Description | Schema |
---|---|---|
emails |
The email addresses the invoice should be sent to if none of the other identifiers can be used |
< string (email) > array |
publicIdentifiers |
The public identifiers for this invoice recipient. These are the identifiers used on the Peppol network. Note that when sending invoices with VAT (or with a taxExemptReason), a receiver VAT number is required and that should be one of these publicIdentifiers. |
5.2.20. InvoiceRecipientPreflight
Identifies the invoice recipient to preflight
Name | Description | Schema |
---|---|---|
publicIdentifiers |
The public identifiers for this invoice recipient. |
5.2.21. InvoiceSubmission
The invoice you want Storecove to process, with some meta-data.
Name | Description | Schema |
---|---|---|
attachments |
An array of attachments. You may provide up to 10 attchments, but the total size must not exceed 10MB after Base64 encoding. |
< Attachment > array |
document |
DEPRECATED. Use attachments. |
string |
documentUrl |
DEPRECATED. Use attachments. |
string (uri) |
idempotencyGuid |
A guid that you generated for this InvoiceSubmission to achieve idempotency. If you submit multiple documents with the same idempotencyGuid, only the first one will be processed. |
string |
invoice |
||
invoiceData |
||
invoiceRecipient |
DEPRECATED. Use the routing and accountingCustomerParty.publicIdentifiers properties. |
|
legalEntityId |
The id of the LegalEntity this invoice should be sent for. |
integer |
legalSupplierId |
DEPRECATED. Use legalEntityId |
integer |
mode |
DEPRECATED. |
enum (direct) |
routing |
Specifies where the invoice is to be sent. Can be electronic identifiers or email addresses. |
|
supplierId |
DEPRECATED. |
integer |
5.2.22. InvoiceSubmissionActionEvidence
Name | Description | Schema |
---|---|---|
receiver_response |
The response the receiver sent. |
string |
transmission_datetime |
The DateTime of the transmission, as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z. |
string |
transmission_result |
The result of this transmission. |
enum (unknown, accepted, rejected, send_error, internal_error) |
transmission_type |
How the document was transmitted. |
enum (email, edi, as2, peppol, sandbox) |
transmitted_document |
The document that was transmitted. |
string |
5.2.23. InvoiceSubmissionEvidence
Name | Description | Schema |
---|---|---|
actions |
An array of actions taken to deliver the document. |
< InvoiceSubmissionActionEvidence > array |
guid |
The guid for the InvoiceSubmission. |
string |
status |
The overall status for this InvoiceSubmission. |
string |
5.2.24. InvoiceSubmissionResult
The result of an invoice submission
Name | Description | Schema |
---|---|---|
guid |
A (V4) GUID for the invoice submission |
string |
5.2.25. LegalEntity
Polymorphism : Composition
Name | Description | Schema |
---|---|---|
city |
The city. |
string |
country |
||
county |
County, if applicable |
string |
id |
The Storecove assigned id for the LegalEntity. |
integer (int64) |
line1 |
The first address line. |
string |
line2 |
The second address line, if applicable |
string |
party_name |
The name of the company. |
string |
peppol_identifiers |
< object > array |
|
public |
Whether or not this LegalEntity is public. Public means it will be listed in the PEPPOL directory at https://directory.peppol.eu/ which is normally what you want. If you have a good reason to not want the LegalEntity listed, provide false. This property is ignored when for country SG, where it is always true. |
boolean |
tenant_id |
The id of the tenant, to be used in case of multi-tenant solutions. This property will included in webhook events. |
string |
zip |
The zipcode. |
string |
5.2.26. LegalEntityCreate
Name | Description | Schema |
---|---|---|
city |
The city. |
string |
country |
||
county |
County, if applicable |
string |
line1 |
The first address line. |
string |
line2 |
The second address line, if applicable |
string |
party_name |
The name of the company. |
string |
public |
Whether or not this LegalEntity is public. Public means it will be entered into the PEPPOL directory at https://directory.peppol.eu/ |
boolean |
tenant_id |
The id of the tenant, to be used in case of multi-tenant solutions. This property will included in webhook events. |
string |
zip |
The zipcode. |
string |
5.2.27. LegalEntityUpdate
Name | Description | Schema |
---|---|---|
city |
The city. |
string |
country |
||
county |
County, if applicable |
string |
id |
The Storecove assigned id for the LegalEntity. |
integer (int64) |
line1 |
The first address line. |
string |
line2 |
The second address line, if applicable |
string |
party_name |
The name of the company. |
string |
public |
Whether or not this LegalEntity is public. Public means it will be listed in the PEPPOL directory at https://directory.peppol.eu/ which is normally what you want. If you have a good reason to not want the LegalEntity listed, provide false. This property is ignored when for country SG, where it is always true. |
boolean |
tenant_id |
The id of the tenant, to be used in case of multi-tenant solutions. This property will included in webhook events. |
string |
zip |
The zipcode. |
string |
5.2.28. Party
A party that can receive or send invoices
Name | Description | Schema |
---|---|---|
address |
||
companyName |
The name of the company receiving the invoice |
string |
contact |
5.2.29. PaymentMeans
A PaymentMeans is a way to pay the invoice.
Name | Description | Schema |
---|---|---|
account |
The account number. |
string |
branche_code |
The bank branch code. Not required for IBAN numbers. Often referred to as Swift or Bic code. |
string |
code |
How the invoice has been / will be paid. The code determines which type of PaymentMeans is used and which fields are mandatory.
|
enum (online_payment_service, bank_card, standing_agreement, credit_transfer, direct_debit, se_bankgiro, se_plusgiro, aunz_npp, sg_giro, sg_card, sg_paynow) |
holder |
The name of the account holder. |
string |
mandate |
The direct debit mandate code. |
string |
network |
The name of the card network, e.g. VISA. |
string |
5.2.30. PeppolIdentifier
Name | Description | Schema |
---|---|---|
identifier |
The identifier. |
string |
scheme |
The scheme of the identifier. See [_peppol_schemes_list] for a list. |
string |
superscheme |
The superscheme of the identifier. Should always be "iso6523-actorid-upis". |
string |
5.2.31. PeppolIdentifierCreate
Name | Description | Schema |
---|---|---|
identifier |
The identifier. |
string |
scheme |
The scheme of the identifier. See [_peppol_schemes_list] for a list. |
string |
superscheme |
The superscheme of the identifier. Should always be "iso6523-actorid-upis". |
string |
5.2.32. PreflightInvoiceRecipientResult
The result of preflighting an invoice recipient
Name | Description | Schema |
---|---|---|
code |
The result code of the preflight request |
enum (ok, nok) |
5.2.33. PublicIdentifier
A public identifier for this customer.
Name | Description | Schema |
---|---|---|
id |
The actual identifier. |
string |
scheme |
The scheme of the identifier. See [_peppol_schemes_list] for a list. |
string |
5.2.34. PublicIdentifiers
A list of public identifiers that uniquely identify this customer.
Type : < PublicIdentifier > array
5.2.35. PurchaseInvoice
Name | Description | Schema |
---|---|---|
accounting |
DEPRECATED - The accounting details for the invoice. Will only evern contain null properties. |
|
accounting_cost |
The accounting cost code. |
string |
allowance_charge |
DEPRECATED - Use the allowance_charges array. |
number |
allowance_charges |
< PurchaseInvoiceAllowanceCharge > array |
|
amount_including_tax |
The total invoice amount payable, including tax. This is equal to the sum of the invoice_lines (amount_excluding_tax + tax.amount) |
number |
amount_including_vat |
DEPRECATED - Use amount_including_tax. |
number |
attachments |
< PurchaseInvoiceAttachment > array |
|
billing_reference |
Reference to the previous invoice this invoice relates to. |
string |
buyer_reference |
Reference provided by the buyer. Used for routing. |
string |
contract_document_reference |
Reference to the contract. |
string |
delivery |
The details of the delivery associated with this invoice. |
|
document |
DEPRECTATED. Use the new atatchments array. |
string |
document_currency_code |
The ISO 4217 currency for the invoice. |
string |
due_date |
The date the invoice must be payed by. Format "YYYY-MM-DD". |
string |
external_key |
Used for accountants. The id you specified for the organization. |
string |
external_user_id |
Used for the embedded portal retrieval service. The external_user_id you provided when the ShopAccount was created. |
string |
guid |
The GUID of the invoice |
string (uuid) |
invoice_lines |
< PurchaseInvoiceInvoiceLine > array |
|
invoice_number |
The invoicenumber. |
string |
invoice_type |
The type of invoice. |
enum (invoice, creditnote, correctioninvoice) |
issue_date |
The date the invoice was issued. Format "YYYY-MM-DD". |
string |
legal_entity_id |
The id of the LegalEntity the invoice was received for. |
integer (int64) |
note |
The invoice level note. |
string |
order_reference |
Reference to the order. Used for matching the invoice to an order. |
string |
payable_amount |
The total invoice amount payable including tax. This is equal to amount_including_tax + allowance_charge + payable_rounding_amount. This property is redundant and provided only to make invoice processing easier. You can also choose to only store this property, instead of the underlying fields. |
number |
payable_rounding_amount |
The difference between the invoice total and the sum of the invoice lines. |
number |
payment_means |
DEPRECATED - Use the new payment_means_array array. |
|
payment_means_array |
The different payment means that can be used to pay the invoice. |
< PurchaseInvoicePaymentMeans > array |
payment_means_payment_id |
DEPRECATED - use the payment_id property in the payment_means_array |
string |
payment_terms_note |
A textual description of the payment terms. |
string |
period_end |
The end date of the period this invoice relates to. Format "YYYY-MM-DD". |
string |
period_start |
The start date of the period this invoice relates to. Format "YYYY-MM-DD". |
string |
prepaid_amount |
The amount already paid. |
number |
project_reference |
Reference to the project. |
string |
sender |
The organzation that sent the invoice. |
|
source |
The source the invoice was received from. |
enum (peppol, script, supplier, email) |
system_generated_primary_image |
Whether or not the document image (PDF) was generated by Storecove. If true, it means the invoice was received without any attachments and Storecove generated one for you. If false, the invoice will contain at least one attachment, which was received from the invoice sender.. |
boolean |
tax_point_date |
The date the invoice was issued for tax purposes. In most countries MUST match the issue_date. Format "YYYY-MM-DD". |
string |
tax_subtotals |
< PurchaseInvoiceTaxSubtotal > array |
|
tax_system |
The tax system of the invoice. Either tax_line_percentages or tax_line_amounts. The first tax system means the invoice lines contain only the tax percentages and the tax amounts are included only in the tax subtotals at the invoice level and so are only calculated at the invoice level. The tax system tax_line_amounts means that in addition to the percentage, each invoice line also contains the tax amount. The tax subtotals at the invoice level are calculated as the sum of the tax of the invoice lines. The distinction between the two tax systems has has implications for rounding. |
string |
vat_reverse_charge |
DEPRECATED - This is now part of each invoice line. |
boolean |
PurchaseInvoice Delivery
Name | Description | Schema |
---|---|---|
actual_date |
The actual delivery date. |
string |
location |
The location the goods/services were delivered to. |
|
party |
The party the goods/services were delivered to. |
Location
Name | Description | Schema |
---|---|---|
city |
Address city. |
string |
country |
Address country. |
string |
county |
Address county. |
string |
department |
Department name. |
string |
id |
The id of the location. |
string |
line1 |
Address line 1. |
string |
line2 |
Address line 2. |
string |
scheme_id |
The scheme id for the id of the location. |
string |
zip |
Address zip code |
string |
PurchaseInvoice Party
Name | Description | Schema |
---|---|---|
name |
The name of the deliveyr party. |
string |
Payment Means - DEPRECATED
Name | Description | Schema |
---|---|---|
iban |
The IBAN to which to transfer. |
string |
id |
An id to mention in the transfer. |
string |
5.2.36. PurchaseInvoiceAccountingDetails
Name | Description | Schema |
---|---|---|
code |
The the code of the general ledger account. |
string |
list |
The name of the list for the code, e.g. "RGS". |
string |
list_version |
The version of the list for the code, e.g. "1.1". |
string |
name |
A textual description of the code. |
string |
5.2.37. PurchaseInvoiceAllowanceCharge
Name | Description | Schema |
---|---|---|
amount_excluding_tax |
The amount excluding tax. |
number |
amount_excluding_vat |
DEPRECATED - use amount_excluding_tax. |
string |
reason |
The reason for the allowance or charge. |
string |
tax |
||
vat |
5.2.38. PurchaseInvoiceAttachment
Name | Description | Schema |
---|---|---|
content_type |
The attachment content type (mime type). |
string |
document |
The Base64 encoded document attachment. |
string |
5.2.39. PurchaseInvoiceInvoiceLine
Name | Description | Schema |
---|---|---|
accounting |
The accounting details for the invoice line. |
|
allowance_charge |
DEPRECATED - use allowance_charges. |
number |
allowance_charges |
||
amount_excluding_vat |
The amount excluding VAT. This is equal to quantity x price_amount + allowance_charge. This property is redundant and provided only to make invoice processing more easy. You can also choose to only store this property, instead of the underlying fields. |
number |
description |
The description for the invoice line. |
string |
price_amount |
The price for one item, excluding VAT. |
number |
quantity |
The quantity of the item. |
number |
vat |
The VAT details for the invoice line. |
VAT Details
Name | Description | Schema |
---|---|---|
amount |
The amount of VAT for the invoice line. |
number |
country |
The ISO 3166 country of the VAT for the invoice line. |
string |
percentage |
The percentage of VAT for the invoice line. |
number |
5.2.40. PurchaseInvoiceInvoiceLineAllowanceCharge
Name | Description | Schema |
---|---|---|
amount |
The amount of the allowance or charge. |
number |
5.2.41. PurchaseInvoicePaymentMeans
Name | Description | Schema |
---|---|---|
account |
The account number to which to transfer. |
string |
branch_code |
The code identifying the bank branch. May contain a BIC/SWIFT or something appropriate for the payment method, such as "NPP" for type NppPaymentMean. |
string |
holder |
The account holder name to which to transfer. |
string |
mandate |
The mandate, used only for type DirectDebitPaymentMean. |
string |
network |
The payment network. Used only for type CardPaymentType. |
string |
payment_id |
The payment id to use when making the payment. The invoice sender will use this to match the received funds to the invoice. |
string |
type |
The type of payment means. |
enum (BankPaymentMean, CardPaymentMean, DirectDebitPaymentMean, NppPaymentMean, SeBankgiroPaymentMean, SePlusGiroPaymentMean, SgCardPaymentMean, SgGiroPaymentMean, SgPaynowPaymentMean) |
5.2.42. PurchaseInvoiceSender
Name | Description | Schema |
---|---|---|
billing_contact |
The billing contact for the invoice. |
|
city |
The city. |
string |
country |
The country. |
string |
county |
The county. |
string |
department |
The department who sent the invoice. |
string |
identifiers |
The array of identifiers for this sender. |
< PeppolIdentifier > array |
line1 |
The address |
string |
line2 |
The address, line 2 |
string |
party_name |
The party who sent the invoice. |
string |
peppol_identifiers |
DEPRECATED - Use the identifiers array. |
|
zip |
The zip code. |
string |
5.2.43. PurchaseInvoiceSenderBillingContact
Name | Description | Schema |
---|---|---|
email |
The email of the billing contact. |
string |
first_name |
The first name of the billing contact. |
string |
last_name |
The last name of the billing contact. |
string |
5.2.44. PurchaseInvoiceTax
Name | Description | Schema |
---|---|---|
tax |
The tax element. |
PurchaseInvoiceTaxElement
Name | Description | Schema |
---|---|---|
amount |
The tax country. |
string |
category |
The tax category. |
string |
category_code |
The tax category code. |
string |
percentage |
The tax percentage. |
number |
type |
The tax type. |
string |
5.2.45. PurchaseInvoiceTaxSubtotal
Name | Description | Schema |
---|---|---|
amount_excluding_tax |
The amount excluding tax. |
number |
amount_excluding_vat |
DEPRECATED - use amount_excluding_tax. |
string |
tax |
||
vat |
5.2.46. PurchaseInvoiceUbl
Name | Description | Schema |
---|---|---|
external_key |
Used for accountants. The id you specified for the organization. |
string |
external_user_id |
Used for the embedded portal retrieval service. The external_user_id you provided when the ShopAccount was created. |
string |
guid |
The GUID of the invoice |
string (uuid) |
legal_entity_id |
The id of the LegalEntity the invoice was received for. |
integer (int64) |
system_generated_primary_image |
Whether or not the document image (PDF) was generated by Storecove. If true, it means the invoice was received without any attachments and Storecove generated one for you. If false, the invoice will contain at least one attachment, which was received from the invoice sender. |
boolean |
tax_system |
The tax system of the invoice. Either tax_line_percentages or tax_line_amounts. The first tax system means the invoice lines contain only the tax percentages and the tax amounts are included only in the tax subtotals at the invoice level and so are only calculated at the invoice level. The tax system tax_line_amounts means that in addition to the percentage, each invoice line also contains the tax amount. |
string |
ubl |
The Base64 encoded UBL invoice. |
string |
5.2.47. PurchaseInvoiceVat
DEPRECATED - Use tax.
Name | Description | Schema |
---|---|---|
amount |
The VAT country. |
string |
percentage |
The VAT percentage. |
string |
5.2.48. Routing
The different ways to send the invoice to the recipient. The publicIdentifiers are used to send via the Peppol network, if the recipient is not registered on the Peppol network, the invoice will be sent to the email addresses in the emails property. This property is only mandatory when sending the invoice data using the Invoice property, not when sending using the InvoiceData property, in which case this information will be extracted from the InvoiceData object. If you do specify an InvoiceRecipient object and an InvoiceData object, the data from the two will be merged.
Name | Description | Schema |
---|---|---|
eIdentifiers |
The electronic identifiers for this invoice recipient. These are the identifiers used on the Peppol network. |
|
emails |
The email addresses the invoice should be sent to if none of the other identifiers can be used |
< string (email) > array |
5.2.49. RoutingIdentifier
An electronic routing identifier.
Name | Description | Schema |
---|---|---|
id |
The actual identifier. |
string |
scheme |
The scheme of the identifier. See [_peppol_schemes_list] for a list. |
string |
5.2.51. Tax
Name | Description | Schema |
---|---|---|
amount |
The amount of VAT. Mandatory if taxSystem == 'tax_line_amounts'. However, it is best to use taxSystem tax_line_percentages and provide only the percentage, not the actual amount. The amount is then provided at the invoice level, in the taxSubtotals element. |
number |
category |
The optional category code for the tax. This is not mandatory, but highly recommended. If not provided, it will be automatically derived from the country/percentage in combination with the invoice taxPointDate (which defaults to the issueDate), but there are situations in which this fails and the category needs to be specified explicitly. In particular, there are multiple categories available for 0%. The allowed values depend on the country of the tax.
|
enum (standard, zero_rated, reverse_charge, intra_community, exempt, export, outside_scope, regulation33_exempt, nonregulation33_exempt, deemed_supply, srca_s, srca_c, not_registered, sales_tax, sales_tax_work, service_tax, service_tax_import, sales_to_export_market, sales_to_special_area, sales_to_designated_area, exemption_schedule_a, exemption_schedule_b, exemption_schedule_c_a, exemption_schedule_c_b, exemption_schedule_c_c, exemption_service_tax) |
country |
||
percentage |
The percentage Tax. This should be a valid Tax percentage in the country at the time of the issueDate of this invoice. Mandatory if taxSystem == 'tax_line_percentages' |
number |
5.2.52. TaxSubtotal
The total amount of tax of this type in the invoice.
Name | Description | Schema |
---|---|---|
category |
The tax category. For a description see Tax |
enum (standard, zero_rated, reverse_charge, intra_community, exempt, export, outside_scope, regulation33_exempt, nonregulation33_exempt, deemed_supply, srca_s, srca_c, not_registered, sales_tax_work, service_tax, service_tax_import, sales_to_export_market, sales_to_special_area, sales_to_designated_area, exemption_schedule_a, exemption_schedule_b, exemption_schedule_c_a, exemption_schedule_c_b, exemption_schedule_c_c, exemption_service_tax) |
country |
The country levying the tax. |
|
percentage |
The tax percentage. This should be a valid tax percentage in the country at the time of the taxpointDate of this invoice. Required unless taxAmount is provided. |
number |
taxAmount |
The amount of tax. |
number |
taxableAmount |
The amount on which the tax is levied. Required unless percentage is provided. |
number |
6. Appendix
6.1. Countries
The API is is generic as possible. However, some countries have specific requirements or features that are listed here.
AT - Austria
When sending invoices to the Austrian government (AT:GOV / 9915), all invoices have to be routed to 9915:b (for production) or 9915:test (for test). The 9915 identifier of the final recipient is to be included in the invoice.accountingCustomerParty.publicIdentifiers array.
Invoices to companies (AT:KUR / 9919) are routed directly to that identifier.
AU - Australia
Multiple PaymentMeans in the PaymentMeansArray are only allowed if they are of the same type.
The accountingCustomerParty.party.publicIdentifiers cannot have identifiers that overlap with the one in the sending LegalEntity. This means you cannot send to yourself.
BE - Belgium
Storecove automatically transforms the deprecated BE:CBE / 9956 to the new BE:EN / 0208, however it is recommended to use the new scheme.
DE - Germany
The invoice.accountingSupplierParty.party.contact is mandatory.
The invoice.paymentMeansArray must include at least a single payment means.
When sending to businesses, the VAT number is used for routing. Some service providers register this with the "DE" prefix, some without. We check both for you, but you need to always include the "DE" in any object sent to us.
Storecove automatically transforms the deprecated DE:LID / 9958 to the new DE:LWID / 0204, however it is recommended to use the new scheme.
DK - Denmark
Danish senders must provide a legal identifier DK:DIGST / 0184.
Storecove automatically transforms the deprecated DE:LID / 9902 to the new DE:LWID / 0198, however it is recommended to use the new scheme.
FR - France
When sending invoices to the French government (Chorus Pro):
-
All invoices have to be routed to SIRET 0009:11000201100044. There is no test environment for sending to public entities.
-
The SIRET / 0009 identifier of the final recipient is to be included in the invoice.accountingCustomerParty.publicIdentifiers array.
-
The service code must be sent in invoice.buyerReference.
-
The commitment number must be sent in the invoice.orderReference.
Invoices to companies (SIRET / 0009 or SIRENE / 0002) are routed directly to that identifier.
HR - Croatia
When sending to businesses, the VAT number is used for routing. Most service providers register this without the "HR" prefix. We check both for you, but you need to always include the "HR" in any object sent to us.
IT - Italy
When using an email address to send invoices with FatturaPA attachment, make sure it is not an Italy-specific "PEC" email address. PEC (Posta Elettronica Certificata) is a closed local Italian email network run by a closed group of 19 Italian companies. These emails will bounce and you will be notified of this via webhook.
NL - The Netherlands
When sending to public entities, the invoice.accountingSupplierParty.party.contact is mandatory.
Dutch senders and receivers require a legal identifier. For companies, this is NL:KVK / 0106. For public entities, this is NL:OINO / 0190.
Storecove automatically transforms the deprecated NL:OIN / 9954 to the new NL:OINO / 0190, however it is recommended to use the new scheme.
NO - Norway
Storecove automatically transforms the deprecated NO:ORGNR / 9908 to the new NO:ORG / 0192, however it is recommended to use the new scheme.
NZ - New Zealand
New Zealand uses the NZBN to identify businesses. However, this is not an official Peppol participant identifier. In fact, it’s a GLN under the hood. So to register a New Zealand business, use the GLN identifier. In addition, when sending invoices to a New Zealand customer, make sure you include the pseudo identifier NZ:GST / SC0001 as their tax identifier.
SG - Singapore
For sending to the Singapore government there are a number of specific rules to follow:
-
Make sure you have a CorpPass account at CorpPass portal (corppass.gov.sg)
-
Make sure you have have an approved vendor record at Vendors@Gov (vendors.gov.sg).
-
Route to endpoint of the Accountant-General’s Department: 0195:SGUENT08GA0028A.
-
The property invoice.buyerReference must contain the Business Unit. This is one of this list:
-
invoice.prepaidAmount and invoice.payableRoundingAmount are not acceptable.
-
invoice.orderReference may be mandatory. To find out whether you need to bill against an Invoicing Instruction/Purchase Order, enquire with your client agency.
-
When invoicing against an Invoicing Instruction/Purchase Order, invoice.invoiceLines.orderLineReferenceLineId must hold the corresponding LineID of the Order.
-
Only a single attachment is allowed and only PDF.
When sending to Singapore companies, no specific rules apply and you can use the individual company’s UEN for routing.
6.2. Peppol Participant Identifier List
This is the full list of public identifier schemes and is used for SFTP Integrations.
Scheme | Scheme Numerical | Description |
---|---|---|
AD:VAT |
9922 |
Andorra VAT number |
AL:VAT |
9923 |
Albania VAT number |
AT:GOV |
9915 |
Österreichisches Verwaltungs bzw. Organisationskennzeichen |
AT:KUR |
9919 |
Kennziffer des Unternehmensregisters |
AT:VAT |
9914 |
Österreichische Umsatzsteuer-Identifikationsnummer |
AU:ABN |
0151 |
Australian Business Number (ABN) |
BA:VAT |
9924 |
Bosnia and Herzegovina VAT number |
BE:CBE |
9956 |
KBO nummer / Numéro BCE |
BE:VAT |
9925 |
BTW nummer / Numéro de TVA |
BG:VAT |
9926 |
Bulgaria VAT number |
CH:UIDB |
0183 |
Swiss Unique Business Identification Number (UIDB) |
CH:VAT |
9927 |
Switzerland VAT number |
CY:VAT |
9928 |
Cyprus VAT number |
CZ:VAT |
9929 |
Czech Republic VAT number |
DE:LWID |
0204 |
Leitweg ID |
DE:LID |
9958 |
Leitweg ID (Deprecated) |
DE:VAT |
9930 |
Umsatzsteuer-Identifikationsnummer |
DK:CPR |
9901 |
Danish Ministry of the Interior and Health |
DK:CVR |
9902 |
The Danish Commerce and Companies Agency |
DK:DIGST |
0184 |
DIGSTORG |
DK:ERST |
0184 |
ERSTORG |
DK:P |
0096 |
Danish Chamber of Commerce |
DK:SE |
9904 |
Danish Ministry of Taxation, Central Customs and Tax Administration |
DK:VANS |
9905 |
Danish VANS providers |
DUNS |
0060 |
Dun and Bradstreet Ltd |
EE:CC |
0191 |
Estonian company code |
EE:VAT |
9931 |
Estonia VAT number |
ES:VAT |
9920 |
Agencia Española de Administración Tributaria |
EU:NAL |
0130 |
Directorates of the European Commission |
EU:REID |
9913 |
Business Registers Network |
FI:OVT |
0037 |
National Board of Taxes, (Verohallitus) |
FR:SIRENE |
0002 |
Institut National de la Statistique et des Etudes Economiques, (I.N.S.E.E.) |
FR:SIRET |
0009 |
DU PONT DE NEMOURS |
FR:VAT |
9957 |
French VAT |
GB:VAT |
9932 |
VAT number |
GLN |
0088 |
GS1 EAN Location Code. This is also the New Zealand identifier, the NZBN. To use NZBN, use GLN. See also: FAQ. |
GR:VAT |
9933 |
Greece VAT number |
HR:VAT |
9934 |
Croatia VAT number |
HU:VAT |
9910 |
Hungarian VAT |
IBAN |
9918 |
SOCIETY FOR WORLDWIDE INTERBANK FINANCIAL, TELECOMMUNICATION S.W.I.F.T |
IE:VAT |
9935 |
Ireland VAT number |
IS:KTNR |
0196 |
Icelandic National Registry |
IT:CF |
9907 |
Codice Fiscale |
IT:CUUO |
0201 |
Codice Univoco Unità Organizzativa iPA |
IT:FTI |
0097 |
FTI - Ediforum Italia |
IT:SECETI |
0142 |
Servizi Centralizzati SECETI S.p.A. |
IT:SIA |
0135 |
SIA-Società Interbancaria per l’Automazione S.p.A. |
IT:VAT |
9906 |
Partita IVA |
LEI |
0199 |
Legal Entity Identifier, ISO 17442 |
LI:VAT |
9936 |
Liechtenstein VAT number |
LT:LEC |
0200 |
Legal entity code |
LT:VAT |
9937 |
Lithuania VAT number |
LU:VAT |
9938 |
Luxemburg VAT number |
LV:VAT |
9939 |
Latvia VAT number |
MC:VAT |
9940 |
Monaco VAT number |
ME:VAT |
9941 |
Montenegro VAT number |
MK:VAT |
9942 |
Macedonia, the former Yugoslav Republic of VAT number |
MT:VAT |
9943 |
Malta VAT number |
NL:KVK |
0106 |
Kamer van Koophandel nummer |
NL:OINO |
0190 |
Overheid Identificatie Nummer |
NL:VAT |
9944 |
BTW nummer |
NO:ORG |
0192 |
The Brønnøysund Register Centre |
NO:ORGNR |
9908 |
Enhetsregisteret ved Bronnoysundregisterne |
PL:VAT |
9945 |
Poland VAT number |
PT:VAT |
9946 |
Portugal VAT number |
RO:VAT |
9947 |
Romania VAT number |
RS:VAT |
9948 |
Serbia VAT number |
SE:ORGNR |
0007 |
The National Tax Board |
SE:VAT |
9955 |
Swedish VAT number |
SG:UEN |
0195 |
Singapore Nationwide eInvoicing Framework |
SI:VAT |
9949 |
Slovenia VAT number |
SK:VAT |
9950 |
Slovakia VAT number |
SM:VAT |
9951 |
San Marino VAT number |
TR:VAT |
9952 |
Turkey VAT number |
VA:VAT |
9953 |
Holy See (Vatican City State) VAT number |
6.3. FAQ
SFTP & Email integrations
Storecove does support integrating via SFTP and email however the recommended path is to use the API. SFTP and email is only supported for single enities (e.g. companies). For more detail see our documentation for Companies.