Splitting an invoice across properties

A landscaper cuts the grass at five of your buildings and sends one invoice. A roofer bills two properties on one page because they were on the same street. This guide walks you through coding that invoice properly — every building charged its own share, to the cent — rather than putting the whole thing on the largest property and fixing it in the ledger later.

Three words are used in a fixed way here and on every other page:

  • An allocation is one slice of one invoice coded to one property.
  • A split is the set of allocations belonging to one printed line, or to the whole document.
  • Balanced means the split sums to the line exactly. Zero drift, not within a cent.

What your ledger calls this: a class in QuickBooks, tracking in Xero

A split reaches your books as a dimension on each bill line, and the field it lands in has a different name in each ledger.

  • QuickBooks Online. inletAP sends the property as the class on each bill line. Class is a per-line field on a QuickBooks bill, which is what lets one bill carry several properties. A location is a bill header field, one per bill, so it comes from the ownership entity that bill is for and cannot vary by property within a single bill — properties held as QuickBooks Locations cannot be split at all.
  • Xero. Xero puts tracking on each line, so one Xero bill can carry a different property on every line. There is no header-level dimension to get trapped by, which is the QuickBooks Locations problem and it does not exist here. The ceiling is Xero's: an organization defines at most two tracking categories in total, so your properties have to be one of the two you already use.

Either way the split itself is the same work on the same screen. Where each mapping is made is in connecting QuickBooks and connecting Xero.

Before you start

  • Your role. Admin, Controller Approver and AP Specialist can all code an invoice. A Viewer cannot: the API refuses a write from that role, so the split panel will not save for them.
  • The invoice is in the workspace and carries a total. A split of the whole document is checked against the invoice subtotal — the stated total less the stated tax — so an invoice with no amount keyed is refused with "This invoice has no total on it yet, so there is nothing to split."
  • The invoice has not been exported. Once a bill has posted, its coding cannot be changed here. The product tells you to edit the bill in your ledger, or void it and re-export.
  • The buildings exist as properties. Add them under Properties first, or load them all at once with importing your data. Splitting by units or by square footage also needs that figure on each property record.
  • Ten minutes for the first one. The second invoice from the same vendor takes a click, because you will save this split as a template.

When you finish, the invoice carries one row per building, the chip above the grid reads Balanced, and the export plan says how many bills it will become.

1. Open the invoice and find Split coding

Open the invoice from the Inbox, or from Review Queue if it is waiting for a person. The document screen holds the original on one side and the extracted fields on the other, and Split coding is a section of its own below Line items.

The document screen, with the extracted fields beside the original invoice.
Split coding sits below Line items on this screen. Everything in this guide happens in that one panel.

If the invoice is approved, or already sent for approval, the panel says so before you touch it: changing the coding sends the invoice back to review and the approval has to be given again.

2. Choose what you are splitting

A row of chips runs along the top of the panel: Whole invoice with the subtotal on it, then one chip per printed line with that line's amount. Pick the one you mean. A chip carrying a saved split shows the number of allocations on it, and a chip carrying typed work you have not saved shows a dot.

Split per line where the lines differ. A grounds-care line covers the portfolio, a storm cleanup line covers one building, a fuel surcharge covers whichever properties the truck visited — and one distribution over the whole invoice would be right on the total and wrong on every line. Split the whole invoice where the bill has no printed lines, or where the distribution really does apply to all of it.

An invoice with no allocations at all is unchanged by any of this. It carries one property, and the export codes from that property.

3. Start the split

Press Split across properties, or ⌥S. The grid opens as an even split: two rows at 50% each, already balanced, for you to retype. Add property (also ⌥S) adds another row, and a new row takes a share of whatever has not been typed in.

