A subscription is a simple purchase with three ways to get it wrong in the books: coded to a catch-all account, expensed all at once when it covers a year, or posted under a payee nobody can search. This guide takes each in turn for QuickBooks Online and Xero, with the steps Intuit documents, an honest note where Xero's own pages could not be read, and the one question that needs your CPA.
Run it afterward · guide 4 of 4 · Reviewed Oct 25, 2026
Each calculator opens on a made-up sample. Type over it with your own figures; nothing you type leaves this tab.
Journal entries for an annual software subscription: the payment, then the monthly release, with the last month absorbing the rounding.
Arithmetic only, not tax, accounting or legal advice. Check the figures against your own order form.
Each charge lands in two places: an account (what kind of cost it is) and a payee (who was paid). Get the account right once and the payee right every time, and the reports take care of the rest. The account is a chart of accounts decision, so make it deliberately rather than accepting whatever the bank feed suggests.
Neither QuickBooks nor Xero requires a particular account name, and we found no rule from either that says software must be coded to one. What follows is our suggestion, not a requirement: keep one expense account for the subscriptions your team uses, one for usage-billed hosting, and one prepaid asset account for plans paid ahead.
The steps below are from Intuit's help article on adding an account. Intuit notes the interface has been redesigned, so labels may differ slightly on your screen.
Go to All apps, then Accounting, then Chart of accounts, and select the button to create a new account.
Enter the account name, for example Software subscriptions. Choose an account type, then a detail type from the dropdown. The article does not list which detail types suit software, so pick the closest expense detail type on screen and add a description saying what belongs in it.
For the prepaid account, choose an asset type and its closest detail type. Intuit says asset accounts take an opening balance and an As of date; on a new account with no history, leave the balance at zero.
If you want a subtotal by group, the same form has a checkbox to make it a subaccount and a field for the parent account. Keep it shallow: one level is enough.
Xero Central's articles could not be read for this guide, so we do not describe Xero's screens or its list of account types. The bookkeeping is the same: a named expense account for the subscriptions, and a separate account on the asset side of the balance sheet for amounts paid ahead.
In Xero, open the chart of accounts, add the accounts, and choose the account types Xero offers. For the prepaid account, pick the closest asset type on its list. For the exact screens and the full list of types, search Xero Central for “add, edit or delete an account”.
One naming trap: Xero Central also has pages titled “prepayment”. We could not read them, so we do not say how that feature relates to a prepaid expense account. Before using it for a subscription, read those pages or ask your bookkeeper which approach your files use.
When you pay for a year, the cash goes out at once, but the cost belongs to the twelve months it covers. Under accrual basis accounting that means a prepaid expense on the balance sheet, released into expense month by month through amortization. For why the cash and the books differ, and when monthly billing is worth the premium, see annual vs monthly billing. This section is only the mechanics.
Example, with invented numbers: an annual plan costs $589.00, which is 58,900 cents. Divided by 12 that is 4,908 cents with 4 cents left over, so months 1 to 11 release 4,908 cents each (53,988 in total) and month 12 releases 4,912 cents. The schedule adds back to exactly 58,900. These are not any vendor's prices; the point is that the last month absorbs the rounding.
When the invoice arrives or the charge clears, code it to the prepaid asset account, not the expense account. Keep the payee as the vendor. This is true whether you enter it as a bill or an expense, or categorize it from the bank or card feed.
Write down the service period (start date, end date, total) in the memo or in an attachment, so anyone can rebuild the schedule from the transaction alone.
Each month, post a journal entry that debits the software subscriptions expense account and credits the prepaid asset account for that month's share. In QuickBooks Online, select + Create, then Journal entry; enter the account and amount on the first line, the other account and the same amount in the opposite column, add a memo, and check that debits equal credits. Intuit's page does not say whether a journal entry can be made recurring, so check the transaction types on the recurring list on screen.
Post the same debit and credit as a manual journal each month. Xero Central has a page on setting up a repeating journal; search for that title and follow it, since we could not read it. A repeating journal fixes the amount, so build the final month by hand if the division leaves cents over.
At month-end close, the prepaid account balance should equal the remaining unreleased months on the schedule. If it does not, a release was missed or the payment was coded to the wrong account.
Intuit's page on recurring transactions describes three template types in QuickBooks Online. Scheduled templates run on their own at the interval you set, and the article's examples are rent, loan payments, and depreciation. Reminder templates are created at regular intervals, but you edit and send them yourself; the example given is a utility bill whose amount changes. Unscheduled templates are created each time you choose to use them.
Use a Scheduled template for a fixed monthly fee and a Reminder template for a usage-billed tool, where the amount changes and you want to look before it posts. The steps are: open All apps, then Accounting, then Recurring transactions; select New; choose the transaction type; name the template; pick Scheduled, Reminder or Unscheduled; set the interval; fill in the details; and select Save template. The page we read does not list which transaction types can be made recurring, so check the list on screen before you plan around a bill or expense template.
In Xero, the equivalents are a repeating bill and a repeating journal. We could not read Xero Central, so we do not describe the form; search Xero Central for “add or edit a repeating bill” and “set up a repeating journal” and follow those pages.
Whichever tool you use, a recurring template removes typing but not review. A price rise, a changed seat count, or a cancelled plan will keep posting the old amount until someone looks. Put the review in the monthly close, not in the template.
Card and bank feeds describe a charge by whatever string the merchant sends, so one vendor can arrive as several different names. That splits the total across lines in the vendor report and hides what a tool really costs. The fix is a rule that sets the payee and account for the charges you have already decided to keep.
Intuit's help article on bank rules describes the QuickBooks Online version. These are the steps it gives:
Go to All apps, then Accounting, then Rules, open the Bank rules tab and select New rule. You can also start from a transaction on the Pending tab by selecting it and choosing Create rule.
Name the rule, choose Money in or Money out, and pick one bank account or all accounts. Choose whether all or any of the conditions must match.
Add up to five conditions on Description, Bank text or Amount, using Contains, Doesn't contain or Is exactly. Intuit describes Description as a simplified version of the bank data, often a supplier name, and Bank text as the raw information the bank sends, and warns that a rule built on the wrong one may not apply.
Set the actions: the Category (the account from the previous sections) and the Payee. Save. Matched transactions show a RULE badge in the Match/Categorise column.
Intuit offers an Auto-post option that accepts matches without review, and suggests starting with simple, consistent transactions. Use it for a tool you have already decided to keep, and leave it off while a tool is under review, so a new charge does not slip through.
Xero has bank rules for the same job. We could not read the Xero Central article, so we say nothing about its fields or how it handles the contact. Search Xero Central for “create a bank rule” and follow it, then check one charge by hand to confirm the contact and account were filled in as you expected.
Then prove the cleanup with a report. In QuickBooks Online, the Expenses by Vendor Summary report (Reports, then Standard reports) lets you choose a period, set Display columns by to Vendors, and pick Cash or Accrual. Cash shows only payments you made; Accrual also includes open bills. In Xero, the Expenses by Contact report is the counterpart; its steps are in finding software in Xero. The QuickBooks version is in finding software in QuickBooks Online.
A clean report has one line per vendor, with no duplicates and no card-processor names standing in for the real vendor. The same cleanup feeds the software spend audit checklist and the vendor register and renewal calendar.
Some subscriptions come with an upfront setup, migration, or configuration charge. Whether that charge is expensed or capitalized is a different question from the subscription itself, and it depends on the arrangement.
What FASB's Accounting Standards Update 2018-15 says, as we read it: a customer in a hosting arrangement that is a service contract follows Subtopic 350-40, the internal-use software guidance, to decide which implementation costs to capitalize and which to expense. Training costs and certain data conversion costs cannot be capitalized. Costs from the preliminary project and postimplementation stages are expensed as the activities are performed, while costs in the application development stage can be capitalized depending on their nature. Capitalized amounts are expensed over the term of the arrangement, in the same income statement line as the hosting fees, and the update leaves the accounting for the hosting fees unchanged.
Which of your costs fall in which stage, what the “term” is for your contract, and whether the amounts are large enough to matter for your size of company are judgments we cannot make from a bill. Bring your CPA the order form, the statement of work, and the invoices, and ask how they want it recorded. Until then, code the setup fee to its own account so it can be moved without untangling it from the subscription.
General information, not tax, legal or accounting advice. How your company records software, where it sets a prepaid threshold, and how it treats setup costs is a question for your CPA.
The browser audit can rank a card or bank export by vendor without sending anything out of your browser. It makes a good first look at which payees are fragmented before you write the rules. The connected audit is planned, not live; see the savings hub.
Send us the export and see which lines are worth a second look. A connected version is planned.
Worked example. Type over it.
Result
| Account | Debit | Credit |
|---|---|---|
| Prepaid expenses | 1,000.00 | |
| Cash | 1,000.00 |
| Account | Debit | Credit |
|---|---|---|
| Software expense | 83.33 | |
| Prepaid expenses | 83.33 |
| # | Date | Release | Prepaid left |
|---|---|---|---|
| 1 | 2026-10-31 | 83.33 | 916.67 |
| 2 | 2026-11-30 | 83.33 | 833.34 |
| 3 | 2026-12-31 | 83.33 | 750.01 |
| 4 | 2027-01-31 | 83.33 | 666.68 |
| 5 | 2027-02-28 | 83.33 | 583.35 |
| 6 | 2027-03-31 | 83.33 | 500.02 |
| 7 | 2027-04-30 | 83.33 | 416.69 |
| 8 | 2027-05-31 | 83.33 | 333.36 |
| 9 | 2027-06-30 | 83.33 | 250.03 |
| 10 | 2027-07-31 | 83.33 | 166.70 |
| 11 | 2027-08-31 | 83.33 | 83.37 |
| 12 | 2027-09-30 | 83.37 | 0.00 |
Cash leaves on day one and the expense arrives monthly. A company that expenses small prepayments as paid has a policy for that; ask your CPA.