DevelopmentPayment protectionDetails
- Revisions within the package are free.
- If you do not respond within 3 days of delivery, the work is accepted automatically.
The money is reserved when you pay and released only once you accept the work.

Example result
Desktop program: invoice maker for a one-person bookkeeping service
The windows
- Invoices: the list of past invoices with number, client, date and total; buttons New, Open and Save as PDF.
- New invoice: client from a drop-down list, lines with description, hours and rate, tax rate, and the total updated as you type.
- Clients: name, address and email, added once and picked from the list afterwards.
A part of the code
def update_total(self, *_):
"""Adds up the lines and the tax and shows the total under the table."""
subtotal = sum(line.hours * line.rate for line in self.lines)
tax = round(subtotal * self.tax_rate.get() / 100, 2)
self.subtotal_label.config(text=f"Subtotal: {subtotal:,.2f}")
self.tax_label.config(text=f"Tax: {tax:,.2f}")
self.total_label.config(text=f"Total: {subtotal + tax:,.2f}")
In the archive
invoice_maker.py, the program, about 700 lines;invoices.db, made on the first run, which keeps the clients and invoices;settings.example.inifor your name, address and invoice number format;requirements.txtwith the one extra library, reportlab, which writes the PDF;- README: how to install Python, start the program and build an .exe with PyInstaller.
The program runs on the client's own computer. We do not build installers, sign the program or publish it.
Client: a freelance bookkeeper who writes 20–30 invoices a month in a word processor. Task: a small program with a window: pick a client, add lines, see the total with tax, save the invoice as a PDF, and keep the list of clients. Standard package: up to 3 windows and 800 lines, data in SQLite.
The client and all details are made up.
About this service
Many small offices keep clients in a spreadsheet, deals in their heads and reminders on sticky notes. This program puts them in one window on your computer, without a monthly fee: client cards with contacts and notes, deals moving through the stages you name, and in Premium reminders of calls and meetings due today and reports exported to a file. Basic opens and searches your client list kept as a CSV file; from Standard the program saves clients, deals and notes in CSV or SQLite. Send us the fields and deal stages you use and a few rows of your list with names changed. We write it in Python with Tkinter, with a README. It works on one computer: it does not send emails or messages, sync with phones or work as a shared online system. Keeping clients' personal data safe and lawful is up to you.
What is included
- What you getA ZIP archive with the Python code, a README on installing Python, running the program and building an .exe, and an example client file in your fields; the code is also shown on the order page. From Standard, clients, deals and notes saved to CSV or SQLite; in Premium, reminders, reports exported to files and an error log.
- Client cardsContacts, notes and history in one place
- Deal stagesYour own stages, from Standard
- RemindersCalls and meetings due today, in Premium
- No monthly feeA file or database on your own computer
- Readable codeWith comments, easy to change later
How it works
- 1TaskYou send the client fields, deal stages and reports
- 2CodeWe write the program and the README
- 3Try itYou run it on a copy of your client list
- 4ChangesYou ask for changes within your package and send any error message
What we need from you
The fields of a client card, the stages your deals go through, what you want to note about calls and meetings, the reports you need, and a few rows of your current list as CSV or Excel with names and contacts changed. How many people will use it, your system (Windows, macOS or Linux) and whether you want an .exe. Never send real passwords or keys.
We will ask you:
- Who are your clients and what do you keep about them?
- Your deal stages
- Reminders and reports
- How many people will use it?
- Which system will it run on?
Compare packages
| Packages | Basic1 client window$22 | StandardClients, deals and notes$44 | PremiumFull office CRM$80 |
|---|---|---|---|
| Deadline | 1 day | 2 days | 3 days |
| Revisions | 1 | 2 | 3 |
| Code | up to 300 lines | up to 800 lines | up to 1,500 lines |
| Windows or screens | 1 | up to 3 | up to 6 |
| Features | up to 3 | up to 6 | up to 10 |
| Settings and saved data | No | CSV or SQLite | CSV or SQLite |
| Export and error log | No | No | Yes |
| README with .exe build steps | Yes | Yes | Yes |
| Program | Simple CRM | Simple CRM | Simple CRM |
| Order Basic | Order Standard | Order Premium |
Payment protection
You pay when you order, but the money is released only for accepted work.
- Fixed priceThe package price does not change after you pay.
- The money is reservedWhen you pay, the amount is only reserved. It is released to the service once you accept the work.
- Checked before deliveryEvery result goes through a quality check before it reaches you, and you see it on the order page before accepting it.
- Free revisionsAsk for changes within your brief as many times as the package allows.
- Acceptance after 3 daysIf within 3 days of delivery you neither accept the work nor ask for changes, it is accepted automatically. If you write in the order chat after delivery, the order waits; once we answer, we may start the 3 days again and will say so in the chat.
- Redo or a full refundIf the result does not match your brief and the revisions did not fix it, or the work takes more than twice its deadline, write in the order chat: we will redo the work or refund the payment in full.
Questions and answers
Can colleagues use it at the same time?
It is made for one computer. Several people on one database over a network can lose changes, so we do not set that up. Each person can have their own copy.
Can it email or message clients?
No. It shows a client's email or phone and can open your mail program with the address filled in, but it sends nothing itself.
Can I bring in my spreadsheet?
Yes, from a CSV file with the columns you described. Try it on a copy first; we do not import your data for you.
What about clients' personal data?
It stays on your computer. Protecting it and following data protection rules are on your side; the README shows where the file is, so you can back it up.
Will I get an installer or a signed program?
No. You get the code and the steps to build an .exe yourself with PyInstaller. We do not build installers, sign the program or publish it anywhere, so Windows or macOS may warn you the first time you open it.
Did not find your answer?


