Case study · Invoicing automation

A Stripe payment, the customer's invoice issued by Kros

We connected the Stripe API with the Kros invoicing API: after a Stripe payment, a proper invoice is created in Kros with the correct VAT mode and sent to the customer. No Stripe receipt, no manual re-keying.

AutomationInvoicingStripeKros APIbe1st.ai
0
invoices re-keyed into the accounting by hand
3
VAT modes: SK, EU and the rest of the world
2
currencies (EUR + USD) and two bank accounts
seconds
from payment to a finished invoice in Kros

How it works

Stripe and Kros connected in one flow

After every Stripe payment, the correct invoice appears in Kros within seconds - with the right VAT mode and reference number, no manual rewriting.

01

The problem: Stripe and the accounting don't speak the same language

Payments in our be1st.ai SaaS come in through Stripe. Our accounting, however, is handled by an external firm that works in Kros Omega. That software is directly connected to Kros invoicing and downloads documents from it automatically.

The catch is that Stripe does issue invoices, but they don't reach your accounting on their own. There are two ways to solve it. The first is manual: after every payment you download the Stripe invoices as PDF and upload them into Kros invoicing by hand. It works, but it is slow, error-prone and at dozens of payments a month it eats your time.

The second way is through the API and it is full automation: the invoice is created in Kros right after the payment, without a single click. No PDF downloading, no re-keying, no mistakes. It saves time, and this is the path we took.

02

The complication: we sell worldwide in two currencies

We are a Slovak company selling to customers all over the world. VAT behaves differently in each market, so a single universal invoice is not enough.

SK: 23% VAT for both companies and end customers
EU: companies with a valid VAT ID are invoiced under reverse charge (no VAT), with the VAT ID verified via VIES
Rest of the world: no VAT, and invoicing in US dollars rather than euros

03

The solution: Stripe and Kros invoicing connected via API

We connected Stripe with the Kros invoicing API. After every successful Stripe payment an invoice is issued automatically in Kros invoicing, with the variable symbol taken from the Stripe payment. The accounting firm downloads it straight from Kros exactly the way it is used to, with no manual step.

Based on the customer's country and VAT ID the system picks the correct number series and VAT mode on its own. We have three: SK, EU and world. The invoice therefore always matches the tax rules of the given market.

The invoice is created automatically within seconds of the payment
Variable symbol taken from Stripe: payment and invoice are matched
Three number series (SK / EU / world) by VAT mode
VAT ID verification via VIES for reverse charge within the EU

04

How we verify the VAT ID: via the official VIES

Reverse charge (an invoice without VAT) only goes to a company with a valid EU VAT ID. We verify it in real time directly through the European Commission's official VIES REST API: free, no API key, no middleman. The response also returns the company name and address, which we use to pre-fill the invoice.

https://ec.europa.eu/taxation_customs/vies/rest-api/ms/{country}/vat/{number}
https://ec.europa.eu/taxation_customs/vies/rest-api/ms/SK/vat/2121942449

This is just our verification on the invoicing side. The full VIES API documentation is maintained by the European Commission.

Valid EU VAT ID: reverse charge, invoice without VAT
Invalid VAT ID: we charge 23% VAT
VIES unavailable: fail-safe, 23% VAT rather than a wrong zero
We take the company name and address from VIES straight onto the invoice

05

Two currencies, two Stripe accounts, two bank accounts

Because we invoice in both euros and dollars, we run two Stripe accounts: one in EUR and one in USD. Each is paid out to a different bank account: euro revenue goes to Slovenská sporiteľňa, dollar revenue to Revolut Business, where we get a better exchange rate on conversion. The invoicing logic recognizes the currency and routes both the document and the payout where they belong.

06

The same solution works for e-shops too

The same principle is not tied to Stripe or to our SaaS. We can connect Kros invoicing with Shopify just as well: after an order in the e-shop the correct invoice appears in the accounting automatically. If you pay an accountant to re-key documents by hand, or you struggle with VAT on cross-border sales, this is exactly the kind of case we can automate.

Technologies used

Stripe APIStripe WebhooksKros invoicing APIVIESNext.jsTypeScript

Are you re-keying invoices between your payment gateway and accounting by hand?

We connect your payment gateway (Stripe, Shopify and others) with Kros invoicing so that invoices are created automatically and correctly, including VAT on cross-border sales. The first consultation is free and within 24 hours you know what it would involve.