Skip to main content

Billing your sessions

How completed sessions become billable, and how to use Bill Sessions, auto-billing, external payments, credits and undo.

Written by Jana Hindiyeh

🖥️ For providers using the Oasys web app. This assumes billing is already set up (see Setting up billing).

This article explains how a completed session becomes billable and how to bill it from the Bill sessions tab. It also covers auto-billing, payments made outside Oasys, client credits, and how to undo a billing action.

In this article

1. How billing works after a session

Every completed session flows into billing on its own. Here's the flow:

  1. Complete a session (or mark it as a no-show or late cancellation with a fee).

  2. Find it in Billing → Bill sessions, under the Ready tab (if all info is present) or the Incomplete tab (if something is missing).

  3. Let auto-billing send it, if it's on: at 11 PM each day, Oasys submits the claim or sends the invoice for you.

  4. Send it yourself, if auto-billing is off: go to Bill sessions, pick the ready sessions, and send them out.

💡 Tip: You don't need to create claims or invoices by hand. When a session is completed, it automatically becomes billable and appears in the Bill sessions tab.

2. The Bill sessions tab

Bill sessions is where every unbilled session waits. Find it at Billing → Bill sessions.

  • At the top, a summary shows your Unbilled sessions total, split into Ready to bill and Incomplete.

  • If auto-billing is on, a Scheduled for tonight tile shows what will go out at 11 PM. Click it to see Tonight's Auto-Bill Details.

  • Search by client name and, if you bill insurance, filter by Cash Pay or Insurance.

What each row shows

  • The client, session, amount and type, with chips such as No Show, Cancelled Late, CPT: … or Pricing Rule Applied.

  • An aging chip (for example 12d unbilled) that turns amber at 14 days and red at 30.

  • For a session with additional services, the primary service name with every CPT code underneath (for example CPT: 96130, 96131). Its amount is the total for all of them.

Arriving from the calendar

  • If you click a session's billing button on the calendar (for example Bill Session or Send Invoice), the list is filtered to that client ("Showing sessions for …"). Click Clear to see everyone again.

  • If Stripe isn't connected yet, that button shows a Billing Setup Required warning and takes you to Billing setup instead. In a practice-billed account, you're asked to contact your practice administrator.

3. Bill sessions: the Ready tab

The Ready tab holds sessions with all required information, ready to be billed.

  • To bill one session, use the icon on its row. Send Invoice sends an invoice the client pays. Bill Session charges the client's saved card straight away, when automatic card charging is on for them. Send claim submits an insurance claim.

  • To bill several at once, tick sessions and click Bill Selected (N), or click Bill All (N) to bill everything that's ready. Review the Bill All Sessions summary (it splits Patient Invoices and Insurance Claims) and click Submit All (N).

  • Invoices sent with Bill Selected or Bill All are due 7 days from today. Each client gets one combined invoice for their sessions: see Creating invoices.

  • $0 sessions can't be billed ("Cannot bill $0 sessions").

Reviewing an insurance claim before you send it

When you click Send claim on a Ready insurance session, the Submit Claim wizard opens so you can check the claim first.

  1. Check Service details. There's one row for the Primary service and one for each additional service. You can change each row's CPT code, units (1-24) and up to four modifiers. The charge comes from the session's billing and isn't edited here.

  2. Check the Place of service. It's prefilled from the session, or Office (11) if none is set.

  3. Choose a prior authorization if the claim needs one. If you change the CPT code, Oasys tells you whether the authorization still applies.

  4. Check the Diagnosis codes. They're prefilled from the client's profile, and the first row is the primary diagnosis.

  5. Click Next to review. The review shows the claim the way the payer will see it: client and subscriber, insurance, the Rendering Provider, the Billing Provider or Service Location, a Supervising Provider when one applies, and each line's charge.

  6. Tick I confirm the claim details above are accurate and ready to submit, then click Submit Claim.

  • If the note isn't signed yet, you'll see Sign session notes first. Sign the note, then try again.

  • If you choose a telehealth place of service without a telehealth modifier, you'll see "Remote sessions usually need a modifier. Use 95 for video visits or 93 for phone sessions."

  • If you're a supervised provider, a supervision modifier is added and your supervisor is named (Supervised claim). Remove the modifier if the payer doesn't require it.

  • If a claim rule bills a different code, you'll see Billed as with the code that goes on the claim.

  • You can't add or remove lines in the wizard. To add an add-on code, attach the additional service to the session (see Additional services and units).

  • On Managed RCM, the Oasys billing team sends your claims, so you won't see Send claim.

The three-dot menu on a session

