Skip to main content

Edit or correct a charge

Outcome

A charge with an honest in-app correction (you can prove the right value) is updated, re-validated, and ready to bill — with a clean audit trail showing what changed and why.

Prerequisites

ScopeWhat it lets you do
billing.charge.writeEdit fields on a charge
billing.charge.voidMark a charge VOIDED
audit.readReview past edits

When in-app edit is the right move

Editing in the app is not the default fix path. Prefer:

  1. Fix at source (EMR) and re-ingest.
  2. Tag mapping-suspect; admin fixes the mapping; re-ingest.

Edit in-app when:

  • Timely-filing pressure makes a re-ingest cycle too slow.
  • The source EMR has been retired, or the source record is locked.
  • The correction is provably right (you have a chart note, an order, a scheduling system).

The audit row carries your name forever, so document the why.

What you can edit

The platform refuses to edit member, payer, procedure, or DOS on a charge that's already on a BILLED claim — reverse the claim first.

Steps

  1. Open the charge from /charges or from a claim's Charges tab.

  2. Click Edit in the inline drawer. Fields become editable.

  3. Make the change. Each edit captures:

    FieldRequired
    ReasonYes — short reason (per chart note 2026-04-12, wrong code from EMR).
    ReferenceOptional — chart note ID, order ID, scheduler ID.
  4. Save. The charge re-validates automatically. If it now passes all rules, status flips to VALIDATED.

  5. (If the charge was on a claim): rebuild the claim. Reverse the original claim first if it was SUBMITTED. See 3.3 — Rebill & correct.

Voiding a charge

When the charge should never have been billable (cancelled visit, duplicate, EMR sent in error):

  1. Open the charge → Void. Reason required. The platform refuses to void a charge already on a PAID claim — reverse the payment via the denials/receivables flow first.

  2. Confirm the void. Status flips to VOIDED. The audit row carries your reason.

To re-instate a voided charge, the source EMR must re-send under a new natural key (or you can use Restore if your tenant has it enabled, which writes a new charge row inheriting the original's fields).

Bulk edit

The Charges list supports bulk edit on a tightly-restricted set of fields:

FieldBulk-editable
TagsYes
Hold / release-holdYes
Modifiers (add only, not remove)Yes
Reason fieldYes (one reason for the whole bulk)

Anything else has to be edited per-row to keep the audit trail honest.

Validation

CheckExpected
Field saves only after a reason is enteredYes; the form refuses to submit otherwise.
Re-validation runs on saveYes; you don't need a separate click.
Audit log captures old + new value + actor + reasonYes.
Voided charges are excluded from default list filtersYes.

Troubleshooting

SymptomCauseFix
Edit fields are read-onlyCharge is BILLED or you lack billing.charge.writeReverse the claim or ask admin for the scope.
Save fails with concurrent_modificationSomeone else edited the same fieldRe-open the drawer; the platform shows their change; redo if still needed.
Bulk edit silently skips rowsSome rows can't accept the change (locked / wrong status)The summary lists N applied / M skipped; click to see which.
Audit log doesn't show the changeLogged for audit.read-scoped users onlyAsk your supervisor / admin if you can't see audit.

Where to next