Two shortcuts can fill the grid for you before you type anything:

  • Detected properties. When the invoice text names buildings, a card above the grid reads "3 properties detected" and lists each building, the amount proposed for it, and the words on the invoice that found it. Accept them one at a time, or Accept all. Nothing is saved until you accept, and the evidence is written into the audit trail with the suggestion — so "why did Elm Terrace get a third of this bill?" has an answer in the record. Property aliases are what make detection work; see coding invoices.
  • A saved split for this vendor. While the grid is still empty, any template bound to this invoice's vendor is offered as a one-click button with its shares printed on it. That is allocation templates, and it is where this guide ends up.

Each row asks for a property, optionally a unit, a percentage, an amount and a GL code. The property cell filters your properties by name, by code and by owning entity as you type.

4. Pick how the money is divided

Five buttons sit under the grid. By percent is first because it is how property managers talk — "sixty-forty", not "$7,488 and $4,992" — and it is the basis a new split opens in.

ButtonYou supplyUse it for
By percentA percentage per row.A distribution your owners agreed in writing and you are reproducing.
EvenNothing. Only the properties.A service visit that treats every building the same.
By unitsNothing. Read from each property.Anything charged per door: pest control, waste, resident services.
By square footageNothing. Read from each property.Anything charged by area: roofing, paving, snow clearance, CAM-style recoveries.
By amountDollars per row.The vendor already itemized the buildings and you are keying what they printed.

Pressing a button computes the split on the server and saves it, so the cents on your screen are the cents that will post.

By amount is yours, not ours. Type 4,000.00 / 3,200.00 / 2,400.00 and inletAP stores those cents rather than re-deriving them from a percentage. Every other basis computes the cents from weights and rounds them; the odd cent is marked on the row that took it. See allocation rounding.

A missing figure refuses rather than guesses. If a building has no square footage on its property record, that button is unavailable and the reason names the building. Zero would allocate nothing to that property and quietly overcharge every other one — the kind of error that survives for years because every column still adds up.

The button matching the basis the split is stored on stays pressed, so "what is this split on?" is answerable from the screen.

5. Balance it to the cent

A chip sits above the grid and says one of three things: Balanced, Remaining $X when part of the line is still uncoded, or Over by $X when the rows add up to more than the line.

Nothing saves until it reads Balanced, and the check is for exact reconciliation. A split allowed to be a cent out per row can be six cents out across twelve rows, and a tolerance wide enough to absorb that is wide enough to absorb a real mis-coding.

You rarely have to do the arithmetic. Rows you have not typed into share whatever is left, and the panel says in words how many rows are doing that. When every row carries a figure you typed, a button appears beside the chip naming the building and the amount — "Put $0.02 on Elm Terrace" — and ⌘⏎ does the same thing on the focused row.

Two more rules are enforced when you save, and both are stated on the Save button before you press it:

  • Every row names a property. A slice with no property is not a coded slice.
  • Every row points the same way as the invoice. A -400.00 among five positive rows still sums correctly while paying one building to be billed. A credit note is the honest exception: there every slice is negative.
The Split coding panel with one printed line selected. Three properties are suggested with their share of that line, and the grid below holds one row per property with its percentage and amount. A green Balanced chip shows the rows add up to the line.
One line of the GreenLeaf invoice, split by unit count across three buildings. The percentages run to four decimal places; the amounts are whole cents, and they add up to the line.

6. Save it, and prove it stuck

Press Save split. The confirmation names the count and the amount — "3 properties on $9,600.00".

You should now be looking at a grid whose chip reads Balanced, with Save split greyed out and saying "This split is already saved". Three more checks settle it:

  • The line chip you were on now carries the number of allocations, so a glance across the chips shows which lines are coded.
  • The Inbox list shows the invoice against its primary property — the building carrying the largest share. A split invoice stays findable in a list; the full picture is on the document.
  • Open Audit Log and filter the action to Allocation Updated. The entry carries your name, the time, and the before and after counts and totals. Applying a template is recorded separately as Allocation Template Applied, with the template and the weights it computed.
