Shopify app
PDF invoices for Shopify orders, laying out VAT the way EU and UK invoices normally require. When an order is paid, the invoice is generated and emailed to the customer.
The page below is written as checkable statements rather than adjectives. Every one of them can be confirmed against the permission screen Shopify shows at install, the privacy policy, and the data processing agreement.
Two, and no others:
read_orders — read the order that was just paid, so the invoice has line items, tax and totals on it.read_all_orders — reach orders older than 60 days, so a merchant can re-issue an invoice for an order from last year and get the same document back.There is no read_customers, no write permission of any kind, and no theme, checkout or payment permission. The app cannot change anything in a store; it can only read paid orders.
The whole database is five tables. This is all of them:
| Table | What is in a row |
|---|---|
Shop | Store domain, invoice number prefix, next sequence number, install date |
TemplateVersion | The merchant's own invoice settings — business name, business address, VAT number, logo, colour, language |
Invoice | Store domain, Shopify order ID, sequence number, invoice number, issue date |
AuditEvent | Store domain, what happened, which order, when |
Session | The Shopify session for the merchant's own staff account, as Shopify's library writes it |
No table has a column for a customer's name, address, email or phone number. Those values are read from Shopify at the moment an invoice is rendered, printed into the PDF, and dropped when the render finishes. The only personal data kept is the merchant's own — their business details on the invoice, and their staff session.
The application server and the database both run in Frankfurt, Germany, and the invoice email is sent from Ireland. Data is encrypted in transit and at rest, backups included, and test and production run as separated environments. We are based in Thailand, so our own support access to that EU data is itself an international transfer, covered by the EU Standard Contractual Clauses. The full list of processors, what each one sees, and the transfer mechanism for each is in the privacy policy and DPA.
1 GBP = 1.3491 USD.Some things are deliberately not here yet: credit notes from refunds, bulk download, a different language per customer, and sending from the merchant's own domain. They are not advertised because they are not built.
Every feature is on both plans. The only difference is how many invoices are issued in a month, and the count resets on the first of each month. Billing is handled by Shopify and appears on the store's own Shopify invoice; there is no separate payment form and no card details reach us.
Not tax or legal advice. The app lays out the tax figures Shopify records on an order. Whether an invoice satisfies the rules of a particular country is the merchant’s responsibility, and the merchant should confirm it with their own accountant. We do not calculate tax and we do not verify VAT numbers.
No warranty. The app is provided as it is. We do not warrant uninterrupted or error-free operation, and merchants remain responsible for checking their own invoices.
Limit of liability. Our total liability for any claim relating to the app is limited to the fees the merchant paid us for it in the twelve months before the claim, or US$100, whichever is greater — except where the law does not allow that limit. Processing of personal data is governed separately by the DPA.
“Unlimited” on the Pro plan means we set no invoice quota. We reserve the right to contact a merchant whose volume makes the plan unworkable, and to agree different terms with them before making any change.