Skip to main content
  1. Home
  2. / Case Studies
  3. / A one-person business without guesswork: taxes, rental income and an invoice after every milestone

A one-person business without guesswork: taxes, rental income and an invoice after every milestone

Once a month the owner gets one page: what to invoice, who has not paid and how much goes to the tax office. The invoice for a finished milestone takes one confirmation.

Industry: Polish sole proprietorship, software services, flat-rate tax VAT, flat-rate tax and contributions every month Invoice after a finished milestone Receivables checked against the bank statement Private rental income kept apart A one-person business without guesswork: taxes, rental income and an invoice after every milestone

In short

  • › Every amount from a script calculation, not from the model's memory
  • › An invoice is issued only after typing TAK (yes)
  • › Flat-rate tax by type of income
  • › 29 tests of the calculations

About the project

A one-person business on the Polish flat-rate income tax, registered for VAT. Some clients pay per project milestone, others a fixed monthly fee. Next to the business there is private rental income, settled on a separate return.

The challenge

Every tax has a different due date and is counted from a different date. A milestone invoice slips easily when the client accepts it mid-week, and a paid status in the invoicing tool does not yet mean the money is in the account. One wrong rate can carry through the whole year.

Goals

  • One page a month instead of several tabs
  • No amount worked out in someone's head
  • An invoice right after a milestone is accepted
  • Payments that match what the tax office sees

Technical challenges

The script calculates, not the model

VAT, flat-rate tax and contributions are calculated by scripts with tests. The agent reports the result and its basis but adds nothing up in text.

Bank and government portals read only

The owner signs in to the bank, the tax office portal and the ZUS portal. The agents read the history and export data, with no transfers and no settings changes.

Solution and implementation

The month close on one page

What to invoice, who is late, how much to pay and by when. The controller first recalculates every amount alone and only then reads the team's report.

Illustration of the month close, sample data
Illustration of the month close, sample data

Invoice after a milestone

When the client accepts a milestone, an invoice draft appears with the date of sale set to the handover day. The owner types TAK, Fakturownia issues the invoice and submits it to KSeF, the Polish national e-invoicing system.

Money according to the bank

Receivables are checked against the business account statement. Without a statement the report says plainly that the status comes from Fakturownia.

Rental income apart

Private rental has its own invoice numbering and a separate PIT-28, outside the business flat-rate tax.

Results

A wrong rate caught

A review showed rental income was taxed at 12% instead of 8.5%. The rate now depends on the type of income, and a script compares it with the settings in Fakturownia.

No milestone waits for an invoice

An accepted milestone goes straight onto the to-invoice list, with the amount from the contract.

Tax office, bank and calculation side by side

Payments from the statement, calculated amounts and the balance in the tax office portal are lined up next to each other.

Takeaways

An error log

Every error goes into a log with a rule for spotting it, and the team reads it at the start of every month.

Technologies

Fakturownia KSeF Python Bank statement e-Urząd Skarbowy PUE ZUS AI agent team

Frequently asked questions

Does the agent issue invoices on its own?

No. It prepares a draft and a preview. The owner issues the invoice by typing TAK.

Does the agent sign in to the bank or the tax office?

No. The owner signs in, and the agent only reads and exports the history.

How do you know an amount is right?

Every amount comes from a script with tests, and the controller checks it alone before showing it to the owner.

Want something similar in your company?

If something eats hours in your company every week, I will show you on a 30-minute call whether it can be automated and whether it pays off.

Book a free call (30 min)Or message me on WhatsAppSee pricingSee the offer← All case studies