- Desk Ledger is free, open source bookkeeping for one person and one business, and it runs on your own computer.
- It is for Windows 10 and 11 only. It is not available for Mac or Linux.
- It follows UK tax dates and lets you choose £, € or $ for the currency symbol. You are free to change the code, and CONTRIBUTING.md on GitHub explains how.
- The easy way: download the Windows app zip from GitHub, unzip it and double-click DeskLedger.exe. You do not need Python.
- Prefer the source code? You need Python 3.11 or newer and you start it with start.bat.
- The first start creates a login with a random password. Change it straight away, then delete the file that held it.
- A copy of your database is saved each day you open the app. Copy those backups to another drive.
- Desk Ledger keeps your records. It does not file anything with HMRC.
- You download and use Desk Ledger at your own risk. Read the disclaimer near the end of this page.
This guide takes you from nothing to your first recorded sale. Allow about twenty minutes. Tick off each step as you go: your progress is saved in this browser.
What Desk Ledger does and does not do
Desk Ledger is a bookkeeping app for sole traders and the self-employed. You record income and expenses, attach receipts, and it sorts everything into tax years and quarters, with VAT figures, totals and CSV exports for your accountant. Your books are stored in a file on your computer. There is no cloud account and no subscription.
Desk Ledger is bookkeeping only. It does not connect to HMRC and does not submit tax returns, VAT returns or quarterly updates. Use it to keep tidy records, then file in the way you already do.
Desk Ledger follows UK tax dates: the tax year runs 6 April to 5 April and the quarters follow it. You can choose £, € or $ in Settings and the main screens show your choice, but nothing is converted, and a few messages and the admin area still show £. Want other tax dates or fuller currency support? You are free to change the code, because Desk Ledger is open source, and the CONTRIBUTING.md file on GitHub lists it as an idea for contributors.
One copy holds one person and one business.
Before you start
You need:
- A Windows 10 or 11 computer. Desk Ledger is not available for Mac or Linux.
- For the Windows app: nothing else. It comes with everything it needs.
- For the source code: Python 3.11 or newer (3.13 is the version tested) and an internet connection for the first start.
- A folder where you are happy to keep the app, such as Documents.
Desk Ledger works without the internet. The one exception is the optional receipt scanning, covered below.
Running from source? Tick "Add Python to PATH" on the first screen of the Python installer. If you skip this, start.bat cannot find Python. Download Python from python.org/downloads.
Download and start Desk Ledger
Choose the Windows app unless you want to read or change the code.
The Windows app (no Python needed)
Open the Windows app
- Download the appOpen the Desk Ledger releases page on GitHub and download the file that ends in Windows-app.zip.
Where is the releases page?
At github.com/djangify/deskledger/releases/latest. The download is under Assets, near the bottom of the page.
- Unzip the whole folderRight-click the zip file and choose Extract All. Keep every file in the folder together.
Why the whole folder?
DeskLedger.exe needs the files beside it, including the folder called _internal. Do not move the exe on its own.
- Double-click DeskLedger.exeIf Windows says "Windows protected your PC", click More info, then Run anyway.
Why does Windows warn me?
The app is not code signed, and Windows warns about new apps that are not. You usually see it only the first time.
Desk Ledger opens in its own window, and Notepad opens beside it with your first login details. If the window stays blank, see Troubleshooting.
Or run it from the source code
This route needs Python and is for people who want to read or change the code.
Get Desk Ledger running from source
- Install PythonSkip this if you already have Python 3.11 or newer.
How do I check?
Open Command Prompt, type python --version and press Enter. You should see 3.11 or higher.
- Download the codeGo to github.com/djangify/deskledger, click the green Code button, then Download ZIP.
I use Git
Run git clone https://github.com/djangify/deskledger.git instead.
- Unzip itRight-click the ZIP file, choose Extract All, and pick a folder you will remember.
Where should I put it?
Somewhere permanent. Your books live inside this folder, in a folder called data.
- Start Desk LedgerFollow the steps just below.
How to start it from source
Windows
Open the unzipped folder and double-click start.bat. A black window opens, installs what Desk Ledger needs (a few minutes the first time), sets up the database and opens your browser at http://localhost:8000.
Keep the black window open while you work. Close it to stop Desk Ledger.
If Windows shows "Windows protected your PC", click More info, then Run anyway. Windows shows this for any file downloaded from the internet that it has not seen before.
Mac or Linux
Desk Ledger is Windows only. It is not available for Mac or Linux, so there are no start steps for them.
From source on Windows you can choose how Desk Ledger opens. Both files use the same books.
start.bat
- Opens in your web browser
- Shows a black window with messages
- Prints your first password in the black window
start_desktop.bat
- Opens in its own window, with no address bar
- Opens Notepad with your first login details
- Needs the WebView2 runtime, which comes with Windows 11 and most Windows 10 computers
Your first login and password
The first start creates one login. Its email is demo@example.com and its password is random, made on your computer. There is no default password for anyone to guess.
- Find your passwordThe Windows app opens Notepad with your email and password. With start.bat it is printed in the black window. Either way it is saved in the file first_login.txt in your data folder.
- Log inType demo@example.com and the password on the login page.
- Change the passwordClick Settings, then Change password, and choose a password you will remember.
- Delete first_login.txtThe file holds the original password as plain text. Delete it once your own password works.
| What | Windows app | Source code |
|---|---|---|
| Your data folder | %LOCALAPPDATA%\DeskLedger (paste it into the File Explorer address bar) | The folder called data inside your Desk Ledger folder |
| Inside the data folder | db (database and backups), media (receipts) and first_login.txt | db (database and backups), media (receipts) and first_login.txt |
A phrase of four unrelated words, such as river-lantern-biscuit-orbit, is easy to remember and hard to guess. A password manager works too.
Desk Ledger makes its own secret keys on the first start and keeps them in the data folder with your books.
Nobody can recover your account for you, because the app and your data are only on your computer. The section on forgotten passwords below shows how to get back in.
Set up your books
Work through this list in your first session.
Your first session
- Change your passwordSettings, then Change password.
- Delete first_login.txtIt is in the data folder.
- Add your businessOpen Business Details and enter your business name and details.
- Look at the categoriesOpen Categories. Common income and expense categories are already there, and you can add your own.
- Record one saleClick Add Income.
- Record one expense with a receiptClick Add Expense and attach a photo of the receipt.
- Check the DashboardYour totals for the quarter and the tax year should now show.
- Copy your data folder somewhere elseAn external drive or encrypted cloud folder.
Everyday use
Recording income
Click Add Income. Enter the date, a description, the amount and a category. You can also add a client name and an invoice number.
Recording expenses and receipts
Click Add Expense. Enter the date, a description, the amount and a category, then choose the VAT rate: 0%, 5% or 20%. Attach a photo or PDF of the receipt if you have one. Receipts can be JPG, PNG, WebP or PDF files up to 5 MB. They are stored on your computer, and only you can open them once you are logged in.
Recurring entries
Use Recurring Entries for payments that repeat, such as a software subscription. Desk Ledger creates the entries for you.
Tax years and quarters
Desk Ledger follows UK tax dates. The tax year runs 6 April to 5 April. Q1 is April to June, Q2 is July to September, Q3 is October to December and Q4 is January to March. Use the tax year dropdown in the top menu to move between years. These dates are fixed in the code. If you need different ones, see the CONTRIBUTING.md file on GitHub, or change the code yourself.
| What you want to do | Where to click |
|---|---|
| Record a sale | Add Income |
| Record a cost | Add Expense |
| Repeating payments | Recurring Entries |
| Edit categories | Categories |
| Your business details | Business Details |
| Totals by quarter and year to date | Dashboard Home |
| Download income or expenses as CSV | Export Income, Export Expenditure |
| Download yearly profit as CSV | Profit Report |
| Password, currency symbol, receipt scanning | Settings |
The currency setting (£, € or $) in Settings changes the symbol shown on the main screens. It does not convert anything.
Receipt scanning reads a receipt photo and fills in the expense form for you. It needs your own Anthropic or OpenAI API key, added under Settings. When you scan a receipt, the image is sent to that company. Leave it switched off if you would rather nothing leaves your computer.
Backups and keeping your books safe
Each day you open Desk Ledger, it saves a copy of your database in the backups folder inside the db folder in your data folder, and keeps 90 days of copies. If you do not open it on a given day, no copy is made that day.
Copies on the same disk do not protect you from a failed or stolen computer. Every week, copy the whole data folder to an external drive or encrypted cloud storage. The folder holds your financial records, so protect the copy as carefully as the original.
Using the Windows app? Copy your whole data folder to make an extra backup straight away. Running from source? Open the Desk Ledger folder, type cmd in the address bar and press Enter, then run:
venv\Scripts\python.exe manage.py backup_db
Also lock your computer when you leave it, set a Windows login password, and turn on BitLocker disk encryption. Your books are an ordinary file, and the login page cannot protect a file that someone copies from an unprotected disk.
If you forget your password
Your books stay safe. A reset only changes the password.
- Close Desk LedgerClose the Desk Ledger window, or the black window if you started it with start.bat.
- Run the resetDouble-click DeskLedger-Reset-Password.bat in the Desk Ledger folder, next to DeskLedger.exe or start.bat.
- Read the new passwordIt appears in Notepad or the black window, and in first_login.txt.
- Log in and change itChoose your own password, then delete first_login.txt again.
Anyone who can open the files on your computer can run this reset, which is why the disk encryption advice above matters.
Troubleshooting
The Desk Ledger window is blank or does not open
The Windows app needs the Microsoft WebView2 runtime. It comes with Windows 11 and most Windows 10 computers, and Windows offers it as a free download when it is missing. Install it, then open DeskLedger.exe again.
Windows says Python was not found
This only affects the source code route. Reinstall Python and tick "Add Python to PATH" on the first screen, then double-click start.bat again. Or use the Windows app, which does not need Python.
The page will not open when I use start.bat
Another program may be using port 8000, or another copy of Desk Ledger may still be running. Close it and start again. If that does not help, restart your computer.
The page looks unstyled or out of date
Press Ctrl and F5 together to refresh the page fully.
How do I update to a newer version?
Windows app: close Desk Ledger, download the new Windows app zip, unzip it into a new folder and open DeskLedger.exe from there. Your books stay in your data folder, so they carry over. Source code: unzip the new ZIP into a new folder, copy your old data folder into it, then start it. Either way, keep the old folder until you have checked your books look right.
Where is my data?
In your data folder. For the Windows app that is %LOCALAPPDATA%\DeskLedger. For the source code it is the data folder inside your Desk Ledger folder. The database is in the db folder and your receipts are in the media folder.
Can I use it outside the UK?
You can choose £, € or $ to show amounts, but the tax year and quarters follow UK dates and cannot be changed in Settings, so the quarterly figures will not match other countries' tax years. You are free to change the code, because Desk Ledger is open source, and international tax dates are listed as an idea in the CONTRIBUTING.md file on GitHub.
Is there a Mac or Linux version?
No. Desk Ledger is Windows only and is not available for Mac or Linux.
Can two people use it?
No. Desk Ledger is built for one person and one business: one copy, one business.
Disclaimer
Desk Ledger is provided "as is", without warranty of any kind. You download and use it at your own risk. It is bookkeeping software, not accounting, tax or legal advice, and it does not file anything with a tax authority. Check your figures yourself, keep your own backups, and speak to a qualified accountant about your tax affairs. The developer accepts no responsibility for data loss, errors in the figures or anything else that results from using it.
- Desk Ledger is for Windows only. Download the Windows app zip from GitHub, unzip it and double-click DeskLedger.exe. No Python needed.
- It follows UK tax dates and shows £, € or $. You are free to change the code.
- Your first login has a random password. Change it in Settings and delete first_login.txt.
- Record income and expenses, attach receipts, and use the Dashboard and the export links when your accountant asks.
- Copy your data folder to another drive every week. The daily backups stay on the same disk.
- You download and use Desk Ledger at your own risk.
This page was built with Interactive Content Blocks
The stats bar, guide tracker, switch and checklist on this page come from Interactive Content Blocks, a set of seven ready-made blocks for your own pages. Ticks and progress are saved in the reader's own browser. The set includes an AI skill file, so any AI assistant can add the blocks for you.
See Interactive Content Blocks →