Depending on the session, the menu (More billing actions) offers:

  • Check Eligibility: insurance sessions.

  • Edit Amount & Type: change the price or billing type for a cash-pay session or fee.

  • Waive Payment: nothing will be billed, and the session moves to the Waived tab.

  • Mark as Paid (External): the client paid you outside Oasys (see External payments).

  • Apply Credits: pay the session from the client's prepaid credits (see Client credits and prepayments).

Waive, Mark as Paid and Edit aren't available for insurance claim sessions. Those settle through the claim.

⚠️ Important: If a billing edit won't save, Oasys shows the reason. Price and CPT changes save as usual. A change that would alter a completed session's length (for example, more units of a timed service) is stopped here: open the session in Calendar, choose Edit Session, and update the end time.

Additional services and units

A session can bill more than one line: the primary service plus up to 5 additional services. Additional services are per-unit add-ons such as interactive complexity (90785), an additional testing hour (96131), or after-hours office care (99050 or 99051). You create them alongside your other services (see Getting started with Oasys) and attach them when you book, edit or log a session.

  • Units: every line has whole-number units from 1 to 24 (default 1), including a free or non-billable primary service. Each line is charged price per unit × units, so 3 units at $50 adds $150 to the session total.

  • Price: an additional service uses its current price, or the client's pricing rule for that service. Typing a price pins that line's rate for this session. Use catalog rate removes the pin.

  • Allowed codes: only these CPT codes can be additional services: 90785, 90833, 90836, 90838, 90840, 96131, 96133, 96137, 96139, 99050 or 99051. Each additional service can be attached once per session, so change its units instead of adding it twice.

  • After-hours codes (99050, 99051) don't add therapy time. Add them by hand when they apply; the appointment time never adds the charge for you. Whether a payer reimburses them depends on the payer.

  • Individual sessions only: additional services and per-session billing edits aren't supported on group appointments. Use a client pricing rule to set per-attendee rates.

  • No-shows and late cancellations bill only the missed-session fee. Attached services aren't added.

To change them before billing, use Edit Amount & Type on the session:

  1. Set the Price per unit and Primary units for the primary service.

  2. Open Additional service lines to add a line (Add line), change units or price, or remove one.

  3. Check the Total, which updates as you go.

When you change the primary units while editing an unsigned individual session, Oasys recalculates its end time from the service's length. If you type an end time yourself, Oasys keeps yours.

💡 Tip: The session total includes every line. Setting only the primary service to $0 doesn't waive a session whose add-ons are still priced.

4. Bill sessions: the Incomplete tab

The Incomplete tab holds sessions that can't be billed yet. Each shows a status badge. Hover over it to see exactly what's missing (Missing data: / Review before sending:), and click it to jump to the page where you fix it. The badges you'll see most often:

  • Setup required: finish insurance setup in Billing setup, or switch the client to cash pay.

  • Missing insurance info: update the client's insurance. The tooltip names the field: payer, member ID, subscriber relationship or details, date of birth, sex, or address.

  • Missing patient diagnosis: add diagnosis codes in the client's chart. A code that isn't billable shows "Diagnosis … is not billable — use a more specific code".

  • Missing CPT code: set a billable CPT code on the service type, or edit the session.

  • Missing charge amount: set a price on the service type.

  • Unsigned note: sign the note first, then bill.

  • Claim validation error: for example, a missing provider taxonomy (add it in Billing → Billing setup → Provider information).

  • Has existing claim: an active claim already exists for this session.

  • Awaiting approval: blocked until your supervisor approves the note. There's no link; ask your supervisor.

