Case study

FlowDeskOne

From lead to signed quote, contract, work order and an invoice filed with the tax authority — in a single flow.

Built forA company that needed its whole commercial flow in one place. I use it for my own invoicing too, but the platform belongs to the client.

Context

SaaS · invoicing

Prospects were tracked in a spreadsheet, quotes were written in a text editor, and invoices were uploaded by hand to the tax authority's portal. Every document repeated the data from the one before it, so every step was one more chance to mistype something, and the status of an invoice could only be found by logging into the portal and searching for it. They needed a single flow, from the client's request to the invoice sent, in which the data is entered once and carries itself forward.

Architecture

Documents are generated out of one another, not filled in separately.

Every retyping was a chance to get something wrong. The request, the quote, the contract, the work order and the invoice carry the same data because they inherit it, not because somebody copied it.

RO_CIUS validation happens inside the system, before anything is sent.

An invoice rejected by the tax authority is usually found out late. Checked beforehand, a rejection becomes a correction that takes minutes, not a trip to the portal.

The status returned by ANAF is pulled into the list, with the reason for rejection.

The company no longer logs into the portal to look for an invoice: it looks where it is already looking.

What I built

01

Invoicing without the portal

The invoice is validated against the RO_CIUS standard and goes automatically into the tax authority's Private Virtual Space; the status returned by ANAF, with the reason for rejection where there is one, shows up directly in the list.

02

One document out of the last

The request becomes a quote, the quote becomes a contract, the contract becomes a work order, and the work order becomes an invoice — without retyping the data at each step.

03

Stock and goods receipts

Goods receipts, stock levels and supplier invoices are kept in the same system, not in separate records.

04

Transport declaration

For goods that go out on the road, the e-Transport declaration is generated from the same document, without a separate system.

05

Assistant on the legal base

A chatbot trained on the legal base and the invoicing procedures answers the question of which document is issued when, pointing back to the text it read the answer from.

How it looks

The quote list in FlowDeskOne, with each quote’s number, client, total and status — draft, sent, viewed, accepted or rejected — plus the “signed” badge on the electronically accepted one and the acceptance rate computed above.The contract list in FlowDeskOne, with a “source quote” column linking every contract to the quote it came from, plus payment progress and the name of the person who signed.The invoice list in FlowDeskOne, with the ANAF badge on the invoice confirmed in the state e-invoicing system, a credit note linked to the invoice it reverses, and the bulk submit button.

Stack

ReactSupabase

Result

What's gone
  • The spreadsheet prospects were tracked in.
  • The text editor quotes were written in.
  • Uploading invoices by hand to the tax authority portal.
  • The separate system for the e-Transport declaration.
  • The separate record for goods receipts and stock.
What runs now
  • The invoice goes into the Private Virtual Space from inside the system, with the status returned by ANAF read off the list.
  • Goods receipts, stock and supplier invoices sit in the same system as the sales side.
  • The platform is used by paying clients, with the subscription collected through Stripe.
See it live: flowdeskone.ro
Next project

Operations

Want something similar?

Describe your workflow and I tell you what would change compared with the project above — and how long it would take.