Asset or Expense? Flag Capital Buys on the Slack Request, Not at Close
October 5, 2026 · BuyFlow Team
A $3,100 espresso machine for the office and a $310 desk chair both arrive in Slack as "can I get this approved?" In most Slack-first teams they get the same thumbs-up. Then, at close or at tax time, someone has to work out which one was an asset.
That question is cheap to answer while the request is still open. It gets expensive after the bill has been coded to "Office Supplies" and paid. This post covers why capital purchases need a flag on the Slack request, what the flag should trigger, and how it lands cleanly in QuickBooks Online or Xero.
The decision is made when the bill is coded
Both major SMB ledgers treat the account a purchase is coded to as the switch that decides whether it becomes an asset.
In Xero, a bill or spend-money transaction coded to a fixed asset account automatically creates a draft fixed asset that finance can then complete and register (Creative CFO). The catch: if a bill is first posted to a P&L account like "Subscriptions" and recoded to a fixed asset account later, Xero does not move it into the draft assets list. Someone has to create the asset manually and reference the bill (Finerva). Recoding in the other direction leaves a stale asset in the register that also has to be disposed of or deleted by hand (same source).
In QuickBooks Online, the purchase should be recorded against a Fixed Asset account in the chart of accounts, not an expense category, and at its full capitalized cost: price plus sales tax, delivery, and installation (Fusion Taxes). On QBO Advanced, adding an asset in the Fixed Assets tool sets up depreciation but explicitly does not record the purchase itself; that is a separate transaction against the same asset account (QuickBooks help).
So the real CapEx-vs-OpEx decision is not made in a policy doc. It is made by whoever codes the bill. If that person only has a Slack thumbs-up and a vendor name to go on, they are guessing.
Your threshold only works if you wrote it down first
For U.S. businesses, the IRS de minimis safe harbor lets you expense tangible property up to $2,500 per invoice or per item (as substantiated by the invoice) if you don't have an applicable financial statement, or up to $5,000 if you do (IRS). Most small companies don't have an AFS, which generally means an SEC filing, a CPA-audited statement, or a statement required by a government agency (The Tax Adviser), so $2,500 is usually the working number.
Three details matter for approvals:
- It's tied to how you keep your books. The safe harbor applies to amounts you actually expense in your books and records (IRS), and the regulation's own examples assume accounting procedures already in place at the beginning of the year (Treas. Reg. §1.263(a)-1(f)). A threshold nobody applies at request time is a weak procedure.
- It's per item, not per request. An invoice for eight separately priced $310 chairs can be tested chair by chair; a single $3,100 refrigerator doesn't qualify and can't be split into a $2,500 expense plus a $600 asset (AE Tax Advisors). Your Slack request needs a unit price, not just a total.
- Over the line doesn't automatically mean "asset." Amounts above the threshold can still be deductible as repairs or materials and supplies under the normal rules (IRS). That's exactly why an "Unsure, finance decides" option is worth having.
Your book capitalization policy and your tax election are related but not the same thing. Pick the number with your accountant. Then put it where requests happen.
The flag: three choices on every purchase request
Add one required field to Slack purchase requests above a low floor:
- Operating expense: consumed this year, or under our capitalization threshold per item.
- Capital purchase: over the threshold per item and expected to last more than a year.
- Not sure: finance classifies before approval.
When "Capital purchase" is picked, ask for four more things:
- Unit price and quantity, so the per-item test is visible.
- Full landed cost, including tax, shipping, and installation, since that is what gets capitalized (Fusion Taxes).
- A description specific enough to become an asset record. In Xero the draft asset starts from the coded bill line (Creative CFO), so "laptop" gives finance less to register than "MacBook Pro 14, design team, serial on delivery."
- The quote or invoice attached, because the safe harbor is substantiated by the invoice (IRS).
Route capital buys through finance, even small ones
A department manager can reasonably approve a $900 software renewal against this month's budget. A $4,000 piece of equipment changes the balance sheet and the depreciation schedule, so finance should see it before the vendor does, even if the manager's dollar limit would otherwise cover it.
A simple Slack-first rule:
| Request type | Approver | Before Approve |
|---|---|---|
| Operating, under manager limit | Budget owner | Receipt or quote attached |
| Operating, over manager limit | Budget owner, then finance | Budget check |
| Capital, any amount | Budget owner, then finance | Unit price, landed cost, description, quote |
| Not sure | Finance classifies first | Then follows the right path |
This doesn't need a separate procurement system. It needs one extra question and one routing rule.
Hand-off into QuickBooks or Xero
Once a capital request is approved:
- Code the bill to the fixed asset account the first time. In Xero that gives you the draft asset automatically; late recodes don't (Finerva).
- Book the full landed cost, not the subtotal (Fusion Taxes).
- Register or schedule the asset right away. Creative CFO lists draft assets that were never registered, and cost mismatches between the bill and the register, among the common reconciliation gaps (Creative CFO).
- Keep the Slack approval with the bill. The request, the classification, and the quote are the paper trail for why it was capitalized, or why it wasn't.
A quick check before this month's close
Pull last month's approved purchase requests and filter for any single item at or above your threshold. For each one, confirm it hit a fixed asset account in QBO or Xero, or that someone made a deliberate call to expense it. Anything that landed in a P&L account by default is the gap this flag closes.
The BuyFlow take
Approval-first spend control isn't only about saying yes before money moves. It's about saying yes to the right kind of purchase, with enough detail that whoever books it doesn't have to guess. BuyFlow keeps purchase requests in Slack, routes them by your rules, and hands a fully described, approved commitment into QuickBooks Online or Xero, so capital buys show up as assets the first time instead of as a recode at close.