create_invoice
Send a Finland B2B/B2G electronic invoice (verkkolasku) over the Peppol network in Peppol BIS 3.0 / EN 16931 format via Storecove (a certified Peppol Access Point). Finland mandates structured e-invoicing for public-sector suppliers (B2G) since 2020-04-01, and a business has the right to require an e-invoice from another business (turnover over EUR 10,000) under the Act on Electronic Invoicing (241/2019) — not a blanket B2B mandate, but Peppol/Finvoice is the Finnish rail. Builds the structured invoice JSON from seller + buyer (name, Finnish VAT FIxxxxxxxx and/or Y-tunnus business ID, address) and line items (description, quantity, net unit price, VAT rate 25.5/14/10/0), computes the Finnish VAT (ALV) breakdown, and submits it under YOUR OWN Storecove credentials. Bring your own credential as header x-storecove-key. You must also pass seller_legal_entity_id — the legalEntityId of the sender you created in your Storecove account. Finnish VAT rates: 25.5 (standard, decimal, since 2024-09-01), 14 (food/restaurant), 10 (books/pharmaceuticals/passenger transport), 0 (zero-rated/exempt/reverse charge). Amounts in EUR. Delivery over Peppol is asynchronous: this returns a submission guid — use get_delivery_evidence with it to fetch the delivery proof/status. Tip: call check_recipient first to confirm the buyer is reachable on Peppol. There is no cancel over Peppol: to reverse an invoice you issue a credit note (a new invoice).
Parameters24
| seller_legal_entity_id | string | required | REQUIRED. The Storecove legalEntityId of the sender (created in your Storecove account under Senders). Numeric id, passed through to Storecove. |
| seller_name | string | required | Seller legal/company name. |
| seller_vat | string | optional | Seller Finnish VAT number, format FIxxxxxxxx (FI + 8 digits, derived from the Y-tunnus). Provide this and/or seller_business_id. |
| seller_business_id | string | optional | Optional seller Finnish business ID (Y-tunnus), 7+1 digits, format NNNNNNN-N. |
| seller_address | string | required | Seller street address. |
| seller_city | string | required | Seller city. |
| seller_zip | string | required | Seller postal code. |
| seller_country | string | optional | Seller country code. Default FI. |
| customer_name | string | required | Buyer legal/company name. |
| customer_vat | string | optional | Buyer Finnish VAT number FIxxxxxxxx. Provide this and/or customer_business_id (used to route on Peppol if no explicit recipient id is given). |
| customer_business_id | string | optional | Optional buyer Finnish business ID (Y-tunnus), 7+1 digits. |
| customer_address | string | required | Buyer street address. |
| customer_city | string | required | Buyer city. |
| customer_zip | string | required | Buyer postal code. |
| customer_country | string | optional | Buyer country code. Default FI. |
| recipient_peppol_scheme | string | optional | Optional explicit Peppol routing scheme (EAS/ISO6523). Finland: 0037 (OVT / Y-tunnus) or 0213 (VAT). Default 0037 when routing by business ID. |
| recipient_peppol_id | string | optional | Optional explicit Peppol participant identifier to route to (overrides deriving from the customer VAT/business ID). |
| recipient_email | string | optional | Optional email fallback — used if the recipient is not on Peppol (Storecove can email a copy). |
| invoice_number | string | optional | Invoice number. Auto-generated if omitted. |
| issue_date | string | optional | Invoice issue date, YYYY-MM-DD. Default: today (UTC). |
| due_date | string | optional | Optional payment due date, YYYY-MM-DD. |
| currency | string | optional | Document currency. Default EUR. |
| note | string | optional | Optional free-text note on the invoice. |
| lines | array | required | Invoice line items. Each: description, unit_price (net, VAT-exclusive, EUR), vat_rate (25.5|14|10|0), optional quantity (default 1), optional tax_category (S standard / Z zero-rated / E exempt / AE reverse charge; default S for rate>0, Z for rate 0), optional item_name. |
Raw schema
{
"type": "object",
"properties": {
"seller_legal_entity_id": {
"type": "string",
"description": "REQUIRED. The Storecove legalEntityId of the sender (created in your Storecove account under Senders). Numeric id, passed through to Storecove."
},
"seller_name": {
"type": "string",
"description": "Seller legal/company name."
},
"seller_vat": {
"type": "string",
"description": "Seller Finnish VAT number, format FIxxxxxxxx (FI + 8 digits, derived from the Y-tunnus). Provide this and/or seller_business_id."
},
"seller_business_id": {
"type": "string",
"description": "Optional seller Finnish business ID (Y-tunnus), 7+1 digits, format NNNNNNN-N."
},
"seller_address": {
"type": "string",
"description": "Seller street address."
},
"seller_city": {
"type": "string",
"description": "Seller city."
},
"seller_zip": {
"type": "string",
"description": "Seller postal code."
},
"seller_country": {
"type": "string",
"description": "Seller country code. Default FI."
},
"customer_name": {
"type": "string",
"description": "Buyer legal/company name."
},
"customer_vat": {
"type": "string",
"description": "Buyer Finnish VAT number FIxxxxxxxx. Provide this and/or customer_business_id (used to route on Peppol if no explicit recipient id is given)."
},
"customer_business_id": {
"type": "string",
"description": "Optional buyer Finnish business ID (Y-tunnus), 7+1 digits."
},
"customer_address": {
"type": "string",
"description": "Buyer street address."
},
"customer_city": {
"type": "string",
"description": "Buyer city."
},
"customer_zip": {
"type": "string",
"description": "Buyer postal code."
},
"customer_country": {
"type": "string",
"description": "Buyer country code. Default FI."
},
"recipient_peppol_scheme": {
"type": "string",
"description": "Optional explicit Peppol routing scheme (EAS/ISO6523). Finland: 0037 (OVT / Y-tunnus) or 0213 (VAT). Default 0037 when routing by business ID."
},
"recipient_peppol_id": {
"type": "string",
"description": "Optional explicit Peppol participant identifier to route to (overrides deriving from the customer VAT/business ID)."
},
"recipient_email": {
"type": "string",
"description": "Optional email fallback — used if the recipient is not on Peppol (Storecove can email a copy)."
},
"invoice_number": {
"type": "string",
"description": "Invoice number. Auto-generated if omitted."
},
"issue_date": {
"type": "string",
"description": "Invoice issue date, YYYY-MM-DD. Default: today (UTC)."
},
"due_date": {
"type": "string",
"description": "Optional payment due date, YYYY-MM-DD."
},
"currency": {
"type": "string",
"description": "Document currency. Default EUR."
},
"note": {
"type": "string",
"description": "Optional free-text note on the invoice."
},
"lines": {
"type": "array",
"minItems": 1,
"description": "Invoice line items. Each: description, unit_price (net, VAT-exclusive, EUR), vat_rate (25.5|14|10|0), optional quantity (default 1), optional tax_category (S standard / Z zero-rated / E exempt / AE reverse charge; default S for rate>0, Z for rate 0), optional item_name.",
"items": {
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Line description."
},
"unit_price": {
"type": "number",
"description": "Net unit price in EUR, VAT-exclusive."
},
"vat_rate": {
"type": "number",
"description": "Finnish VAT rate percent: 25.5 (standard, decimal), 14, 10 (reduced), or 0."
},
"quantity": {
"type": "number",
"description": "Quantity. Default 1."
},
"tax_category": {
"type": "string",
"description": "Optional EN 16931 tax category: S / Z / E / AE. Default derived from vat_rate."
},
"item_name": {
"type": "string",
"description": "Optional item name (defaults to description)."
}
},
"required": [
"description",
"unit_price",
"vat_rate"
]
}
}
},
"required": [
"seller_legal_entity_id",
"seller_name",
"seller_address",
"seller_city",
"seller_zip",
"customer_name",
"customer_address",
"customer_city",
"customer_zip",
"lines"
]
}