The audit log, with the actor, the action and the before and after values on each row.
Every save, template apply and clearing is one row here. This is where you prove a split happened and who did it.

If the invoice was approved or waiting for approval, the confirmation is an amber warning instead: the split saved and the invoice went back to review, because the approval was given for the previous coding.

A worked example

GreenLeaf Landscaping, invoice INV-88213, $12,480.00 over three lines: monthly grounds care $9,600.00, storm cleanup at Elm Terrace $2,180.00, and a fuel surcharge of $700.00.

Line 1 is split by percent, on the 41.6667 / 33.3333 / 25.0000 the owners agreed. Line 2 is not split at all — it was one building's work, so it is coded to Elm Terrace and left alone. Line 3 is split evenly, and $700.00 three ways does not divide: $233.33 three times is $699.99, so one row takes the extra cent and the split totals exactly $700.00.

PropertyLine 1Line 2Line 3Total
Maple Court$4,000.00—$233.34$4,233.34
Elm Terrace$3,200.00$2,180.00$233.33$5,613.33
Oak Ridge$2,400.00—$233.33$2,633.33
Total$9,600.00$2,180.00$700.00$12,480.00

Every column sums to its line and the grand total is the invoice. Which row takes the odd cent, and why it is recorded on the row rather than recomputed later, is allocation rounding.

The keyboard

The grid is built for people who key invoices all day. Tab and Shift+Tab walk the cells and wrap into the next row, the arrow keys move the focus, and Esc puts a cell back to what it held before you started typing. These are the six worth learning:

KeyAction
⌥SSplit the selected line, or add a row to a split that is open.
EnterCommit the cell and move down. On the last row, add a row.
⌃DFill the cell above down into this one — a GL code, a property or a unit.
= prefixTreat the cell as arithmetic: typing =9600/3 puts 3,200.00 in it.
⌘⏎Put the remainder on the focused row.
⌘ZUndo the whole split, not the last keystroke. ⌘⇧Z redoes it.

On a wide screen the same list is behind the ? button beside the Remaining chip. It is not drawn on a phone, where none of these keys exists.

⌃D fills a GL code, a property or a unit down. It refuses to fill an amount down, because copying one building's dollar figure into every row unbalances the split. Use Even or ⌘⏎ instead. The = prefix understands +, -, *, / and brackets and nothing else — there are no cell references and no functions. Undo works on the whole set because a split is saved as a whole set: the invariant being protected is "these rows sum to this line", which is a property of the set.

What a split changes downstream

  • Approvals route per property. One person who covers three buildings gets one task rather than three. See property approvals.
  • The export may become more than one bill. A bill belongs to one set of books, so when the buildings on an invoice belong to ownership entities in different QuickBooks companies, the invoice fans out into one bill in each. A banner above the grid names the companies and the amount going to each, before you press Export. See posting to several companies. A workspace that also posts to Xero is told on the same panel that a bill is produced there too.
  • Some QuickBooks setups cannot carry the coding at all. If the company does not track classes on transaction lines, the bill posts as one lump with no property coding. If it models properties as Locations, a location is a bill header field — one per bill, never one per line — so a split invoice cannot carry a location per property. Both cases are warned about above the grid rather than discovered after the export.
  • The CSV can be written one row per allocation instead of one row per invoice. See the exports reference.

Undoing a split

The bin icon in the panel clears every allocation on the invoice, not only the line you have open, and the confirmation states the count. The invoice goes back to coding from its own property. The clearing is in the audit trail with your name on it, and the amounts are not silently redistributed. As with any other re-coding, an invoice that had been approved goes back to review.

Limits

One printed line can be split up to 150 ways, and one invoice can carry 200 allocations in total. A workspace holds up to 200 saved templates. These are guard rails against a pasted spreadsheet rather than accounting limits, and they are the same on every plan, including Free.

Where to go next

View this page as markdown

Last updated