Client Processing — Transaction Inventory by Functional Area
This document inventories the system and business transactions that occur in each functional area of Client Processing. Each entry is a short phrase followed by a one-line description. Entries are marked [User] for a user-initiated business action or [System] for a system-generated event
1. Client Finance Data Enhancement
- Link to Authoritative Data — [System] Associate a Client Processing finance record with its underlying Authoritative Data master record.
- Maintain Finance-Specific Master Data — [User] Add and maintain the finance data unique to Client Processing that does not live in Authoritative Data.
Note: this area is a placeholder.
2. Sales Block Processing
- Create Deal — [User] Establish the commercial agreement between UTA and a buyer on behalf of a client, with name, reference, and active date range.
- Auto-Generate Deal Reference — [System] Assign a
DEAL-{random}reference when the user does not supply one. - Assign Deal Parties — [User] Add the client, buyer, agent, attorney, manager, and other participants with their commission terms and bank routing.
- Upsert Deal Parties (Authoritative List) — [System] Treat the submitted party list as complete, deleting any party not represented in it.
- Receive Sales Block from Deal Engine — [System] Accept the inbound sales item and its payment terms published by the Deal Engine.
- Create / Update / Split Sales Item — [User] Manage sales pipeline items and their payment terms from the Sales screen.
- Process Revenue Update — [User] Run the sales block through three-layer validation (data, consistency, referential) to produce receivables.
- Validate Sales Block — [System] Confirm payment-term amounts sum to the sales item gross before allowing revenue processing; fail the block otherwise.
- Generate Revenue Items — [System] Create one revenue item per sales item, representing expected earnings.
- Generate Billing Items — [System] Create one billing item per payment term, each split into a REV and a PAY detail line.
- Estimate Tax Deductions at Creation — [System] Attach estimated withholding as a deduction on the PAY line when the billing item is born.
- Update Sales Block Status — [System] Move the block through its processing lifecycle (e.g., to Failed on validation error, ready for retry).
3. Revenue Item Review
- Browse / Search Revenue Items — [User] View the current state of revenue filtered by current and confirmed-date status.
- View Recognition Schedule — [User] Inspect a revenue item's recognition timeline (date, amount, posting status).
- Update Recognition Schedule — [User] Adjust the schedule where the review reveals it is warranted.
- Modify Revenue Item — [User] Change a revenue item via the Modify dialog, delegating to the Deal Engine service.
- Audit Revenue Changes — [User] Review the versioned history of revenue as terms evolve.
- Trigger Deal Update Request from Review — [User] Raise a correction back to the Deal Engine when deal data is found to be wrong.
4. Billing Item Review
- Browse / Search Billing Items — [User] View current, open receivables with REV/PAY breakdown, balance, cash applied, and deduction totals.
- Manage Billing Item Deductions (In-Place) — [User] Add, edit, or remove deductions directly on an existing billing item without a rebill.
- Manage Payment Term — [User] Update amount, due date, date status, or paying party — or remove the term — delegating to the Deal Engine.
- Revise Billing Item — [System] Produce an updated billing item via revenue re-sync after a payment-term change.
- Create Billing Item Reversal — [System] Reverse the prior billing item (immutability) when a correction requires a new version.
- Update Billing Item Open Status — [System] Recompute the open-item indicator as balances change.
- Surface Outstanding Balances — [System] Compute REV balance, PAY balance, and total balance in real time to support cash-application decisions.
- Trigger Deal Update Request from Review — [User] Raise a correction back to the Deal Engine on the same model as Revenue Item Review.
5. Deal Update Requests
- Generate Deal Update Request (User Action) — [User] Request an upstream change to milestones, amounts, dates, or payment terms from a review screen.
- Generate Deal Update Request (Rule-Driven) — [System] Raise the request automatically when processing reveals a deal-data discrepancy.
- Transmit Request to Deal Engine — [System] Send the event upstream to start the deal-update workflow.
- Receive Republished Deal Version — [System] Take back the new deal version the Deal Engine produces, re-entering through Sales Block Processing.
Note: WIP
6. Cash Receipts
- Upload / Ingest Bank File — [System] Receive CAMT statement files from CNB, JPM, and Bank of America via the bank integration.
- Sync Bank Transaction (Living Mirror) — [System] Maintain the golden-record bank transaction and keep it in sync with the source file.
- Generate Cash Receipt from Bank Transaction — [System] Create a
cash_receiptautomatically from an eligible inbound bank credit. - Create Cash Receipt (Manual) — [User] Enter a receipt by hand for a wire, ACH, or check not sourced from a file.
- Auto-Create Default Split — [System] Create a 1:1 split equal to the receipt's net amount on receipt creation.
- Auto-Create Draft Worksheet — [System] Create a draft worksheet for the default split with no user action.
- Update Cash Receipt — [User] Correct header fields, subject to what the posting status allows.
- Adjust Receipt Amount — [User] Record a bank fee or correction that reduces the net receipt amount.
- Create Additional Split (Carve-Out) — [User] Subdivide a multi-deal or multi-client deposit into independently processable splits.
- Adjust Split Amount — [User] Change a split's amount, subject to the floor of amounts already applied.
- Transfer Funds Between Splits — [User] Reallocate amounts between splits on the same receipt.
- Combine / Delete Split — [User] Merge or remove splits with fund reallocation, preserving the split-total invariant.
- Tag Split with References — [User] Attach client, buyer, deal, and payment-term references that drive downstream receivable search and tax warnings.
- Compute Split-Level Tax Warning — [System] Surface a withholding warning on demand from the split's party reference.
- Create Inter-Bank Transfer — [User] Move a receipt to a different bank account, with optional FX conversion.
- Lock / Unlock Cash Receipt — [User] Hold the receipt for concurrency control during processing.
- Void Cash Receipt — [System] Void the receipt as a consequence of its net amount reaching zero.
- Reset Receipts for GL Reposting — [System] Return posted receipts to unposted for a controlled re-run.
7. Cash Matching
- Load Matching Queue — [System] Surface unposted splits without an active submitted or approved worksheet, defaulting to unmatched.
- Select Split for Matching — [User] Open a queued split to load its details, notes, and attachments.
- Add / Remove References on Split — [User] Pin parties, deals, or receivables as references to drive the billing-item filter.
- Filter Billing Items by Reference — [System] Scope the open-billing-item grid to the referenced clients, buyers, deals, departments, or payment terms.
- Configure Display Filters — [User] Toggle open-only, hide-zero-amount, confirmed-dates-only, and include-written-off.
- Select Receivables — [User] Choose the billing items this cash pays for and carry them into a worksheet.
- Stage Receivables in Worksheet (Search Receivables Dialog) — [User] Select receivables from within a worksheet and apply them to the worksheet's receivables table.
8. Worksheets
- Create Worksheet from Split — [User] Open a worksheet on a split that has no active worksheet; the receipt is locked to the user.
- Add Receivable Application (REV + PAY Pair) — [User] Add a billing item's REV and PAY lines to the worksheet.
- Enter Cash Application Amounts — [User] Set the dollar amounts to apply to each REV and PAY line.
- Auto-Apply to Balance — [User] Fill application amounts at the billing item's outstanding balance in one action.
- Manage Application-Level Deductions — [User] Record US/UK withholding, VAT, bank charges, or discounts on an application row.
- Preview Worksheet Tax (Batch) — [System] Pre-populate suggested deductions from the tax engine for the worksheet's parties.
- Add On-Account Client Ledger Entry — [User] Book cash that cannot be matched to a receivable as an on-account client ledger item.
- Create Payout Record (Passthrough / Loan / VAT) — [User] Add a direct payout that bypasses the settlement distribution process.
- Apply Worksheet (Draft → Applied) — [User] Finalize applications; REV and client-ledger entries are staged as unposted for GL pickup.
- Reject to Draft (Applied → Draft) — [User] Send an applied worksheet back for correction, clearing apply timestamps and posting status.
- Return Worksheet (Approved → Returned) — [User] Reopen an approved worksheet, producing the three-document set.
- Auto-Create Reversal Worksheet — [System] Generate negative entries for all items on the returned worksheet.
- Auto-Create Replacement Draft — [System] Create a fresh draft pre-populated only with locked (already-sent) items as read-only.
- Bulk Approve / Reject from Queue — [User] Act on multiple settled worksheets from the worksheet queue.
9. Settlements
- Select PAY Receivables — [User] Choose PAY-type application rows from the same deal to settle.
- Compute Settlement Defaults — [System] Pre-populate deal-party commission percentages, PAY applied, deductions, and bank accounts.
- Allocate PAY Among Deal Parties — [User] Divide the PAY amount by commission terms across artist, manager, lawyer, business manager, etc.
- Set Payee Options — [User] Choose percentage vs. flat commission, gross vs. net calc level, requested payment date, and "do not send."
- Validate Settlement Balance — [System] Confirm the settlement total equals PAY applied within tolerance before saving.
- Save Settlement — [System] Create the settlement header and one item per non-zero payee in Draft status.
- Auto-Create Settlement Payouts — [System] Create
S-type payout records bridging the settlement to the payment layer (idempotent). - Settle Worksheet (Applied → Settled) — [User] Advance the worksheet once all PAY applications have settlements.
- Approve Worksheet (Settled → Approved) — [User] Approve as Settlement Approver, materializing payment items.
- Create Passthrough / VAT Pass-Through Payout — [User] Issue a direct payment that bypasses the settlement distribution.
- Lock Settlement on Transmission — [System] Freeze the settlement, its items, and linked PAY/REV applications once payment is sent.
9a. Mass Settlement (batch path)
- Stage Splits Against Receivables — [User] Build a settlement packet by queuing split-to-receivable allocations in one workspace.
- Set REV / PAY / PT Amounts per Row — [User] Adjust in-house commission, client payout, and passthrough per queued receivable.
- Create Settlement (Packet) — [System] Transition the packet to Draft, auto-creating worksheets, applications, and settlement defaults in bulk.
- Submit Packet for Approval — [User] Send the packet into the four-step approval chain, optionally setting approval flags.
- Advance / Reject Through Approval Chain — [User] Agent, Submitter, CAM, and VP Finance approve or reject in sequence (rejection resets the chain).
- Auto-Release on VP Finance Approval — [System] Approve all worksheets, create payment items, clear holds, and generate the Settlement Summary PDF.
- Return Packet — [User] Unwind a released packet via the three-document worksheet return for each linked worksheet.
10. Payments
- Create Payment Items from Payouts — [System] Convert each payout into a
payment_itemat worksheet approval. - Set Initial Status (WAITING / PENDING) — [System] Hold future-dated or do-not-send items as WAITING; make others immediately eligible.
- Manage "Do Not Send" Hold — [User] Apply or release the hold on individual or bulk payment items.
- Release Hold on Date Arrival — [System] Advance a WAITING item to PENDING when its payment date arrives.
- Select and Process Payment Items — [User] Choose PENDING items and initiate bank transmission.
- Lock for Processing — [System] Set selected items to PROCESSING to prevent concurrent handling.
- Determine Bank Adapter (Schema-Driven) — [System] Pick the adapter from the payee bank's payment-request schema, not the bank's identity.
- Build and Save Payload — [System] Generate and persist the exact JSON/XML payload before transmission.
- Transmit to Bank — [System] Send the payload; on success mark SENT and lock, on failure revert to PENDING.
- Retry Failed Transmission — [User] Re-attempt a failed execution from the execution drawer.
- Poll Payment Status — [System] Query the bank for confirmation and advance the item to PAID on completion.
- Post Payment to GL — [System] Post confirmed payments; skip (no GL entry) payments cancelled before sending.
- Void / Cancel Payment — [User] Cancel a payment where the lifecycle still permits it.
11. Journals
- Apply On-Account Money — [User] Move already-held funds against a balance without a new bank receipt.
- Issue Refund — [User] Return funds as a zero-balance cash adjustment.
- Process Balance Adjustment — [User] Make other zero-balance adjustments that reallocate money without a fresh deposit.
Note: WIP
12. Client Financial Transaction
- Manage Loans — [User] Record and track client loan balances.
- Manage On-Account Cash — [User] Hold and view client cash not yet applied to a receivable.
- Record Collection Notes — [User] Capture client-level collection context.
- Raise Write-Off Request — [User] Initiate a write-off from the client financial view (approved in AR and Bad Debt).
- Maintain Client Ledger — [System] Hold the on-account entries created on worksheets at the client level.
13. AR and Bad Debt
- Build Write-Off Packet — [User] Assemble receivables to be written off into a packet.
- Submit Packet for Approval — [User] Send the packet into the tiered approval chain.
- Approve Through Escalation Tiers — [User] Route agent → department head → VP → CFO → Managing Director based on the write-off dollar amount.
- Reject / Resubmit Packet — [User] Return a packet for corrections and resubmit after fixes.
- Complete Write-Off — [System] Mark receivables written off and create a system-generated write-off cash receipt to clear them.
- Exclude From CECL — [System] Flag affected sales items to exclude them from expected-credit-loss calculation.
- Recover Write-Off — [User] Reverse a completed write-off when the buyer eventually pays.
- Create Write-Off Reversal Worksheet — [System] Produce the reversal worksheet for GL posting on recovery.
14. Invoicing and Collection Notes
- Load Uninvoiced Billing Items — [System] Surface billing item details not yet linked to a matching-type invoice document.
- Filter by Recipient and Invoice Type — [User] Choose client/buyer recipient and commission/total-due type.
- Select Items for Invoicing — [User] Pick billing item details individually or by group in the grouped hierarchy.
- Generate Invoices (Batched) — [User] Produce invoice records, grouped by entity, currency, recipient, and (for UK) client.
- Auto-Generate Invoice Number — [System] Assign a sequential number per UTA entity per calendar year.
- Link Billing Items to Invoice — [System] Write bridge rows marking billing items as invoiced to prevent double-invoicing.
- Generate Invoice PDF — [User] Produce a downloadable PDF with payment instructions and configurable display options.
- Update Invoice Status — [System] Move the invoice through DRAFT → ISSUED → PAID / VOID / CANCELLED and revision states.
- Correct Invoice — [User] Update display fields on an issued invoice without voiding it.
- Void / Cancel & Reissue Invoice — [User] Void via full-credit adjustment, optionally producing a replacement invoice.
- Issue Credit / Debit Memo — [User] Apply a partial credit or debit adjustment against an issued invoice.
- Initiate Invoice Externally (API) — [System] Accept an invoice request from an agent or departmental system.
15. Statements
- Generate Client Statement — [User] Produce a statement of activity for a client from posted payment items.
- Generate Settlement Statement — [User] Produce a per-settlement statement from settlement items (per-settlement and detail versions).
- Generate Deal Statement — [User] Produce a deal-level statement.
- Generate AR Aging Statement — [User] Produce an aging statement from open billing items.
- Initiate Statement Externally (API) — [System] Accept a statement request from an agent or departmental system.
- Assign Statement Reference — [System] Assign a unique reference to each generated statement.
16. Revenue Recognition
- Evaluate Revenue Items — [System] Assess the current state of revenue items for recognition.
- Recognize Revenue by Style — [System] Apply immediate, monthly, or cash-based recognition per the revenue item's style.
- Generate Revenue Financial Transactions — [System] Produce the accounting events to be posted for recognized revenue.
- Absorb Recognition Adjustments — [System] Handle adjustments without manual GL posting.
- Confirm Revenue (Verification) — [User] Confirm revenue item statuses, dates, and tentative-end-date flags before GL posting at monthly close.
17. Financial Transactions and Accounting Jobs
- Run Selected Accounting Jobs — [User] Trigger one or more batch jobs against a selected effective date.
- Set Current Fiscal Period — [System] Mark the period containing the effective date as current before jobs run.
- Run Revenue Recognition Job (REV) — [System] Convert revenue schedules into balanced debit/credit pairs.
- Run Billing Posting Job (BILL) — [System] Post billing item details.
- Run Cash Receipt Posting Job (CR) — [System] Post cash receipts.
- Run Cash Application Posting Job (APP) — [System] Post cash applications from applied worksheets.
- Run Payout Posting Job (PO) — [System] Post confirmed outbound payments.
- Run Commission Posting Job (COMM) — [System] Post commission (REV) activity.
- Run AR True-Up Job (TRUE) — [System] Post period-end AR true-ups.
- Clean Up Prior Transactions (Idempotency) — [System] Delete prior transactions for a source and date before re-inserting, so jobs can be safely re-run.
- Batch-Insert Transactions — [System] Write grouped, balanced entries into the transaction ledger.
- Record Job Execution History — [System] Log each job run with timing, outcome, and record counts.
- Review Transaction Ledger — [User] Inspect transactions across top-level, client-level, rev-level, and detail views, with drill-down.
- Post Batch to NetSuite — [System] Transmit reviewed batches to the GL. (Documented as in design / not yet implemented in the PoC.)
18. Reporting
- Run Canned Reports — [User] Produce standard reports over workflow status and financial data.
- View Dashboards — [User] Monitor workflow and financial state through dashboards.
- Build Custom Views — [User] Configure custom views of the data.
- Serve Reporting APIs — [System] Expose data to departmental systems and the analytics warehouse without direct database access.
- Deliver Interim Power BI Reporting — [System] Provide interim reporting while the long-term function is built.
Cross-Cutting Transactions (not a single functional area)
These recur across areas and are surfaced separately because UVT scenarios will encounter them everywhere:
- Reverse-and-Recreate (Immutability) — [System] Any correction reverses the prior record and creates a new one linked by a stable reference, rather than editing in place.
- Compute Balance in Real Time — [System] Balances and paid amounts are always computed from underlying transactions, never stored.
- Enforce Single-Writer Lock — [System] Prevent concurrent conflicting transactions on the same record (e.g., one active worksheet per split).
- Resolve Agent Attribution — [System] Associate agents to transactions through dedicated attribution rather than as fields on the transaction (manual-review concern in the architecture diagram).
- Manage Party Tax Profile — [User] Maintain withholding status and forms that drive tax calculation across billing, worksheet, and settlement.
- Assign Responsibility / Task — [User] Route work and responsibility across functional areas via the assignments model.