Non-profit support, foreign currency, and a set of ledger corrections found by trial users:
- Invoice and bill in a currency other than your own. A document is stored in the currency it is billed in with the rate as at its own date, so its posting can be reproduced after the rate has moved, while your ledger stays in your own currency. The receivable is carried at the invoice-date rate and the money arrives at the payment-date rate, and the difference is a real exchange gain or loss posted to a new 4900 account. An invoice in a currency with no rate on file is refused rather than quietly posted at parity
- Renumber the built-in accounts. Cash, Accounts Receivable and the rest were stuck on our numbers because everything found them by number, so anyone arriving from a package that numbers 1-1000, 2-1000, 3-1000 had half a chart in their scheme and half in ours. What each account is used for is now recorded separately from what it is numbered or called, so the number is yours
- Hide a built-in account you don't use, such as Cost of Goods Sold or Inventory Asset in a service business. Only an account that has never been used can be hidden, and if one is later needed indiAccounting brings it back rather than refusing to post
- A non-profit chart of accounts, offered at company setup and from Settings. It renames the owner and sales accounts to net assets and contributions, hides the trading accounts, and adds grants, fundraising events, in-kind contributions and membership dues — with Program Services, Management & General and Fundraising created as classes rather than accounts, because one salary is split across all three. Safe to run on books you already have: anything you have used is left alone and it says so
- Setting Entity Type to Non-profit now changes what things are called — Statement of Financial Position, Statement of Activities, Change in Net Assets, Donor. Invoices are deliberately not renamed to pledges: an invoice is a request for payment and a pledge is a promise to give, and calling one the other would misdescribe your books
- Find, explain and repair a damaged data file. A company file can be damaged by a copy taken while the app was running or a disk that failed mid-write, and SQLite only notices when it reads the broken part — so one feature fails for no apparent reason. Settings → Export & Backup now checks the file, rebuilds damage confined to the indexes with nothing lost, and otherwise salvages what can be read into a fresh file, saying exactly what could not be recovered
- Revenue posts to the income account a product or service names, rather than everything landing in Sales Revenue
- Repeat imports no longer post a second set of documents to the ledger, and a command-line importer installs with the app for running an import unattended from a saved mapping
Fixes:
- Voiding an invoice refunded from the default bank account whichever account the money actually arrived in, leaving two accounts wrong and neither reconcilable
- A credit note applied to an invoice was wiped out by the next payment, so the amount reappeared as owing and the customer would have been chased for money they did not owe
- A negative amount could not be typed into a line, so a credit line the ledger already accepted could not be reached from the keyboard
- An invoice raised from a sales order ignored the customer's terms and was due the day it was raised
- Sales into a 0% jurisdiction were not counted, so a business watching an economic-nexus threshold saw nothing accumulate
- The currency on an invoice or bill went blank every time it was reopened, because it was never actually stored
- Employee reimbursements could end up posted to Salaries & Wages, overstating wages on the profit and loss, if the Employee Reimbursements account was ever deleted or renumbered
- The Other Income account could be deleted even though late fees post to it automatically, so late fees charged afterwards failed with an error naming an account that no longer existed — possibly months later, with nothing connecting the two
- A vendor created by the order importer could never be edited again; the early-payment discount was offered only on a bill's own page; and a sales order line lost the service it was raised from