Repository navigation
LocalBooks v0.15.0
LocalBooks v0.15.0: local-first, double-entry accounting.
What's new
- Safer opening of company files from others. The check that refuses a company file with a
mismatched log file next to it now also runs at the moment the file is opened, so the log can't
be swapped in between. - Two-step sign-in (optional). An Admin can turn on two-step sign-in in Settings › Users &
Passwords, for anyone who wants it or required for Admins and External Accountants or for
everyone. It's off unless you turn it on. Users with it sign in with their password and a 6-digit
code from an authenticator app on their phone, and get ten one-time backup codes for a lost phone.
An Admin can reset it for a user, and the recovery key still gets the only Admin back in. - Closing Date Exceptions no longer misses an entry made at almost the same moment as a close.
The report now orders entries and changes to the closing date by when they were recorded in the
books, not by clock time, which on Windows only advances every few milliseconds. - Sales tax adjustments. Adjust… on Sales › Sales Tax raises or lowers what is owed on a rate,
for example a discount for filing on time, a penalty or a rounding difference, against an income
or expense account. The sales tax return shows it under the rate's agency. Before, this took a
journal entry, which changed what was owed but not the return. - Email and design purchase orders. A saved purchase order now prints, saves as PDF and emails
to the vendor like the other forms, with Email later too. It shows the vendor's address and
each line's Customer:Job and Class, and its look is set in Settings › Custom Forms › Purchase
order. File › Print Forms › Purchase Orders uses the same design. - Edit and delete purchase orders. An open purchase order can be changed with Edit… (from its
row or the saved order) and keeps its number. Delete removes one nothing was received or billed
against. Neither changes the books, as a purchase order posts nothing. - Change what a memorized transaction enters. Edit transaction… on Recurring Transactions
reopens the memorized check, expense, bill, invoice or journal entry in its form. Change its
lines, amounts or accounts and save, and the copies entered from then on use the changes.
Copies already entered stay as they were. Edit schedule… still changes the name and timing. - Edit memorized transactions. Recurring Transactions has Edit… to change a memorized
transaction's name, how often it repeats, its next date and its end date. - Enter all due enters what it can. A copy that can't be entered, such as one dated in a
closed period, is listed with the reason and stays due, and the others are entered. Before,
one such copy stopped all of them. - Refund checks and a credit's refunds. Refunding a customer's credit from a bank account can
print a check, with the next check number filled in. A credit memo now lists the refunds and
write-offs taken from it, each with Print check (for a refund paid by check) and Void, which
gives the credit back. - Statements say what each line is. Customer statements now label credit write-offs,
bounced checks and other journal entries as what they are, show a refund with its check
number, and show an overpayment kept as credit as a Payment with its reference. Before, every
such line read "Refund", and an overpayment showed as "Credit Memo #N". - Credit memo numbers don't skip. An overpayment kept as credit no longer takes the next credit
memo number, so credit memos number 1, 2, 3 in a row. Registers and custom reports show such a
payment by its reference. - Item groups come in from company files. Bringing in a company file's lists now adds its item
groups as LocalBooks groups, with their items in order, their quantities, and whether printed
forms list the items. - Inventory adjustments come in from company files. Some files had lost part of the
description of their inventory adjustment lines, so none of the adjustments were read and
Inventory Asset and Cost of Goods Sold came out wrong. LocalBooks now reads those lines, and the
cost of inventory recorded on bills comes in too. - No more blank window while a company opens. When LocalBooks starts, or opens a company from
the File menu, the recent list or a backup, the window now says Opening … and what it's
doing, such as saving a copy before updating the file. Before, it stayed blank until the file was
open. A file double-clicked while another is still opening waits its turn. - Diagnostics say why starting was slow. The log in Help › Save Diagnostics now records how
long LocalBooks took to start and which steps were slow, such as opening the company file. - A default sales tax rate. Sales › Sales Tax has a Default rate. Customers set to
"Company default" start at it on new sales forms. Before, once a company had two or more rates,
those customers got no tax unless someone picked a rate on each form. - Discounts on the sales tax reports. A discount taken off a whole invoice or sales receipt,
and a discount line on a credit memo, now lower the taxable sales on the Sales Tax Liability
report and the sales tax return, matching the tax that was charged. The tax amounts were already
right. - The message after Pay sales tax names the account actually paid down.
- Month-end schedules stay at month end. A recurring transaction that repeats monthly,
quarterly or yearly from the 29th, 30th or 31st now falls on the last day of shorter months and
goes back to its own day after them (January 31, February 28, March 31). Before, it moved to the
28th for good after February. Schedules already set up pick this up from their next date on. - In Memorize, changing Repeat every now moves the Next date too.
- Bills from purchase orders use the vendor's terms. Create Bill on a purchase order now gives
the bill the vendor's terms, so its due date follows them and Pay Bills offers the early-payment
discount. It also gets the same checks as Enter Bills: a repeated vendor bill number or an
unusual date asks before saving, and approval rules for bills hold it for approval. - Journal Entries offers Edit… and Duplicate only on entries typed there. Refunds, write-offs,
bounced checks, sales tax payments, class reclassifications and other entries made by another
screen now offer only Void. Before, Edit… was refused at save, and Duplicate posted an unlinked
copy that, for a reclassification, moved the class a second time. - A purchase order received in full stays closed. Reopening it is refused, so Receive Items
can't take more than was ordered. Voiding a receipt still reopens the order. - Vendor credits, credit memos and credit refunds get the usual save checks. An unusual date
or a posting to Retained Earnings now asks before saving, as on other forms. - Purchase orders follow the inventory preference. With inventory and purchase orders turned
off, Create Purchase Orders is greyed out in the menu and left off the side bar and + New. - The vendor credit grid no longer shows a Bill? box. A credit can't be billed to a customer, and
the tick was never saved. - New company setup says "First month of fiscal year", as Preferences does.
- Customer Statements marks what was sent for this period. The ✉ beside a customer now means
their statement for the period on screen was emailed. Before, emailing one month's statement
marked every period as sent. Statements emailed before this update show no mark. - Choosing All customers after a customer group clears the group's ticks, so Print no longer
prints only that group. - Help for every screen, setting and menu command. F1 now explains every page in the sidebar,
including Approvals, Payout Feeds, the Attachments Library, Reps, Ship Via & Fields and each
Settings tab. New step-by-step guides cover credit memos and refunds, customer statements,
purchase orders, vendor credits, sales tax, memorized transactions, budgets and reclassifying, and
two references list every Preferences setting with its default and every menu-bar command. Several
out-of-date statements in Help and the guides are corrected. - Profit and Loss columns by class or customer. On the Profit and Loss, Columns now also
offers Class and Customer:Job: a column for each class, or for each customer and job,
beside the total. - Budgets keep what you type. Closing Budgets, quitting LocalBooks or choosing New budget…
with amounts not yet saved now asks first, instead of losing them. - Clearer fiscal years for new budgets. New budget… lists each fiscal year by its months (for
example "Jul 2026 – Jun 2027") and marks the current one. Before, a bare year could create the
budget for the wrong fiscal year when it doesn't start in January. - Billable costs from the invoice. The invoice form has Add billable costs…: it lists the
customer's or job's unbilled time and costs, including credit-card charges marked Bill?, with the
same markup and rules as Sales › Bill Costs, and adds the ones you pick as lines. They are marked
billed when the invoice is saved. Choosing a customer with unbilled costs or time on a new
invoice asks whether to add them; Preferences › Time & Expenses can turn the question off. - No more surprise customers and vendors. A name typed on a form that isn't on your list is no
longer added silently when you save. LocalBooks stops and asks "name isn't on your customer
list." with Quick add, Set up… (add it and open its record) and Cancel (back to the
name box, nothing saved), when you leave the name box or save. This covers invoices, sales
receipts, estimates, credit memos, sales orders, bills, checks, expenses, purchase orders, vendor
credits and payees typed in a register. Imports still add the names they bring in. - Invoice # on the invoice form. A new invoice shows the number it will get before you save,
and you can type another. If that number is already used, LocalBooks says which invoice has it
and offers the next free number. Estimates, sales receipts, credit memos and sales orders have
the same box (Estimate #, Sale #, Credit #, Order #). Duplicate still gives the copy the next
number. - An edited invoice keeps its number. Saving changes to a posted invoice used to post the
corrected invoice under a new number; it now keeps the original's number, so customers,
statements, payments and reports go on showing the same one. - Encrypt the whole company file. An Admin can now encrypt the whole company file, its
attachments and every backup made from it (Settings › Users & Passwords). It is off unless you turn
it on. With it on, a copy that leaves your computer shows nothing readable without a password or
the recovery key, the file opens on the sign-in screen, and signing out closes it again. Read the
warning first: if every Admin forgets their password and the recovery key is lost, nobody can
open those books or their backups.
Downloads
- macOS (Apple Silicon and Intel):
.dmg - Windows:
.msior-setup.exe - Linux:
.deb,.rpmor.AppImage
Installation guide: https://turbogizzmo.github.io/LocalBooks/
Already installed? LocalBooks offers this update on its own (or Settings › Updates ›
Check for updates), and saves a copy of your company file before upgrading it.
These builds are not code-signed yet: macOS may require right-click → Open the first
time, and Windows SmartScreen may ask you to confirm (More info → Run anyway).