Practice Charges & Expected Reimbursements
Step 1 — Know the difference: bill vs expect
Open Settings → Practice Charges (/settings/charges) to set what you bill, or Settings → Expected Reimbursements (/settings/expected-reimbursements) to set what you expect to be paid. The two pages cross-link to each other and work identically — the only difference is what the per-unit amount means. Practice Charges set a line's Charge; Expected Reimbursements set a line's expected/allowed used for balance-due and underpayment detection.
Step 2 — Create a table and scope it
Click New table and give it a name (e.g. '2025 Med-Legal Charges — CA'). Set the Effective DOS and an optional Expiration DOS — only bills whose date of service falls inside the window use the table. Then scope it: select Injury states (none = all states) and Places of service (none = all POS). An empty selection is a wildcard, so leave both blank for a table that applies everywhere. The Active switch controls whether the resolver uses it; inactive tables are kept for history.
Step 3 — Add procedure-code rows
Each row takes a procedure Code, optional Modifiers, an optional NDC (for drug lines), and the per-unit amount (Charge / unit or Expected / unit). A row with NO modifiers is the fallback that matches any modifier combination; a modifier-specific row beats it. So you can set one base rate for a code and a special rate for that code with modifier 95, and Mindbill picks the more specific one. Among equally specific matches, the newest-effective table wins.
Step 4 — Bulk-load with CSV import
Have a price list already? Click Import CSV. Mindbill reads a procedure_code column and an amount column (header tolerant — it also accepts code/cpt and charge/expected), plus optional modifier and ndc_number columns. It appends the imported rows to the table you're editing, dollar signs and commas stripped automatically — so loading a hundred-code fee schedule is one file instead of a hundred rows by hand.
Step 5 — See it on the bill
Save the table and it's live. The next time you build a bill, each line is matched against your active tables by code, modifiers, date of service, injury state, and place of service. A matched Practice Charge sets the line's Charge; a matched Expected Reimbursement sets its expected/allowed, which is what underpayment detection and balance-due compute against. No match on either, and the line behaves exactly as before — the OMFS-calculated allowed.
Mindbill prices every bill line against the California fee schedule automatically — but two settings let you override that with your own numbers via scoped pricing tables. Practice Charges set what you BILL per code; Expected Reimbursements set what you EXPECT a payer to allow (which drives balance-due and underpayment detection). Both are named, date-windowed tables scoped by injury state and place of service, each owning procedure-code rows with a per-unit amount. When a bill line matches an active table, Mindbill uses your amount; when nothing matches, the line keeps its OMFS-calculated allowed — so the whole feature is opt-in.