E-commerce invoice API
Your shop posts an order; Invoice Genie returns the issued invoice and its PDF. The same order ID never creates a second invoice.
Invoicing for Swedish and cross-border sellers
Invoice Genie turns e-commerce orders into numbered, VAT-correct invoice PDFs through a REST API. Upload an existing invoice as PDF or image and it rebuilds the layout as an editable template.
Accounts are set up by the operator. There is no public self-sign-up.
Invoice Genie is a web invoicing app operated by Swedexpress AB in Sweden. It issues sales invoices in Swedish or English and purchase invoices in English and Chinese, generates PDFs, emails them, records payments and exposes a REST API so an online shop can create an invoice for each order automatically.
Features
Your shop posts an order; Invoice Genie returns the issued invoice and its PDF. The same order ID never creates a second invoice.
Upload the invoice you already use. AI recognises the layout, you confirm the type, and you get an editable draft template.
Move and resize blocks with a live preview, keep versions, and publish when the layout is right.
Sequential numbering, VAT per line, Swedish or English PDFs and a Swish payment QR code on Swedish invoices.
Purchase invoices in English and Chinese, so suppliers in China and buyers in Sweden read the same document.
Send the PDF by email, record full or partial payments, see overdue invoices and keep an audit log of every change.
Shop API
Create an API key in the admin, store it on your shop server and call one endpoint per paid order.
Admins generate, reveal, copy and rotate API keys under Settings → API Keys.
Send the order ID, customer and lines. Customers are matched by your own customer ID, so nothing is duplicated.
Receive the invoice number, totals, status and a PDF link. Retrying the same order returns the same invoice.
curl -X POST https://invoice-genie.swedexpress.com/api/v1/invoices \
-H "Authorization: Bearer $INVOICE_GENIE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"externalOrderId": "ORDER-1042",
"language": "sv",
"dueDate": "2026-11-15",
"customer": {
"externalId": "cust-311",
"companyName": "Morrow & Co. AB",
"email": "billing@morrow.example",
"country": "SE"
},
"lines": [
{ "name": "Linen tote", "sku": "TOTE-01", "quantity": 2, "unitPrice": 249 }
]
}'| POST | /api/v1/invoices | Issue an invoice for an order (idempotent) |
| POST | /api/v1/invoices/preview | Watermarked preview PDF, nothing stored |
| GET | /api/v1/invoices?externalOrderId=… | Find the invoice for an order |
| GET | /api/v1/invoices/{id}/pdf | Download the invoice PDF |
| POST | /api/v1/invoices/{id}/send | Email the PDF to the customer |
Templates
No need to rebuild your layout by hand.
Use an invoice you already send, or a supplier invoice.
Invoice Genie suggests the template type, language and supplier. Change anything before it is created.
The original sits behind the editor as a guide. Fine-tune the blocks, preview the PDF and publish.
Who it is for
Issue a proper Swedish invoice for every paid order without copying data by hand.
Keep purchase invoices readable for both sides with English–Chinese PDFs.
Keep the invoice look your customers know, rebuilt from your existing PDF.
FAQ
Yes. Your shop server calls POST /api/v1/invoices with an API key for each order. Invoice Genie issues the invoice, renders the PDF and returns the invoice number. Sending the same order ID again returns the existing invoice instead of creating a new one.
Yes. Upload a PDF or an image of an invoice. Invoice Genie recognises the layout, asks you to confirm the template type and supplier, and creates an editable draft template. It only copies the layout; it does not import the data on the document.
Sales invoices are issued in Swedish or English. Purchase invoices are bilingual English and Chinese.
Invoices are numbered in sequence, cannot be edited after they are issued, show VAT per line and can carry a Swish payment QR code on Swedish invoices.
Contact Swedexpress AB by email or phone. Accounts are created by the operator; there is no public sign-up.