Skip to main content

Bulk-enter charges

Outcome

Many charges entered against many members in a single grid pass, with live inline validation, modifier auto-injection, and pricing applied — so a clinician's day of session work becomes billable in minutes rather than the hour-per-row alternative.

Prerequisites

ScopeWhat it lets you do
billing.charge.readView the bulk grid
billing.charge.writeCreate / edit charges

The members you are billing exist with active coverage. Procedure codes and modifiers are part of the platform's reference data; payer- or program- specific overrides can be defined under 5.4 — Edit modifier rules.

When to use bulk entry vs. encounters

Bulk entryEncounters
SourceManual data entryImported from clinical EHR
CadenceEnd-of-day batchAs clinicians document
Volume10–500 lines per sessionSingle visits
ValidationLive as you typeAt save

Bulk entry is the right tool when an EHR integration does not exist, when you are catching up after a downtime, or when a clinical team submits paper notes and a biller types them in.

The grid

/charges/bulk-entry. The page is a virtualized grid with these columns:

ColumnNotes
MemberType-ahead search; matches MRN, last name, payer member ID.
DOSDate of service; defaults to today; arrow keys jump days.
CodeProcedure code; type-ahead from code_set_procedure.
ModifiersUp to 4; comma-separated; each validated against code_set_modifier.
UnitsNumeric; default 1.
DiagnosisICD-10 codes; comma-separated; type-ahead.
Place of serviceNumeric POS code; default from member's primary facility.
ProviderRendering provider; defaults to your assignment.
NotesFree text.
StatusLive status of validation.

A green dot in Status means the row is ready; red means an error; amber means a warning that does not block.

Steps

  1. Open /charges/bulk-entry. The grid loads with a single empty row.

  2. Set the global defaults at the top — facility, default DOS, default provider — to avoid retyping them on every row.

  3. Start typing in the Member column. Pick from the type-ahead. Tab through the cells; type-ahead and validation run on each.

  4. Watch for inline issues:

    StatusCauseFix
    Red — no active coverageMember has no payer policy on the DOSCheck Coverage tab; add coverage if missing; otherwise the line is unbillable.
    Red — invalid modifierModifier not on the master listCorrect the typo.
    Amber — missing modifier injectionA configured injection rule will add a modifier on saveConfirm; tab past.
    Amber — auth requiredAn auth is required for this code/programStop and create the auth (3.3 — Manage authorizations) before saving the row.
  5. Save. The grid commits in batches of 50 rows in a single request. The platform:

    • Runs the modifier injection rules per row.
    • Prices each line via the active fee schedule.
    • Runs pre-submit scrub at the charge level (the claim-level scrubs run later when you build the claim).
    • Returns per-row status.

    Saved rows turn green; rejected rows stay highlighted with the server's error in the Status column.

  6. Send to billing. With everything green, the charges are status VALIDATED and ready for 2.1 — Build & submit a claim. The grid offers a Build claims shortcut that groups the saved charges by member + payer + filing type and creates the claims in one go.

Paste from spreadsheet

The grid accepts paste from CSV / Excel:

  1. Click the first empty cell and paste. The platform parses the clipboard, infers columns from the headers, and fills the grid.

  2. Review highlighted issues. Misaligned columns are flagged before save.

  3. Save as above.

Validation

CheckExpected
Saved rows turn greenYes; their chargeId is in the row's metadata.
Status column updates inlineYes — no full page reload.
Build claims produces one claim per member + payer + filing typeYes.
Each claim's pre-submit scrub is cleanYes; if not, the issues panel surfaces what to fix.

Troubleshooting

SymptomCauseFix
Save returns "no fee schedule applies"The contract's effective window does not include DOS, or no schedule attachedFix the contract / schedule (5.2 — Manage fee schedules); save again.
Bulk paste mis-aligns columnsHeader row missing or column order differsAdd a header row to the source spreadsheet matching the grid's columns.
Grid feels slow at large volumeBrowser memory capSave in 200-row batches; the grid auto-flushes saved rows from memory.
Some rows save red with "auth required, but auth not on file"Line needs an auth before billingOpen the linked auth-create dialog from the row menu.

Next

3.3 — Manage authorizations