Splits: Break One Record into Many

Create a Split enrichment that replaces a matching record with multiple lines, like payroll into wages, tax, and super, with amounts that always add up exactly.

3 min read

On this page

A Split enrichment replaces a matching record with several smaller ones whose amounts add up exactly to the original. The classic case is payroll: one $8,000 bank debit that your books need as wages, withheld tax, and superannuation on three separate lines, each with its own category. Other favorites: a fixed owner-draw carve-out, or a revenue share divided by percentage.

You define when to split with the same condition builder Rulesets use (for example, Description contains PAYROLL), and how to split with 2 to 10 lines.

Split lines#

Each line takes either a percentage of the parent amount or a fixed amount — and exactly one line must be the remainder, which absorbs whatever the other lines leave over (including rounding). Each line can also set values on the child it produces, most usefully Category.

A payroll example:

LineAllocationSets Category
WagesremainderWages
PAYG tax22%Taxes
Super12%Superannuation

The amounts always add up — exactly

Child amounts are computed to the cent and always sum exactly to the parent. Percentages that produce fractional cents round per line — half-cent ties go to the even cent, the same banker’s rounding accounting systems use, so a repeating split does not drift the same way every period — and the remainder line absorbs the residue, so a $1,234.56 parent never becomes $1,234.55 or $1,234.57 of children. A fixed amount larger than what is left of the parent is capped at the remaining balance.

Percentages across non-remainder lines may total at most 100%. The editor validates all of this at save: line count, one remainder, percent bounds, and that each Set field is enrichable for the data type.

What the children look like#

  • Children inherit every field from the parent — date, description, account, everything — except the amount (recomputed per line) and whatever the line's Set fields override. Credit/debit columns, when present, are scaled proportionally so they stay consistent with the split amount.
  • Children get derived ids based on the parent's id, so re-syncing the same data produces the same children instead of new rows.
  • The parent record itself is replaced — it does not sync alongside its children.

Everything downstream sees the children, not the parent

Splits run first, at the guard stage. Later enrichments — Memory, lookups, rules, alerts — operate on the child records; the parent is already gone. An alert on Amount greater than 5,000 will not fire for an $8,000 payroll split into smaller lines, because no single record with amount 8,000 exists anymore.

A child produced by one split is never split again, even if it happens to match another Split enrichment — splitting is a single pass.

Setting it up#

  1. Create the enrichment

    On the Enrichments tab, click "Add an enrichment" and choose Split in the Guard data group.

  2. Describe when to split

    Build the condition that identifies the records, for example Description contains PAYROLL. Make it specific — every match becomes multiple rows.

  3. Define the lines

    Add 2 to 10 lines, give each a percent or a fixed amount, mark exactly one as the remainder, and set per-line field values such as Category.

  4. Attach, preview, enable

    Attach the feed in the Dependencies tab, check the feed's Live Preview (the parent shows struck through with its children beneath it), then flip the switch to Enabled.

The Split configuration form: a When condition reading Description contains PAYROLL, and a Split into section with three lines — 22 percent setting category Taxes, 12 percent setting category Superannuation, and the remainder line setting category Wages with the note that it absorbs whatever is left including rounding — above a meter reading 34 percent plus remainder, always adds up to the full amount.
The payroll split: the When condition, three lines with per-line categories, and the allocation meter.

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.