Which account does each payment belong in, and which ones should a person review?
Each payment in your books goes into an account, for example Rent or Office Supplies. This skill suggests that account for each transaction. It shows the evidence for each suggestion, and it separates the clear items from the items that a person must review.
You give it the transactions, or it finds the transactions that nobody coded yet. It reads your own chart of accounts and how you coded each vendor before. It suggests an account, says how sure it is, and gives one sentence of reasons. It flags the items that need a decision from you. It never posts anything and never changes your books.
39 transactions at Northbrook Trading for September 2026
Every business keeps a list of its accounts. Accountants call this list the chart of accounts. A textbook gives each group of accounts a first digit, for example 5 for expenses. It lists the accounts in the order of the financial statements1. The textbook says that these numbers are its own conventions. Charts differ from company to company. Northbrook Trading, for example, uses numbers that start with 6 for expenses. So the skill codes only to accounts that are in your own chart.
Northbrook Trading is a US company and works in US dollars. On Monday 5 October 2026, the owner asks the skill to code September. The skill finds 38 transactions in the account 8999 Uncategorized Expense. The owner also uploads one statement file from the bank. That file has one more item, a deposit from Stripe. Here are the 13 items that show how the skill thinks.
| # | Date | Vendor | Amount $ | Suggested account | Confidence | Why, and the flag |
|---|---|---|---|---|---|---|
| 1 | Tue 1 Sep | Harbor Office Supply (via Square) | −312.40 | 6520 Office Supplies | High | You coded this vendor to 6520 in 23 of 24 earlier payments, most recently on Thu 20 Aug 2026 |
| 2 | Wed 2 Sep | NimbusHost | −480.00 | None yet. The nearest is 6330 Software Subscriptions | Low, needs review | A new vendor that sells cloud hosting. Your chart has no hosting account, so you choose the account |
| 3 | Fri 4 Sep | SwiftPost | −86.50 | 6150 Shipping and Delivery | Medium | The word "courier" is in the bank text |
| 4 | Tue 8 Sep | Brightwave Telecom | −229.00 | 6340 Telephone and Internet | Medium | Inconsistent history: 7 times to 6340 and 5 times to 6310. Your house rule picks 6340, and the skill reports the conflict |
| 5 | Wed 9 Sep | TechDepot (via PayPal) | −3,150.00 | History says 6520. Consider Computer Equipment | Medium | Possible capital expenditure, and unusual amount: 21.7 times the usual $145.00 |
| 6 | Fri 11 Sep | Blue Ridge Coffee | −148.75 | 6730 Meals | Medium | Duplicate vendor record: the history is in two vendor records, 9 and 4 payments |
| 7 | Mon 14 Sep | Northshore Bank | −1,850.00 | 2700 Bank Loan, the full amount | Medium | Split required: a loan payment, and no lender statement shows the interest part |
| 8 | Tue 15 Sep | Klarwerk (via Wise) | −940.00 | 6420 Professional Fees | Medium | Cross-border: the vendor is in Germany. The skill applies no tax treatment |
| 9 | Fri 18 Sep | SwiftPost | +45.00 | 6150 Shipping and Delivery, as a reduction | Medium | A refund. It reduces the expense that it came from |
| 10 | Sat 19 Sep | GlowSpa | −260.00 | None. Needs review | Low | Possible personal: a spa on a Saturday. You give the business purpose |
| 11 | Mon 21 Sep | No payee | −57.20 | None. Needs review | Low | The bank text is "POS DEBIT 0034871". It has no payee and no description |
| 12 | Fri 25 Sep | Northbrook credit card | −4,200.00 | A transfer. No expense | Medium | Possible transfer: +4,200.00 arrives on the card account on Mon 28 Sep, 3 days later |
| 13 | Wed 30 Sep | Lindqvist Property | −3,000.00 | 6810 Rent, for review | Medium | Related party: the owner named this as another business of the owner |
| 14 to 38 | Sep | 25 routine items | −11,486.90 | The accounts in their history | High | Consistent history. No flag |
| 39 | Tue 29 Sep | Stripe, from the bank file | +3,862.40 | No income. Match it to 1250 Stripe Clearing | Low, needs review | Possible invoice payment or deposit: the amount agrees with the 3,862.40 in 1250 Stripe Clearing |
| 1 to 38 | From the ledger | −26,155.75 | −14,668.85 for rows 1 to 13, and −11,486.90 for the routine items | |||
| 1 to 39 | With the bank file | −22,293.35 | −26,155.75 + 3,862.40 |
Row 5 is a laptop and a monitor for $3,150. To capitalize a purchase is to record it as a long-term asset and spread its cost over the years of its use. Companies do this only for items of material value, so a cheap stapler stays an expense2. Northbrook's own limit for this is $2,500, and $3,150 is $650 above it. So the skill flags the purchase. You decide.
Rows 11 and 39 show why records must name the source of each payment and each receipt. A tax guide says that records must show the payee, the amount, the date and what you bought. It also says that records must separate business receipts from other receipts3. Row 11 has no payee, so the skill does not guess. Row 39 is a Stripe payout. Your sales are already in the books, so the skill matches the payout to the clearing account. If it coded the payout as income, it would count the same sales two times.
Row 10 can be personal. Business expenses must be ordinary and necessary, and a personal cost that you paid from business money is not a business expense4. The skill does not know your reason for the spa visit. It shows the flag, and you answer it.
26 + 9 + 4 = 39 rows. The three percentages add to 100.1% because we round each one to one decimal place.
A habit looks like a rule
The fastest way to code a payment is to copy the account that the vendor got last time. That works until the habit is wrong. In the skill's own words, "two years of consistent miscoding still recommends itself confidently". So the skill reports how often you used an account. It does not say that the account is correct.
What the skill does
It shows the history and its countThe common shortcut
Copy the most common or the latest accountA rule from you or a correction that you saved always wins over the history. The skill still shows you the conflict.
Seven questions, in one message
The skill asks these first, in one short batch. It asks only for what it cannot already see.
- Use MosoFin for this run, or upload the data yourself?MosoFin is the connection to your books and the other platforms you link. Without it, you upload the files, and the checks are the same. The skill asks this only if your account has the MosoFin tools. If not, it says once that the run is manual.
- Which transactions do you want coded? Paste a list, give a bank or card export, or let the skill find them.This is the work itself, so you must answer it. With MosoFin, the skill offers to find the items in your uncategorized and suspense accounts.
- Which company are they for?The same vendor can go to different accounts in different charts. In a group, the skill checks the company for each batch before it codes any item.
- Do you want tax codes? If yes, for which country or state, and which tax codes do you use?The skill suggests tax codes only with both answers. Without them, each row says "TBD". It never assumes a tax treatment.
- Above what amount do you record a purchase as an asset, and not as an expense?The skill always asks this. It drives the possible capital expenditure flag. Ask your accountant if you are not sure. If you leave it blank, the skill never picks a limit. It flags large equipment and marks the limit "unknown".
- Do you have house rules that override what you did in the past?Optional. A rule from you wins over the history. Without rules, the skill uses the history and calls it practice.
- What are the names of the owners, their family members on the books, and their other businesses?Optional. The skill uses the names only for the related-party flag and never stores them.
Then it reads the plan back and waits for your yes. The skill's own example is for Northbrook:
"Coding the 38 transactions in Uncategorized Expense at Northbrook Trading, read from your Mosofin connection, against its chart and coding history. Bank-feed items still awaiting review are not in the ledger — upload the statement CSVs if you want those coded too. Tax codes from the configured list, which code applies to be confirmed by you; capitalization threshold $2,500. Shall I go ahead?"
The Stripe deposit in row 39 came from the bank feed. It was not in the ledger yet, so the owner uploaded the statement file for it.
Connect once, or upload two files
Say yes, then give it what no ledger holds
- It reads back the workspace and the company file by name, and waits for your yes
- It reads your chart of accounts, your vendors, your coding history, and the items in uncategorized and suspense accounts
- It reads the tax codes in your books, your bank and card accounts, your employee list, and your country and industry
- You still give it your tax rules, your capitalization limit and any house rules. Your books do not hold them
- For bank-feed items that are not in the ledger yet, upload the statement files
Bring the transactions and the chart
- Transactions to code, with date, payee, description and signed amount. A CSV or XLSX export, or a pasted table. Required
- Chart of accounts, numbers and names, CSV or XLSX. Required. Without it, the skill stops and asks
- Company name, required. Country or state, required for tax codes. Industry, if known
- Tax code list, required for tax codes
- Recommended: exports for every bank and card account, your earlier vendor-to-account coding, and open invoices if the batch has deposits
- Optional: your capitalization limit and house rules, typed in the chat
A coded list, with the evidence beside each line
It asks before it makes an Excel file. For Northbrook, the name is Northbrook Trading_Coded_Transactions_2026-10-05.xlsx. If you say no, you get the same sheets as tables in the chat. A Data sources line ends the answer. If you recode an item, the skill asks at the end if it must keep that change as a rule. After you see the results, it asks if you want to save your own version. On a yes, it saves your rules, for example phone and internet to 6340 for Northbrook. It never saves the transactions, the amounts or a personal or related-party flag.
Six rules that never bend
- Never reads MosoFin without asking. A connected account is not permission to read it.
- Never reads anything before you answer the questions and say yes to the read-back.
- Never writes, updates or deletes anything, in any system. Every entry that it makes is a proposal for a person to post.
- Never invents an account. It codes only to accounts in your chart. With no chart, it stops and asks. Then it uses your category names, or a placeholder that you authorize with a mark that says you must change it before you post.
- Never treats how often you did something as proof that it is correct. It reports a split history as a split. Your rule or your saved correction wins, and it shows the conflict.
- Never chooses a capitalization limit or a tax treatment for you. It shows a possible personal or related-party item and never concludes it. It never stores that flag against a named person.
Seven terms, in plain English
- Chart of accounts
- The numbered list of all the accounts in your books1.
- GL coding
- The choice of an account in the general ledger for each transaction.
- Uncategorized or suspense account
- A holding account for items that nobody coded yet. For the skill, it is the list of work to do.
- Capitalize
- To record a purchase as a long-term asset and spread its cost over its years of use2.
- Confidence band
- High, Medium or Low. Any flag from the special checks limits an item to Medium. These bands are the skill's own.
- Transfer
- Money that moves between two of your own accounts. It is not an expense and not income.
- Related party
- An owner, a family member or another business of the owner. A payment to one of them needs a person to review it.
Where the facts on this page come from
The sources are two sections of an accounting textbook and two IRS pages. We found each one on 28 October 2026 in search results. We did not open the pages, so follow each link for today's wording. What the skill does comes from the skill's own files.
- OpenStax: Principles of Accounting, Volume 1, 3.2 Define and Describe the Expanded Accounting Equation and Its Relationship to Analyzing TransactionsA chart of accounts gives each group a first digit, for example 1 for assets and 5 for expenses. It lists the accounts in the order of the financial statements. The textbook says that these are its own conventions.
- OpenStax: Principles of Accounting, Volume 1, 11.2 Analyze and Classify Capitalized Costs versus ExpensesTo capitalize is to record a long-term asset and spread its cost over its economic life. Companies capitalize only items of material value.
- IRS: Publication 583, Starting a Business and Keeping RecordsRecords must identify the source of receipts. Supporting documents must show the payee, the amount, the proof of payment, the date and a description of the purchase.
- IRS: Small Business, Self-Employed, Other Business FAQs, Income and expensesBusiness expenses must be ordinary and necessary. You cannot deduct personal expenses that you paid from business money. For a cost with mixed use, only the business part counts.
No outside authority backs the five tiers, the confidence bands, the flags, the 3-day transfer window, the Evidence and Verdict columns or the three sheets. They are the skill's own rules. We made up Northbrook Trading and every figure in the example for this page. All four sources are US sources.
This page explains gl-coding-assistant, from the MosoFin finance skills library, MosoFin/mosofin-finance-skills on GitHub. Read the skill on GitHub → The skill is in the card format on the main branch. It merged in PR #1 on 26 October 2026, and a bookkeeping-audit correction followed on 27 October 2026. This page describes that version. Want the worked examples? Learn it step by step →