Changelog

What shipped, and when. A new entry lands on each day something changes that you would notice.

  1. File transfers between your own accounts in one picker

    You can now file a transfer between your own accounts from the GL account picker, the same place you file everything else. Open a transaction in Transactions, and the picker lists the rows that could be the other half of the move, each of your own accounts, and the reason LedgerIt thinks the money moved between them.

    Transfers in the GL account picker

    Under Transfer, the picker lists the transactions that could be the other half: the same amount on another of your accounts, moving the other way, with the amount, the account, the date and how many days apart. Choosing one matches the two. It also lists each of your own cash, card and other asset or liability accounts as Transfer to or Transfer from, with its bank and last digits when it is connected, and Another account (not connected), which holds the money in 1090 Cash in transit until the other half arrives.

    When a transaction is probably a transfer, it leads Suggested with the reason: "Same amount, 1 day apart", "Moved between these accounts 1 time before", or "Names your own company". Search finds an account by its name, code, last digits or bank, or by a word such as "transfer".

    A transfer stays changeable in the same picker. Choose another account to move its other end, or a GL account to file it as income or expense after all. The entry is reversed and the new one posted, so the change is on the record, and a matched transfer's other half goes back to review. A new Transfers tab lists money moved between your accounts, each movement once. The transactions guide has the steps.

    Money from a founder or an investor is not a transfer either. Under Owner and financing, the picker offers what it can be, such as Loan from shareholder, Stock purchase or a SAFE you have already recorded in Financing, and files it to the right account.

    Receipts are checked, and found in your mailbox as charges arrive

    A transaction's Receipts panel now says what was read off each receipt and whether it agrees with the charge: Agrees with the charge, $2.10 more, Another date or Total not legible. A charge with no receipt offers Might be one of these, receipts you already brought that no transaction has claimed, closest first, with Same amount or Same merchant as the reason. You can also drop or paste a PDF or photo onto the panel, and it is attached at once. See the documents guide.

    A mailbox connected under Integrations is now searched as soon as a bank or card sync brings charges, not only every six hours. Search now sits on the Gmail or Outlook row, the row says Searching… while it runs, and the mailbox's page lists a Search history: when each search ran, how many charges it looked for, emails it read and receipts it found, and why one failed. The mailbox guide explains when a mailbox is searched.

    One row per provider on Integrations

    Integrations now shows each provider on one row, with how many connections it has, when it last synced and the total of the GL accounts it feeds. Sync, Search now or Reconnect run from the row, and with more than one connection you pick which. Select the row to open the provider's page, where each connection is listed.

    Demo books open at once, and setup is two steps

    The demo books now open straight away instead of after a wait of about 23 seconds, because LedgerIt keeps a few sets ready. Setting up your own books is two steps, the company and then what it connects to. Your company's name and website are filled in from your work address, and Skip to the dashboard goes straight in. The rest of the questions are optional, under Add company details. See Set up your books.

    Fixes and improvements

    • A transaction's page on a phone is shorter: the date, source and amount sit on fewer lines, each fact keeps its label beside its value, and the receipts panel's two buttons are equal halves.
    • A bank's or provider's black icon keeps its edge on dark backgrounds.
    • A receipt's photo or PDF fades in over its placeholder instead of appearing in one frame.
    • The connected list on Integrations has a heading, and a provider with a total of zero no longer shows one.
  2. Search your email for a transaction's receipt

    You can now ask LedgerIt to find one transaction's receipt in your email, from the transaction itself. Open a charge with no receipt, search Gmail or Outlook, and carry on with something else: the search runs in the background and a message tells you whether the receipt was found and attached.

    Find a receipt without leaving the transaction

    Open a transaction in Transactions, select the paperclip (or press D) and select Search Gmail, Search Outlook, or Search your email when more than one mailbox is connected. LedgerIt looks through each connected mailbox in turn until one has the receipt, attaches it, and says so. You can close the panel while it searches. If none of the emails is the receipt, the panel says nothing was found.

    The button shows to people who can attach receipts, once a mailbox is connected under Integrations and not paused. The same search is available through the public API as receipt_searches. The mailbox guide has the steps.

    Capitalize a purchase in one step

    A $2,899.00 laptop on the card is equipment, not an expense. Open the transaction, select Capitalize as a fixed asset in the ⋯ menu (or press ⇧C), check the name, the day it went into service and the useful life, and select Capitalize. LedgerIt files the charge to an asset account such as 1600 Computer equipment and adds the laptop to Fixed assets in one step, so the cash never touches an expense account. Over 3 years, that laptop depreciates $80.53 a month, and the depreciation carries the transaction's department.

    The transaction then says Capitalized as the asset, and the asset links back under Bought with. Only money spent can be capitalized. It is also available as POST /v1/transactions/{id}/capitalize. See Depreciate equipment and sell it.

    See a document's file in its panel

    Open a document in Documents and its file is drawn right there: a PDF page by page, a photo as the image. Select Open in a new tab in the ⋯ menu to see it full size or save it. The same preview appears wherever a bill's document is shown, and on a phone its frame is shorter so the details stay on screen. The documents guide has the details.

    Change your own name, picture and email

    Settings → Profile is new, first under Workspace. Click your name to change it, use the menu on your picture to upload, replace or remove it, and enter a new sign-in email, which changes once you follow the links sent to both inboxes. Until then the page names the address it is waiting on. Your own profile under People edits the name and picture in place too.

    Fixes and improvements

    • The sidebar now says Bank accounts, not Accounts, so it is not mistaken for GL accounts. A bank account's name opens its provider page, and the line under it names the GL account it posts to, for example "Posts to 1000 Cash".
    • Done items in the Inbox now say who closed them: "Resolved by" or "Marked not an issue by", with the person's name linked.
    • A transaction's receipts, who it is with, its department and the row as sent open as a bottom sheet on a phone instead of a narrow popover.
    • A transaction's page lists How it was filed one line per decision, with the day at the end and a Replaced badge on decisions that were replaced.
    • The side panel's header link now reads Go to transaction (or the record's own kind), because it leaves the list for the record's page.
    • Connecting a mailbox opens the Google or Microsoft sign-in window straight from your click, so Safari and pop-up blockers no longer show "Auth pop-up blocked".
    • Claiming the Y Combinator offer in Settings → Billing now asks for your founder verification link instead of a typed batch, and shows the company Y Combinator vouched for.
  3. Edit transactions, counterparties and rules in place

    You can now change a record where you read it. Click a transaction's name, its date or a note on its page and it becomes the control to edit it: Enter or clicking away saves, and Escape puts the old value back. The dialogs that existed only to change one field are gone.

    Rename a transaction, move its date, add a note

    On a transaction's page in Transactions, click the name to rename it, click the date to pick another day, and write a Note that stays with the transaction. The words your bank or card sent, and the raw data behind them, stay exactly as they arrived, and the change is kept in the transaction's history. An arrow beside the date still opens that month's close.

    If a posted transaction moves to another day, LedgerIt reverses its entry in the old month and posts it again in the new one. It refuses the move, before anything is reversed, when either month is closed, when a settlement stands on the entry, when a schedule spreads it, when it is matched to a bank statement, or when it could not post on the new day. The same change is available through the public API as PATCH /v1/transactions/{id}. The transactions guide has the steps.

    Edit details on the page that shows them

    • Counterparties: a new About section holds payment terms, email, website, country, region, tax classification, notes, Paid on a 1099 and W-9 received. Tick roles from the badges. The Edit details dialog is gone.
    • Rules: change a rule's name, its matching terms and the account it files to, and switch it off to pause it.
    • Bills and invoices: a draft's number, dates and memo.
    • Schedules: start, length or exact dates, how the amount is shared out, and the accrual estimate.
    • Budgets, fixed assets, draft financing instruments, equity awards and board packs edit their memo, terms or commentary the same way.

    Posted ledger data, issued documents and anything that moves money stay read-only or keep their confirmation, so a correction is still a reversal.

    See a transaction as its bank sent it

    Choose the information icon in a transaction's icon row, or press i, to open the panel titled with the provider's name, such as As Brex sent it: the provider's description word for word, its account with the last digits, its dates where they differ from the books', its category, the parties it named, and the import that brought the row in. Every transaction's line now shows the card's last digits after the account name, so a GL account you renamed still says which card it is.

    Bills only approve themselves from a known sender

    A bill that reads as a vendor's usual bill approves itself only when the email it came in passed the mail server's sender checks and came from an address that vendor has already billed you from, on a bill a person approved. Any other bill waits under To enter, as before. Addresses are matched exactly, so a lookalike domain does not count. The first emailed bill from each vendor waits once for a person to approve it, and later bills from that address approve themselves again. The bills guide lists every condition.

    Fixes and improvements

    • GL accounts now wear the logo of the integration that feeds them, so a Brex card under its card program shows Brex's mark. Press the mark on an account's page to upload your own logo (PNG, JPEG or WebP, up to 1 MB) or remove it.
    • In the Inbox, Needs a receipt is now the upload button. The charge date opens its month's close and the card opens the GL account it posts to.
    • Rows in the Inbox, Activity and Settings read as one primary line and at most one line of facts, with the time and amount at the end, so more of them fit on screen.
    • The sidebar is denser. Select a section's name, such as Books, to fold it, and the Inbox row shows how many items are waiting for you.
    • A delete that LedgerIt refuses, such as a bill that is no longer a draft, now says so instead of showing Deleted and leaving the row in place.
  4. Use LedgerIt from WhatsApp

    Your receipts are on your phone, and so are your questions about the books. Link your WhatsApp number once in Settings → WhatsApp, and you can send LedgerIt a receipt or ask the assistant something from the chat you already have open.

    Each person links their own number, and it acts in one set of books, as you, with what your role allows. Choose the books, select Link WhatsApp, and send the 8-digit code LedgerIt shows from your phone: Open WhatsApp opens the chat with the code typed in. Sending it from the phone is what proves the number is yours. The code works for 10 minutes.

    Send a receipt

    Send a photo or a PDF of a receipt, up to 25 MB. LedgerIt keeps it in the books, reads it and matches it to its transaction the way it matches any upload, and the reply says which transaction it matched, or that it is kept until the transaction arrives. It shows in Documents as Sent on WhatsApp, and the same file sent twice is kept once.

    Ask the assistant

    Write a question as you would in the app, such as "What did we spend on AWS last month?", and the assistant answers in the chat. Your WhatsApp messages are one conversation, which you can also open under Assistant. Send new to start another.

    When the assistant wants to change something, it lists the change and waits for Approve or Decline, or a yes or no. From WhatsApp it never approves a payment, changes members or billing, or deletes books.

    See use LedgerIt from WhatsApp for the steps.

    Fixes and improvements

    • A linked number also shows under Settings → AI clients as LedgerIt on WhatsApp. Disconnecting it there, or unlinking it from the ⋯ menu, stops its messages reaching LedgerIt at once. Receipts it sent stay in the books.
  5. Write invoices step by step and enter bills from a PDF

    Invoices and Bills now start from the thing you have in hand: a guided page for the invoice you are about to send, and the vendor's PDF for the bill you were sent.

    A guided first invoice, with a preview

    New invoice now opens its own page instead of a dialog, with the invoice drawn beside the form as you fill it in. The first time, LedgerIt says what to expect and takes you through 5 steps: your company's details as every invoice shows them, who it bills and when it is due, what you bill, how you get paid, and a review that issues it in one go or keeps it as a draft.

    • Your details are saved once. The logo, legal name, email, phone and address you enter are kept in your company profile and shown at the top of every invoice after.
    • How you get paid is a choice. A Stripe payment link made when you issue, a link of your own, or bank transfer, with reminders if you want them.
    • The invoice list is now a table, and with no invoices yet it carries Learn about invoicing beside New invoice.

    See invoices for each step.

    Enter a bill by dropping its PDF

    On New bill, drop a PDF or a photo of the bill and LedgerIt reads it into the form: the vendor, their number for the bill, the dates, the total and one line per thing billed. The file stays on the left while you check the fields on the right, and nothing is saved until you select Save draft.

    • When exactly one vendor in your books has the name on the bill, it is chosen. When none does, Add makes one in a click.
    • A bill that arrives by email opens the same way from Enter bill under To enter.

    See bills.

    Receipts found in your mailbox

    Connect a Gmail or Outlook mailbox under Integrations and LedgerIt searches it for the receipt of each charge that still has none. It opens at most 3 messages per charge, keeps the one that is the receipt and links it to the charge when the total, currency and date agree. Anything else it read is not kept. The Get started checklist now has a Connect your email step, shown where a mailbox can be connected. See find receipts in your mailbox.

    The Inbox says the next step

    Each transaction is now one row in the Inbox, holding all of its problems, and each row offers a labelled next step such as Upload receipt, Looks right or Approve. Tabs say how many items they hold, a line says how much money is unresolved, and you can upload several receipts at once. Send to your accountant hands an item over with your note. See inbox.

    Fixes and improvements

    • A bank line that names its invoice number and pays exactly what is still owed on it now settles that invoice by itself after the sync, instead of waiting in the Inbox. The transaction's Pays section says LedgerIt settled it, and links the invoice.
    • Integrations now suggests accounts your own transactions name. A Stripe payout landing in your bank suggests Connect Stripe, and a Gusto debit suggests Gusto, under Found in your transactions.
    • On a GL account page, the code, the type and the balance are links: the code opens the account in the chart, the type narrows the chart to it, and the balance opens the ledger for that account.
    • A bill now counts for the month it is for. A vendor that bills on the 31st no longer leaves one month without a bill and the next with two, so closes ask about a truly missing bill and Home keeps expecting it.
    • A yearly bill is now measured against last year's, so $18,000 after $12,000 is flagged as above the usual.
    • Developers and agents can reach all of it through the public API and the TypeScript SDK, including detected sources, mailbox messages and a bill's reading.
  6. See upcoming bills on your dashboard

    The Dashboard now shows what the company is about to pay its vendors over the next 90 days, so a quarterly insurance premium or a yearly audit fee no longer surprises you in the month it lands.

    Upcoming bills on the dashboard

    Under the figures, Upcoming bills adds it up in one line, such as "$24,360.00 due in the next 90 days: $900.00 on bills in, $23,460.00 expected". Runway divides cash by an average month, and a bill that comes once a quarter or once a year is in that average only in the month it lands. This list names those bills before they do.

    Each row is one bill on the day its money is due:

    • Bills you have entered are listed for what is still owed on them, so a part-paid bill shows only the rest. Overdue marks one past its due date.
    • Expected bills are the ones a vendor's rhythm says are coming (Every month, Every quarter or Every year), at what that vendor's bill usually comes to. Late marks one whose usual day has passed without it, and a vendor that has missed two in a row is not counted on.
    • A bill that comes to a quarter more than the vendor usually bills, or more, says by how much, such as +$420.00 over usual.

    With nothing due in the next 90 days, the list is not shown. See dashboard for the steps.

    A bill says when it is above its usual

    A bill's own page now tells you when it is higher than the vendor's usual, such as "$420.00 more than usual", with the usual amount and rhythm beside it. Approve repeats it in its confirmation, so a price rise is caught before you approve or pay it. Nothing is stopped: a bill over its usual is approved like any other.

    Below it, Against the last bill lays each account the bill and the vendor's last bill charge side by side: what each charged, what this one charges and the change. "$420.00 more" then reads as Software and subscriptions up $240.00 and Hosting and infrastructure new at $180.00. A first bill from a vendor has nothing to compare with. See bills.

    Fixes and improvements

    • Developers and agents can read both from the public API: upcoming bills as reports.upcomingBills and a bill's comparison as bills.compare in the TypeScript SDK.
  7. Settle invoices and bills from a bank payment

    When a customer pays an invoice by wire or ACH, LedgerIt now matches the deposit to the invoice and lets you settle it in one click. The invoice is paid, the receivable goes to zero, and the sale is counted once, not once when you issued it and again when the cash landed.

    Settle a payment from the bank

    When a bank line names an open invoice or bill, the Inbox shows an item such as "Pays INV-0001 from Initech" with a Settle button. LedgerIt matches on the invoice number in the description, however the bank wrote it (INV-0042, inv 0042 or INV0042), or on a customer whose one open invoice is for exactly that amount. It never settles anything on its own, and a line in a foreign currency is never proposed.

    Settle files the line under Accounts receivable, or Accounts payable for money out, and pays the invoice or bill. A payment that covers several invoices from one customer pays all of them, and what they do not take stays as that customer's unapplied cash. Bills paid from the bank work the same way.

    On a transaction, an Open invoices it may pay section lists the candidates when more than one fits, so you pick. To undo a settlement, send the line back to review or file it somewhere else: the invoice is owed again. See transactions for the steps.

    Bills that come every quarter or every year

    The close used to expect a bill only from a vendor that had billed in each of the last three months, so a quarterly insurance premium or a yearly audit fee was never missed until after the close. Close now learns each vendor's rhythm from its bills: every month, every 3 months or every 12 months. It asks about a bill in the month it is due, and the row carries an Every quarter or Every year badge.

    A vendor's page on Counterparties has a new Next bill stat, for example $4,500.00, every quarter, due Dec 28, 2026. A vendor that sends bills is now read by its bills, so paying last month's bill no longer makes this month look billed. Bills missing at month end can be accrued from the same screen.

    Name a new payroll department once

    When Gusto, Rippling or Deel files people under a team your books do not have, such as Platform, the Inbox asks once: "Platform, Gusto files 4 people under it". The department it belongs under is already picked, and Add team adds it. Not a team in the row menu dismisses it for good. A team your books already have also decides where its people's wages post, so the account and the department agree.

    Fixes and improvements

    • On Close, Bills not in yet now shows Accrue all with the total on the button, and the estimate on each row can be changed in place before you accrue.
    • Each card spend row in the Inbox that needs a receipt has an upload icon, and you can drop a file on the row. Whose card it is now reads on the same line.
    • A payroll department called "Accounting" is no longer read as account management.
  8. See what moved and accrue missing bills before you close

    LedgerIt now tells you which accounts moved in a month, and why, before you lock it. The Close screen also lists the vendors that usually bill by now and have not, so you can accrue them from the same screen.

    What moved, with the reason

    On Close, the new What moved section lists every income and expense account whose month is more than 50% and more than 2,000 away from the average of the 3 months before. Each row shows the month's figure, the signed change against the usual month, and up to three drivers. For example: Legal and professional fees +$8,133.33 against a usual $6,116.67, driven by Cooley LLP +$11,333.33.

    The drivers come from your ledger, grouped by the counterparty an entry was with, then by the schedule it belongs to, then by where it came from. A spread transaction and its monthly shares net to one figure for the vendor, and a refiled charge moves its vendor rather than showing up as a reversal. The figures are the month as closing will leave it, so a year of software paid in March reads as one twelfth, not a spike. A company's first 3 months have no usual month yet, so they list nothing.

    The Inbox item for a swung expense account shows the same drivers under its figure.

    Bills not in yet

    A vendor that bills late in the month, such as rent on the 28th, was never late while its month was running. LedgerIt's check for a recurring bill that has not arrived now also reads the month that just ended, until you close it. It uses the same rule: the usual day and amount from the 3 months before, with 5 days' grace.

    On Close, Bills not in yet lists each vendor with its usual amount, such as Larkspur Studio at $3,200.00, usually by day 24, accruing to 6220 Legal and professional fees. Accrue books it, and the accrual then appears in What closing posts. A vendor whose charges are not filed yet links to the Inbox, where you choose the account. See month-end close for the steps.

    Undo any filing

    Filing a transaction is now reversible. Every filing in Transactions shows one message with Undo, and ⌘Z (Ctrl+Z on Windows) undoes it from any screen, with ⌘⇧Z to file it again. LedgerIt remembers your last 20 filings in the browser tab.

    On a posted row, the GL account is now editable where you read it: click it, pick another account, and the filing changes. Send back to review in the row menu, or ⇧U, takes a filed row out of the books by reversal and puts back the suggestion that stood before yours. A closed month refuses both. See transactions for how each one works.

    Fixes and improvements

    • Following a link inside the changelog window now closes the window, and the full changelog link no longer leaves the window open behind the new tab.
    • The runway planner on the landing page no longer shows a rendering error on iPhones.
    • The close preview in the API, GET /v1/periods/{key}/preview, now returns swings and missing_accruals, and transactions.reopen is in the API and the TypeScript SDK.
  9. Accrue payroll to the day and preview what closing posts

    LedgerIt now accrues the payroll your company has earned but not yet paid when a month ends. If your October 5 run pays September 16 to 30, the Inbox asks once whether to put those 15 days in September, and Accrue does it, so September's accrual books show the wages it really cost.

    Payroll accrued to the day

    After each payroll sync, the Inbox shows one item for the last month that ended, such as "Payroll for September 2026". It says how many days were not paid by the month's end and prices them from the run that pays them. Until that run arrives, the days are priced from the latest regular run, and when it lands the item switches to its exact figures. Each account's share is listed with its amount, so you see where the cost goes before you approve.

    Accrue books one accrual per account. September's close posts the expense, and October's close releases it on the 1st, so October's run for September's days nets to zero. Bonus runs of fewer than 7 days are never used to price a regular run, and once a month is accrued, dismissed or closed, LedgerIt does not ask again. The item holds the close until you decide, and the approval is also available through the public API.

    Payroll lines name their department

    Each payroll run now posts its wages, contractor pay and employer taxes and benefits by department, using the department your payroll provider files each person under. When your books have a department with that name or code, such as a Platform team under Research and development, the line goes there. Otherwise it goes to Research and development, Sales and marketing, or General and administrative by what the person does. Support wages are cost of revenue and name no department.

    Spend by department now includes payroll, usually most of what a startup spends, and the accrual follows the same split. Books that require a department on payroll accounts can post a run, which they could not before. Runs already posted keep their lines.

    See what closing posts

    On Close, a new What closing posts section shows the entries the close will add to the month before you close it: the lines netted by account and department, each marked Debit or Credit, then each entry with its amount. A schedule's share opens that schedule. It appears once the month has ended and every earlier month is closed, for the people who can close it. The preview is the close itself run and rolled back, so it matches what the close posts and writes nothing. See month-end close for the steps.

    Fixes and improvements

    • The close preview is available in the API as GET /v1/periods/{key}/preview and in the TypeScript SDK as periods.previewClose.
    • The Inbox payroll item links each department to that month's spend by department.
  10. Dashboard names each area of your close

    The Dashboard now names each area of the month you are closing and shows the money still open in it. A caption reads "3 of 6 areas ready", and under it every area is a chip: a check and its name when it is ready, or what is left and who it waits on ("Receipts $2,600.65 needs you") when it is not.

    Each chip opens the place where that area is dealt with, so "Receipts" takes you to the missing receipts and "Invoices and bills" to the open ones. The old unlabeled bar, which said how many parts were ready but not which, is gone, and so are the open-area rows under it: the chips say it once. The month is the same one Close reads, so the two agree on what is left in your month-end close.

    The money at stake

    Under the headline, the Dashboard says how much is open. With one area left it names it ("$2,600.65 of spend still needs a receipt"). With several it adds them up and says the total is "still open before you can close", counting a transaction once even when two areas name it. It is not tied to one month, because it includes open work from earlier months. When a figure cannot be added up in full, such as an amount with no exchange rate, the Dashboard leaves it out instead of showing part of it.

    Say a card is not yours

    When a Brex card purchase has no receipt and LedgerIt cannot tell who spent it, the Inbox asks "Is this you on Brex?". It now offers Not me beside It's me. After you answer, LedgerIt does not suggest that person to you again and looks for who it is instead: another member, then the address Brex gave for them, then the founder. Undo from the confirmation that follows your answer.

    If Brex does not let LedgerIt read your team, Integrations shows Can't read your team on the connection with a Reconnect Brex button and a line saying why. The Dashboard adds a note asking whoever may reconnect to do it. Once you grant the access, the next sync reads the people it missed, even when it brings no new charge.

    Fixes and improvements

    • Inbox rows show the payee's own logo instead of a letter, and "Assigned to" and "Asked for the receipt" lines show a face beside each person's name.
    • The public API now lists and reads your connections (/v1/connections), read-only, with their health and never a credential. The TypeScript SDK has matching methods.
    • The default account on a counterparty's header wraps to its own line on a phone instead of running off the card.

Earlier

  1. Dashboard shows the next step for your close
  2. Connect Claude, ChatGPT or Cursor to your books
  3. Budgets and budget vs. actual
  4. Enter bills, record payments and apply credit notes
  5. Upload receipts and photograph them
  6. Close checklist for every month
  7. Load more on Transactions and Ledger
  8. Invite your team