01
The problem
A background talent payroll and staffing company serving union and non-union film and TV productions manually processed every payroll invoice, routing it to the correct QuickBooks entity by hand based on SAG status. Each invoice had to be broken into gross payroll, casting fees, voucher fees, payroll taxes, workers' comp, and union fringes, and matched against "Salsa reports" by payroll run ID, with state-specific workers' comp rates pulled from a constantly-updated Google document.
02
What Loopfour automated
- Draft invoice extraction: hourly browser automation logs into the internal platform, extracts invoice data, classifies draft versus final, and pushes drafts to a shared Google Sheet for the ops team
- Finalized invoice routing: routes final invoices by union or non-union status to the correct QuickBooks entity and transforms line items automatically
- Simultaneous journal entries: builds the matching JE from Salsa reports at the same time the invoice is processed, one invoice to one JE
- Cross-validation: checks both the entity name and the SAG field against each other, flagging disagreements for manual review instead of booking them
- Workers' comp calculation: compares actual workers' comp on the invoice against gross payroll times the state-specific rate, and calculates the adjustment automatically
"Start with invoices and JEs at the same time, that's the most efficient thing we can do."
03
Why it matters for controllers
Two independent checks (entity name and SAG field) have to agree before anything books. When they don't, a human sees it before it hits the GL, not after.
Routing payroll or vendor invoices across multiple entities by hand?
Book a demo