All plugins
Core plugin · arfiti-core-cost-allocation

Cost Allocation

v3.0.0MIT2 commands

A flexible cost allocation engine supporting two modes: standalone allocations from GL account balances and document-linked allocations traced back to specific bills or invoices. Four allocation methods are available — fixed percentage, by headcount, by revenue, and custom formula. Every allocation enforces balanced debits and credits, prevents double-allocation of the same costs, and creates a full audit trail. Allocations can be voided with automatic reversing entries.

Two commands.
Three procedures.

Both run inside Claude against the governed ledger.

  1. 01

    /allocate-costs — Create and execute a cost allocation from start to finish. Supports standalone (from GL balances) and document-linked (from a specific bill/invoice). Guides through: entity/period selection, mode choice, source identification, allocation method, preview, and submission.

  2. 02

    /allocation-preview — Calculate and preview an allocation without submitting. Shows preview table with source and target lines, total debits/credits, and source line account verification. Supports both standalone and document-linked modes.

Highlights

Fixed %, headcount, revenue, or custom formula methods. Double-allocation prevention. Balanced submission validation (DR = CR). Full audit trail with source document linking.

How a run behaves.
Three procedures, step by step.

Standalone Allocation
  1. 01
    Identify source costs — fetch balance of source account(s) for the allocation period
  2. 02
    Determine allocation method: fixed percentage, by headcount, by revenue, or custom formula
  3. 03
    Calculate target splits and show preview table with source and target lines
  4. 04
    User reviews and confirms the allocation preview
  5. 05
    Create allocation run and submit balanced debit/credit lines
  6. 06
    Optionally approve and post the GL journal entry immediately
Document-Linked Allocation
  1. 01
    Identify source transaction — find the source bill/invoice/JE and show GL lines
  2. 02
    Check existing allocations — verify account is not already fully allocated
  3. 03
    Select which line(s) to allocate: all expense lines or specific accounts
  4. 04
    Determine allocation method and calculate target splits
  5. 05
    User confirms preview including source document reference
  6. 06
    Create allocation run with source_transaction_id for full traceability
Voiding and Correcting
  1. 01
    Void an existing allocation run
  2. 02
    System creates reversing GL entry automatically
  3. 03
    Source account freed up for re-allocation
Validation gate · 8 checks

Source data exists (account has balance or transaction has allocatable lines). Target accounts exist and are active. Total debits equal total credits (balanced). At least one source line and one target line. For document-linked: source line accounts match source transaction GL lines. For document-linked: account not already fully allocated. User has reviewed and confirmed the preview. Submission succeeds without errors.

Reference data · 2 files
allocation-methods.mdsubmission-format.md

Your procedures,
written down.

Swap the reference files for your policies and run it in Claude. Writes still go through the governed gateway.