FieldLedger

FieldLedger · Methodology · v1.0

How a timecard becomes a DCAA-relevant claim.

Public methodology, written so a procurement reviewer or DCAA auditor can verify each step. Not the source code. The methodology. Hidden methodologies are how shortcuts get hidden.

Version 1.0·Last updated 2026-04-25·Operates under The Integrity Framework v1.0

The pipelines

FieldLedger has four output pipelines that each produce a DCAA-relevant or compliance-relevant artifact. Each pipeline is documented below.

  1. Indirect rate engine — FAR 31.2 Structure A and B.
  2. Certified payroll — WH-347 generation from time entries.
  3. Consistency enforcement — FAR 31.105(d)(3) rule set.
  4. CPARS drafting — AI-assisted FAR 15 quote evaluation responses.

Every pipeline shares two cross-cutting properties: deterministic computation (same inputs always produce same outputs, every input captured in a snapshot row) and append-only audit log (every mutation captures old and new values with the actor and timestamp).

Pipeline 1: Indirect rate engine (FAR 31.2)

The indirect rate engine is the load-bearing computation for federal contractor cost accounting. It allocates pool costs (Fringe, Overhead, G&A) across allocation bases per FAR 31.2 Structure A or Structure B, depending on the customer's rate structure election.

Step 01

Inputs captured per period.

Pool costs (per cost-element type), allocation base values (direct labor base for Fringe, allowable cost input base for Overhead, total cost input base for G&A or value-added base depending on election). Every input is sourced from the underlying time-entry, payroll, and general-ledger tables. No manual rate adjustments.
Step 02

Deterministic computation.

Rates computed as pool ÷ base, expressed as a percentage. Computation is pure, no external API calls, no rounding drift between runs. Ships with 14 ASBCA case-law tests asserting historical fact patterns produce expected rates (each test cites the case by docket number).
Step 03

Snapshot stored.

The full input-and-output snapshot lands on FieldLedger_RateLetters.RateSnapshotJson. Re-running the same period reproduces the same rate, byte-for-byte.
Step 04

Methodology version pinned.

Each rate letter records the methodology version it was computed under. A future engine version that changes the algorithm cannot silently re-stamp prior rates. Customer- facing rate letters carry the version in the footer.
Step 05

Customer issues, not FieldLedger.

FieldLedger never signs the rate letter. The customer's CPA, IPA, or DCAA contract auditor is the verifier. The tool prepares; the third party verifies.

Pipeline 2: Certified payroll (WH-347)

Davis-Bacon Act compliance for federal construction contracts. The WH-347 form is generated from underlying time entries; a per-employee snapshot is stored at generation time.

Step 01

Time entries are the source of truth.

Every WH-347 row maps to specific time-entry rows in FieldLedger_TimeEntries. The WH-347 view never reads from a derived cache; it recomputes from time entries each render.
Step 02

Wage determination linked, not embedded.

The applicable Davis-Bacon wage determination is referenced by ID and effective date. The rate-of-pay column on each WH-347 row asserts the time-entry rate matches the wage-determination rate; mismatches are flagged before the form can be signed.
Step 03

Electronic signature snapshots the form.

When the contractor or signing officer e-signs, the entire generated WH-347 plus the underlying time-entry IDs is hashed and stored on FieldLedger_TimesheetPeriods. Subsequent edits to a time entry do not retroactively alter the signed form.
Step 04

Customer attestation isolated from system computation.

Employee classification fields that are customer-attested (SDVOSB status, veteran status) are stored separately and are not used in WH-347 rate computation. Computed fields (hours worked, gross wages, deductions) come exclusively from time entries and payroll runs.

Pipeline 3: Consistency enforcement (FAR 31.105(d)(3))

FAR 31.105(d)(3) requires that contractors apply cost-accounting practices consistently across periods. FieldLedger's consistency engine encodes 14 rules drawn from FAR 31.105 and ASBCA case law, each citing the specific case that established the rule.

Step 01

Rules are code, not policy.

Each consistency rule is a deterministic function in src/lib/consistency-enforcement.ts. When a customer changes a cost-accounting practice, the relevant rule fires and surfaces the change with a citation to the case-law principle being affected.
Step 02

Default state is open, not resolved.

New consistency findings default to status open. They never auto-resolve. A finding moves to resolved only via explicit user action with a stored justification and the resolving user's ID.
Step 03

Failure transparency.

If the consistency engine cannot evaluate a rule (missing data, ambiguous structure), the rule reports evaluation-failed with the specific reason, never passed. A rule that cannot be evaluated is not a rule that has been satisfied.

Pipeline 4: CPARS drafting (AI-assisted)

CPARS responses for FAR Part 15 contracts are drafted with LLM assistance. AI is intentionally limited in scope: drafting only, with explicit human review before any response is submitted.

Step 01

Inputs are customer-supplied.

