Billing and case ledger in Ventoo Case Management

The billing engine generates sales and purchase invoices from approved activities. Posting creates case ledger entries as a financial audit trail per case. Which billing type applies is determined by the resolved billing profile (see Billing profiles).

Run billing

There are three entry points (capability Run Billing or Finance permission required):

Entry point

Effect

Run Billing (case card / Case Billing)

Bills a single case.

Run Billing Batch (setup / report)

Bills all eligible cases in a batch (also schedulable via the job queue).

Run Billing for Customer

Bills all cases of a customer.

Engine flow:

  1. Collect billable activities – approved, not-yet-invoiced activities (waived excluded).

  2. Check billing condition – by billing type and interval (immediate, interval, minimum amount, milestone reached, etc.).

  3. Percentage check – if Enforce Billing Pct. 100% is on, it blocks above 100% (below 100% is allowed, the remainder stays uninvoiced).

  4. Group lines – per invoice consolidation: Per Case, Per Engagement, or Per Customer.

  5. Create sales invoice – draft with header (customer, posting date, dimensions) and lines per activity/item.

  6. Create purchase invoice – for external work (Invoice Type Purchase / Sales & Purchase) to the vendor party.

  7. Set activity status to Invoiced and store the document number.

The generated invoices are drafts – the actual posting runs through BC standard. A posting preview is available.

Billing monitors and readiness

Two list pages show the billing status:

  • Activity Billing Monitor – per activity with the calculated Billing Readiness field (e.g. "Not Approved", "Billing Waived", "No Billed Duration", "Already Billed").

  • Case Billing Monitor – per case with the Case Billing Readiness (e.g. "No Primary Customer", "No Billing Profile", "Not Due Yet", "Fully Billed", "Below Minimum Amount").

The full values are in Enumerations in Ventoo Case Management.

Case ledger entries

When an invoice generated by the engine is posted, case ledger entries (and detailed case ledger entries) are created automatically per line. They form the financial audit trail per case.

Field (excerpt)

Meaning

Case No. / Engagement No. / Scope No.

Context snapshot at posting time.

Posting Date, Document Type, Document No.

Posting date, document type (invoice/credit memo/cost accrual), document.

Account No. / Item No. / Quantity

Account (customer/vendor/resource), item, quantity.

Amount / Amount (LCY)

Amount (sale +, purchase −, cost −).

Source Type

Source: Sale, Purchase, or Cost.

Adjustment Type / Reversed Entry No.

Adjustment (None/Reversal/Reassignment) and reference.

View via the Case Ledger Entries action on the case/engagement card. Case ledger entries are a pure analysis/management ledger and read-only.

Credit memos and cancellations

When a posted invoice is cancelled or a credit memo is created, negative case ledger entries are created, the related billing lines are cleaned up, and the affected activities are reset to Approved – so they can be billed again. Case ledger entries also appear in the Navigate drill-down of posted documents.

Internal cost and margin

If Post Internal Cost Entries is on, the app posts a cost-side case ledger entry (Source Type "Cost") for resource work once the activity is invoiced: cost = actual duration × resource unit cost, one entry per activity. This makes the margin per case traceable (margin = sum of all amounts: sale + / purchase − / cost −).

Two paths:

  • Automatic – posted when the activity transitions to "Invoiced"; reversed when reset to "Approved".

  • Manual – via the Book Cost / Reverse Cost actions (activity card) and Book Internal Costs (case batch) for non-invoiced work (waived, fixed price, milestone).

Employee cost optionally runs through the resource linked on the employee (Employee Cost via Resource). A net-quantity rule prevents double counting between the two paths. Margin and internal cost appear on the billing and statistics factboxes of case, engagement, and scope.

Context reassignment of case ledger entries

When a case's engagement or scope changes, already posted case ledger entries are "frozen". Via Reassign Ledger Entries (or the confirmation on context change, capability Manage Context), stale entries are cleanly reassigned: per entry a reversal (negated, old context) and a reassignment (original sign, new context), including detailed case ledger entries. The original entry stays unchanged, the old context nets to zero, and the new one receives the amount – with a full audit trail.