Skip to content
KriPa Web

Case studies

Fewer, deeper. One system explained properly says more about how we work than a wall of screenshots.

Our own product

Ordo

A back-office platform for freelancers and small businesses across the EU: invoicing that understands European VAT, payment follow-ups that write themselves, and a cash flow view that is worth opening.

ordo-eu.com

4

VAT treatments decided for you

VIES

Every customer number checked against the EU register

2026

Built for the Croatian e-invoicing mandate

EU

Data held inside the Union

The problem

Invoicing across Europe is not one rule, it is a decision tree. The same piece of work is taxed domestically, reverse charged to a business in another member state, reported under the one stop shop, or zero rated as an export, and which one applies depends on who is selling, who is buying and what is being sold.

Most invoicing tools treat that as a dropdown for the user to get right. Get it wrong and the error is not cosmetic: it is a tax return that does not reconcile, and the person least equipped to catch it is the freelancer filling in the form.

On top of that, Croatia moved. Structured e-invoices between businesses became compulsory to receive from the start of 2026 and to issue from the start of 2027, with fiscalization attached. A tool that ignored that would be obsolete on a known date.

What we built

  1. Make the tax treatment the product, not a setting

    The engine decides domestic, reverse charge, one stop shop or export from the seller, the buyer and the supply, rather than asking. The customer's VAT number is validated against the European register before it is relied on, and the result is stored with the invoice, so the reason a rate was applied is still there a year later when somebody asks.

  2. Let the server be the only authority on money

    The browser sends inputs and nothing else. Every amount, every conversion and the sequential invoice number are computed and claimed on the server, and writing those columns directly is revoked at the database. An invoice is a legal document; it should not be possible for a client to post one with an amount of its choosing.

  3. Meet the national mandate properly, not partially

    Structured invoices to the European standard, the national fiscalization channel, and the classification codes the tax authority files an invoice under. Built against the real specification and its validation rules, because an e-invoice that is merely nearly valid is rejected in full.

  4. Assume more than one person will eventually use it

    Workspaces, seats and roles from the beginning, so an accountant or a colleague gets their own access instead of the owner's password. Retrofitting that onto a single-user product is a rewrite, and everybody who has tried knows it.

  5. Take the unpleasant part off the owner's desk

    Chasing a late invoice is the job nobody does on time. Follow-ups arrive drafted, with the amount, the age of the debt and the right tone already in them, so sending one is a decision rather than an afternoon.

What it does today

  • EU VAT engine
  • VIES validation
  • National fiscalization
  • Structured e-invoicing
  • Quotes and credit notes
  • Payment tracking
  • Late fees
  • Recapitulative statement
  • Multi-currency
  • Workspaces and roles
  • Invoice documents
  • Cash flow dashboard
  • Drafted payment follow-ups
  • Subscription billing

Tell us what you are trying to solve

Describe the problem rather than the solution. Working out what the right build is happens to be the part we enjoy.

Start a project