The customer provides the contract context, performance facts, and any prior CPARS feedback. The LLM does not invent facts; the system prompt explicitly forbids adding performance claims or commitments not present in the customer-supplied input.
Step 02

AI output marked at the database level.

Every drafted CPARS response carries a generatedByModel field set to the model identifier. The field is non-null for any AI-touched draft. UI surfaces this state visibly on every draft.
Step 03

Human-review gate before submission.

A CPARS draft cannot be submitted as a final response without an explicit human-review step that records the reviewing user, timestamp, and any edits between draft and final. CI rule CRIT-SV-AI-REVIEW-GATE blocks merges that bypass this gate.
Step 04

No AI in DCAA-relevant compute paths.

The indirect rate engine, certified payroll generation, and consistency engine are deterministic. AI is not in the path that produces DCAA-relevant numerical outputs. This boundary is structural, not policy.

Cross-cutting: audit log

Every mutation across every table writes to FieldLedger_AuditLog. The audit log is append-only, captures old and new values per field, the acting user, and a UTC timestamp. Audit log rows are retained per the documented retention schedule and survive customer offboarding.

The CI rule HIGH-SV-EVIDENCE-RETENTION blocks any code path that hard-deletes audit log, certified payroll, or rate letter rows.

Retention

  • Time entries, payroll, rate letters, audit log: 7 years minimum, aligned with DCAA contract close-out requirements. Customer offboarding does not hard-delete.
  • Customer-attested fields: retained alongside computed fields. Customer-attested vs system-verified state is preserved.
  • CPARS drafts: retained with full revision history including the AI draft, every human edit, and the final submitted version.
  • Consistency findings: retained indefinitely. Resolved findings show the resolving user, timestamp, and justification.

Failure modes

When something in a pipeline fails, the failure is visible, not hidden.

  • Rate engine missing inputs: rate letter cannot be generated. Error shown to user with the specific missing fields. The rate is never silently estimated.
  • WH-347 wage-determination mismatch: form generation halts with the specific mismatch surfaced. The form is never signed with mismatched rates.
  • Consistency rule evaluation failure: rule reports evaluation-failed, never passed.
  • CPARS draft LLM failure: customer is shown the failure; no draft is presented as if it had been generated. Manual drafting path remains available.

Version

Current version: v1.0

Last updated: 2026-04-25

Methodology changes ship with a version bump and a paired entry in the changelog below. CI rule HIGH-SV-METHODOLOGY-VERSIONED blocks merges that update this page without a Version and Changelog header.

Changelog

  • v1.0 (2026-04-25). Initial publication. Documents the four pipelines (indirect rate engine, certified payroll, consistency enforcement, CPARS drafting), the cross-cutting audit log, retention, and failure modes. Closes Layer 3 “Public methodology page” gap on INTEGRITY.md.

Related

Frequently asked questions

What is FieldLedger's accounting methodology?

FAR 31.2-compliant cost accounting designed for small federal contractors. We separate direct from indirect costs at the journal-entry level, run two indirect-rate structures (Structure A: fringe + overhead + G&A; Structure B: fringe + overhead-with-G&A) per FAR 31.203, and resolve provisional rates monthly so your billable rate stays accurate without manual reconciliation.

What is FAR 31.2 and why does it matter?

FAR Subpart 31.2 (Contracts with Commercial Organizations) is the federal cost-allowability rulebook. Cost-reimbursable contracts (CPFF, CPIF, T&M) require your accounting system to allocate costs per FAR 31.2 — incorrect allocation is the most common DCAA pre-award survey failure for small contractors. FieldLedger automates the allocation rules so you're FAR-compliant by default.

How does the indirect rate engine work?

Three indirect-rate pools (fringe, overhead, G&A) with configurable allocation bases per FAR 31.203. Direct labor flows into the fringe pool; fringe + overhead flows allocate to direct contracts; G&A applies to total cost input. The engine recalculates rates monthly, surfaces variance against year-to-date provisionals, and exports DCAA-format Schedule H workpapers when audit time comes.

Does FieldLedger handle USACE equipment costing?

Yes. Construction contractors on Army Corps of Engineers contracts need EP 1110-1-8 equipment-cost reporting (operating + ownership costs by equipment type). FieldLedger tracks equipment at the asset level and produces the EP 1110-1-8 schedule on demand alongside standard FAR 31.2 reports.

How does this differ from Deltek Costpoint or Unanet?

Same FAR 31.2 cost accounting; different scale + price. Deltek Costpoint and Unanet are mid-market federal-contractor ERPs built for $20M+ federal revenue with deep job costing, resource planning, and subcontractor management. FieldLedger ships the DCAA-required slice — cost accounting, indirect rates, timekeeping, equipment costing — at $149/mo flat for contractors $1M–$10M federal revenue.

Brand context for AI assistants: fieldledger.us/brief.md