✅ Good to know: Unsigned notes and missing codes only block insurance sessions. Cash-pay sessions go straight to Ready (unless they're waiting for supervisor approval).

5. Bill sessions: the Waived tab

The Waived tab holds sessions you waived, and sessions whose price you set to $0 by hand. From here you can restore them and bill them later: see Undoing a billing action.

  • Two things land a session here: Waived manually (you chose Waive Payment) and Manual override (you typed a $0 price). A session can be both, and each needs its own undo.

  • Restore price works for sessions, no-show fees and late-cancellation fees. It brings back the price from the client's pricing rule or your service default.

  • Sessions priced $0 by a pricing rule aren't on the tab ("Waived by a pricing rule — adjust the rule to restore billing"). Change the rule instead.

  • A session that was invoiced before it was waived isn't on the tab.

  • Group sessions show "Group recovery unavailable", because group billing is per attendee.

6. Session not showing up at all?

If a completed session doesn't appear in any tab, check for:

  • A $0 total: a $0 service type, or a client pricing rule set to $0, with no priced additional services. Sessions whose total across all lines is $0 are hidden from Bill sessions.

  • The client's billing type set to Not Billed. Sessions for a Not Billed client never appear here. This is a setting, not a delay.

  • Billing disabled on the client's relationship, or the appointment marked as not billable.

  • A cancelled appointment (only late cancellations with a fee are billable), or a session that isn't marked complete yet.

  • A session that's already been billed, paid externally, paid with credits, or waived. Check Manage invoices, External payments, or the Waived tab.

  • A session imported during a migration from another system. Imported sessions are historical records and aren't billed through Oasys. Trying to invoice one shows "Migrated sessions are historical records and cannot be invoiced."

7. External payments

When a client pays you outside Oasys (cash, a check, or another method such as a bank transfer), log it so the session isn't billed again. The path is Billing → Bill sessions → the session's three-dot menu → Mark as Paid (External).

Logging an external payment

  1. Open the session's three-dot menu on Bill sessions and choose Mark as Paid (External).

  2. Choose Cash, Check (check number required), or Other (with an optional reference or note).

  3. Click Mark as paid.

  • You don't enter an amount. It covers the session's full total, including any additional services.

  • Only sessions in Unbilled status can be marked this way. If you already sent an invoice, void it first.

  • Group sessions are marked per attendee.

Payments by check or from an EAP

  • For a check from your client, or from an EAP (Employee Assistance Program) that pays you directly, choose Check and enter the check number.

  • If you already sent an invoice and the client then paid by check, void the invoice in Manage invoices first. The session goes back to Bill sessions, where you can mark it paid.

  • If you bill the EAP through Oasys as an insurance claim, Mark as Paid (External) isn't offered for that session. Record the EAP's payment on the claim instead: Billing → Manage claims → the claim's three-dot menu → Mark claim paid manually. See Billing insurance claims.

  • To undo it, go to Billing → External payments and choose Revert to unpaid from the row's menu.

Reviewing or changing one later

Go to Billing → External payments. It lists sessions paid outside Oasys and sessions paid with credits, with totals for each method.

  • Edit details changes the method or the check/reference number.

  • Revert to unpaid makes the session billable again (Unapply credits for a credit payment).

  • The amount can't be edited. To correct an amount, revert to unpaid and mark it paid again.

  • There are no partial payments or installments. An external payment always covers the session's full total.

8. Auto-billing and automatic card charging

Auto-billing processes all ready items each night at 11 PM (your time zone). It handles all three billing types:

  • Cash-pay invoices: sends invoices for completed sessions, no-shows and late cancellations (including no-show and late-cancellation fees for insurance clients). If automatic card charging is on for the client and they have a default card, the card is charged.

  • Insurance claims: submits claims for ready insurance sessions.

  • Client responsibility invoices: after ERAs show a client balance (copay, deductible, coinsurance), creates invoices for the client's share.

If auto-billing is off, sessions still appear in Bill sessions as Ready. You just need to go there and send them out yourself.

Turning it on or off

  • Use the Auto billing button (it shows On or Off) on the Billing → Client billing header. It appears once Stripe can take payments.

  • When you turn it on, you can choose to include past eligible items in tonight's run.

  • You can also turn it on from the Enable auto-billing prompt on Bill sessions.

It's opt-out per client, not all-or-nothing

With account-level auto-billing on, every client is auto-billed unless you opt one out.

  • To opt a client out, open their billing panel → Settings → Billing settings and turn off Auto-Billing. Opted-out clients show an Auto-Bill Off chip in Client billing.

  • The per-client Auto-Billing switch only appears while account-level auto-billing is on.

  • Turning the account-level switch off pauses auto-billing for everyone, but keeps your per-client choices. Turn it back on and everyone returns to auto-billed except the clients you opted out.

What the nightly run picks up

  • Only fully ready items. Incomplete sessions stay in the Incomplete tab.

  • Sessions from the last 7 days that ended at least 30 minutes before 11 PM. When you first turn auto-billing on, it starts from that day unless you chose to include past items. Older unbilled sessions stay in Bill sessions for you to send yourself.

  • Clients who are opted out, and items waiting for supervisor approval, are skipped.

  • A client is also skipped if their unbilled items total more than $5,000. Bill those yourself.

Automatic card charging is a separate setting

Charge card automatically (client's billing panel → Settings → Billing settings) decides whether invoices are charged to the payer's default card, or sent for the client to pay. It's on by default for clients you add.

  • It only works when the payer has a default card. With no default card you'll see "No default card is set for this payer. Invoices will be sent for payment instead of charged automatically."

  • Bill sessions shows a callout like "2 clients have no card on file — those sessions will be sent as invoices instead of auto-charged", with a Fix now button.

  • Clients and guardians can see this setting in their portal but can't change it. They're told to contact you.

⚠️ Important: If you void an invoice, the session goes back to Unbilled in Bill sessions. If auto-billing is on and the session is within the last 7 days, it can be invoiced again at the next 11 PM run. To stop that, waive it, mark it paid externally, or turn off auto-billing for that client first.

More about auto-billing

  • Signing a note doesn't submit a claim. The session has to be completed. The claim then goes out at the next nightly run (or when you send it).

  • If auto-billing is on, Oasys creates the client's responsibility invoice after the ERA is posted.

  • Late-cancellation fees are charged straight away if the client has a card on file. Otherwise they're due by the invoice due date.

  • If a client's sessions only send an invoice instead of charging their card, check that Charge card automatically is on and that the payer has a default card.

9. Client credits and prepayments

You can hold a prepaid balance for a client as credits (1 credit = $1).

  1. Open the client's billing panel → Credits → Add Credits.

  2. Enter an Amount (USD) and an optional note.

  3. Under Payment, choose how the credits are funded. Nothing is preselected, and Add Credits stays unavailable until you choose. Add credits now adds the credits straight away without collecting payment (for example, a balance already paid to you). Invoice for payment sends the client an invoice, and the credits become available once it's paid. If automatic card charging is on for the client, the card is charged right away; check the payer and card under Pay with.

The Credits panel shows the Available balance, any Prepayment invoices not yet paid (each with its status; if the payment failed, it says the credits were not added), and a ledger of every Added, Applied, Returned and Refunded entry. Credits funded by a paid prepayment invoice show Paid beside Added.

Applying credits (and a lump sum)

  • Credits apply to unbilled sessions, from Bill sessions → the session's three-dot menu → Apply Credits. It shows how much is available.

  • The balance must cover the whole session total, including any additional services. If it doesn't, you'll see "Not enough credits … — manage credits".

  • This is also how you spread a single lump-sum prepayment across several sessions.

  • Once an invoice has been sent, credits can't be applied to that session unless you void the invoice first. The session then returns to Bill sessions and you can apply the credit.

  • To undo, go to Billing → External payments and choose Unapply credits. The credits go back to the client's balance.

Refunding or removing credits

Use Refund on the Credits panel. You can refund part or all of the balance.

  • Cash (record only), Check (record only), or Other (record only) logs the refund for your books without moving money. This is useful for reversing a credit added by mistake.

  • Card — refund to original payment (Stripe) issues an actual refund against a prepayment invoice.

  • Credits are never silently deleted. Every add and removal is kept in the ledger.

  • Unused credits don't expire, and they stay on the client's balance if the client leaves. You can refund them.

10. Undoing a billing action

Use this table to reverse the most common billing actions.

To undo…

Do this

A waived session

Bill sessions → Waived → Un-waive

A price you set to $0

Bill sessions → Waived → Restore price (or Edit amount if there's no price to restore)

A $0 late-cancellation fee

Bill sessions → Waived → Restore price (or Edit amount if there's no price to restore)

A sent invoice (not paid)

Manage invoices → Void Invoice. The session returns to Unbilled.

A paid invoice

Refund Invoice (a paid invoice can't be voided)

A payment marked external

External payments → Revert to unpaid

Credits applied to a session

External payments → Unapply credits

A manual insurance payment

Manage claims → claim menu → Undo manual payment

A client's responsibility marked externally paid

Manage claims → claim menu → Undo external payment

A collected client responsibility (pre-collection)

Bill sessions → session menu → Undo … Responsibility Collected

Auto-billing for one client

Client's Settings → Billing settings → turn off Auto-Billing

Automatic card charging

Client's Settings → Billing settings → turn off Charge card automatically


Frequently asked questions

  • Can I bill add-on codes or more than one unit?

    Yes. Attach additional services (such as 90785, 96131 or 99050) and set units on the session. See Additional services and units.

  • Why isn't my completed session showing in Bill sessions?

    Check for a $0 total (service type or pricing rule, with no priced add-ons), a client billing type of Not Billed, billing turned off for the client, or a session that's already been billed, paid or waived. See Session not showing up at all?

  • Does auto-billing only handle cash pay?

    No. Auto-billing handles cash-pay invoices, insurance claims, and client responsibility invoices.

  • How do I undo a waive, a void, or an external payment?

  • How do I record a payment by check or from an EAP?

    Go to Billing → Bill sessions, open the session's three-dot menu and choose Mark as Paid (External). Choose Check, enter the check number and click Mark as paid. If you already sent an invoice for the session, void it first. If you bill the EAP as an insurance claim, use Mark claim paid manually on the claim in Manage claims instead. To undo, choose Revert to unpaid in External payments. See Payments by check or from an EAP.

  • Can I change when auto-billing runs?

    No. Auto-billing runs at 11 PM each day in your time zone.

  • Why won't a units change save on a completed session?

    If the change would alter the session's length, Oasys asks you to make it in the session itself. Open the session in Calendar, choose Edit Session, and update the end time.


Related articles

Did this answer your question?