Accounts & price lists
Accounts are who you bill A doctor writes the Rx; the practice pays the invoice. Office → Accounts is that list — name, code, billing address, terms (net days), credit limit, price list, and the QuickBooks customer. Your existing dentists were grouped into accounts automatically by practice name (a solo doctor became their own account), so nothing had to be re-typed. Finding a doctor. Office → Dentists has a search box and filters beside it — practice, active/inactive, whether they have an email (and so can be invited to the portal), and whether texting is on. They compose with the search and with each other. Putting a doctor in a practice. Office → Dentists → Edit has a Practice picker (and an Office picker when the practice has more than one). When you add a doctor you can choose an existing practice there too — leave it blank and Casetop creates a practice from the doctor's own name, which is what a solo dentist wants. Edit also fixes the doctor's name, so a typo is not permanent. One invoice, or several A four-doctor practice is one customer — but whether it wants one bill or four is the practice’s decision, not ours. Office → Accounts → the practice → Invoicing: One invoice per doctor (the default) — each doctor gets their own monthly bill. One invoice per office — a group with several locations gets one bill per location. One invoice for the whole practice — everything the practice ordered on a single bill, each line labelled with the doctor who ordered it. This setting is also the privacy boundary in the dentist portal. Doctors who share a bill can see it in full, colleagues’ lines included — that is what sharing a bill means, and it is why it is a choice. A practice that does not want that stays on per-doctor billing, where each doctor sees only their own. On per-office billing a doctor sees their own office’s bill and not the other offices’. Changing the setting re-shapes this month’s unsent drafts so the practice never receives both the old bills and the new one. Invoices you have already issued are never touched — they have left the building. QuickBooks follows along: the customer is the practice either way, and on a shared invoice each line is prefixed with the doctor’s name so the practice’s books show whose work it was. Offices A group practice is ONE account with several offices. Each office has its own address — set it with Edit on the office row, because an office invoice is addressed to it — and can carry its own price list, so a contract that differs by site stays one account. Attach each doctor to the office they work out of; a case inherits its payer from the doctor and can be repointed on the case page when a doctor sends work from the other site. The catalog Office → Price lists → Catalog is what you sell: a code, a name, a category (crown & bridge, removable, implant, ortho, digital, service, component), and whether it is billed per unit, per arch, per case or per appliance. Pricing keys on the product, so “crown” and “Crown” stop being two different things. The Restoration text and Material fields are how the AI’s reading of an Rx maps onto a catalog row. Each product also has an Orderable / Internal switch: mark one Orderable and your practices see it on their order form and nothing else — which is how you give a clinic a short menu instead of a generic list of restoration types. Leave rush fees, shipping and components Internal; they belong on an invoice, not on a clinic’s order. A product billed per arch asks the practice for upper, lower or both, and “both” arrives as two units so each arch is designed, milled and priced on its own. Prices stay off the order form unless you turn them on in Lab → Settings; either way a practice can always read its full schedule under Price list in the portal. Every catalog row has Edit and Retire. Editing corrects the code, the name, the category, how it is billed and the restoration text the AI maps onto — the code is what prices and CSV imports match on, so a typo there needs fixing, not a second product. Retiring stops a product being offered; prices and shipped cases keep it. Dating a list. A price list applies from its start date until its end date, so you can load next year's rates today and let them take over on 1 January without touching anything. A case prices at the moment it SHIPS, so a rate change never re-prices work already out the door. Leave the end date blank for rates with no expiry. Which rates a doctor gets A price list can be attached at three levels, and the most specific one wins: the doctor (Office → Dentists → Edit → Price list), else their office (Office → Accounts → the office row), else the practice (Office → Accounts → Edit → Price list), else your lab’s default list. Leave a doctor’s blank and they follow their practice — right for nearly everyone. Set it only when one doctor has negotiated their own rates. If a doctor ends up with no practice at all, the banner at the top of every page counts them — their work has no payer, no terms and no rate card until you pick one at Office → Dentists → Edit → Practice. Price lists Every lab has a Standard list — the rates an account gets when nothing more specific applies. Create as many more as you have contracts. A list can be derived: pick a base and an adjustment, and “Smile Partners = Standard − 12%” is one row plus its exceptions rather than a maintained copy. Type a price on a derived list to override just that product; clear it to go back to following the base. One list is the default, marked Default in the list. It is the fallback when nothing more specific is attached, so a lab with no default bills every shipped case at $0. Your first list becomes the default automatically; use Make default on any row to move it. If no list is default, the banner at the top of every page says so. Which price a case gets Most specific wins: the doctor’s own list, then their office’s, then their account’s, then the lab default. A case prices at ship time, so raising your rates never re-prices work already shipped. Net terms come from the practice. Office → Accounts → Edit → Terms (net days) is what sets an invoice’s due date when you issue it — so a Net-45 practice gets 45 days and your A/R aging tells the truth. A practice with no terms set uses 30. A line billed at $0. A case that shipped with no price on file produces an unpriced line. Fix it in two places: set the rate (Office → Price lists, or a rule on Pricing rules) so it never recurs, then open the case and edit the amount in its Charges panel. Charges are editable while the invoice is a draft and locked once it is issued. There is no invoice-line editor — a line is the charge, and the charge is on the case. Import and export Export CSV gives you the fee schedule as a spreadsheet — what you email a practice. Import CSV takes the same columns back, matching on the code column. A code we don’t recognise is reported, never silently created: a typo must not invent a product. Saved views and CSV Filter the Cases board or the Invoices list however you like, then + Save this view and name it. It comes back as a chip you click — “Overdue crowns”, “Chasing”, “Bench today”. Choosing Share with the whole lab makes it the office's; leaving it unshared keeps it yours and invisible to everyone else. Mark one with ★ and you land on it. ⟳ updates a saved view to whatever filters are showing now, and ✎ renames it or switches it between private and shared. Every list exports the rows currently on screen, filters and all: Cases, Invoices, Dentists, Accounts and Materials all have Export CSV. That is deliberately not a report builder — LabStar's shutdown took custom reports away, and what labs actually did with them was pull the same slice again and hand the rows to a spreadsheet. Doctor preferences Office → Dentists → Edit records what a doctor always wants: margin design and placement, occlusal clearance, proximal and occlusal contacts, pontic design, staining, glaze, surface texture, implant screw channel and Ti base, whether to return models, whether they accept rush work — plus a free-text line for everything a dropdown cannot hold. Fourteen years of that knowledge usually lives in one technician's head, which means it leaves when they do and the next hire learns it by remaking a case. The preferences show on every one of that doctor's cases as “Dr. X always wants”, so the bench sees them without opening another screen, and the doctor sees the same list read-only at the top of My cases in their portal. They are reference material, not an override: if the Rx for a case says something different, the Rx wins — a standing preference silently overwriting a written instruction would be the worst possible failure. Turn on Preferences changed for a doctor and Casetop confirms back to them what you now have on file whenever it actually changes. Pan labels Production → Workflow → Pan label sets what your labels look like: the stock size (4×2 Avery, 2¼×1¼ Dymo 30334, 3½×1⅛ Dymo address, 2⅝×1 Avery, or a 4×6 pan card), whether the QR prints, and which fields appear in what order — case number, restoration spec, doctor, practice, patient reference, tooth numbers, unit count, due date, technician, pipeline, notes, lab name, plus REMAKE and HOLD flags that print in bold so a redo is never mistaken for new work. Preview prints a sample label so you can check it against real stock before running a batch. On the smaller stocks the QR shrinks and the type scales down so a 2¼-inch label stays readable. A lab that never opens this setting keeps exactly the layout it had. Who hears about what Two audiences, deliberately separate. The practice hears about money — statements, invoices issued, credit holds — at a Billing contact you set on the account (it falls back to the practice email if you only have one inbox). The doctor hears about clinical events — stage changes, messages, remakes, and a case stopping for a hold — on their own record under Office → Dentists. Sending a statement to a doctor's clinical inbox is how a lab gets ignored; texting an office manager about a wax-up is how a lab gets muted. Everything starts switched off. Nothing is sent on your behalf until you turn it on, per practice and per doctor. The one exception is the three order-review replies — accepted, declined and needs-your-input — which are on by default, because they answer a submission the doctor made minutes earlier. Stage notifications keep the behaviour they always had (email on every advance, texts only for the stages a doctor opted into). Each event says whether it can also text; texts only go out to someone who agreed to receive them. Every send — and every deliberate skip — lands in the notification log, with a "mock" outcome rather than a green tick when credentials are missing, so a gap is visible instead of silent. Credit limits and holds Set a Credit limit on an account, or flip Hold this account by hand when you just need a conversation. When a practice is over its limit — or past due by more days than your lab allows — a new case is still accepted, but it lands on hold: it shows a HOLD badge on the board, a banner on the case, and it will not advance a stage until someone releases it. Refusing the case outright would be the wrong default; an urgent case for an overdue practice is a phone call, not an error message. You can also stop a case that is already in flight: open it and click Put on hold, with a reason the doctor is told. Release hold lifts either kind. Both are billing decisions, so they need the invoices permission — a technician does not see the buttons. Releasing a case needs invoice permissions, not case permissions — a technician clearing the hold to get on with the work is exactly what the hold exists to prevent. Releasing one case does not re-open the practice's credit: the next case is held again until the balance, the limit or the manual hold changes. You can also hold a case already in production from its page, for a practice that goes past due mid-job. The lab-health banner counts everything currently frozen. The days-past-due trigger is off by default — a lab decides its own tolerance. The account panel shows where each practice stands: outstanding, limit, and days past due. Monthly statements Open an account and hit Statement for a printable statement of account: balance brought forward, every invoice and payment in the month as a running ledger, the balance due, and what is still outstanding by age (current / 1–30 / 31–60 / 61–90 / 90+). Pick any of the last twelve months. Print / save PDF produces the document you post or email — the app chrome drops away and the file is named for the practice and the month. Because the statement is per ACCOUNT, a five-doctor group sees all five doctors' invoices on one page with one total. Void invoices never appear — they were never owed — and drafts do not either, since nothing has been billed yet. What the doctor sees Dentists get a read-only Price list tab in the portal showing their own rates — the most common phone call a lab gets, answered without a phone call. Products with no price on their schedule are left out rather than shown as $0.00. Pricing rules (Office → Pricing rules) still work and still bill correctly. Every rule you edit there is written through to the catalog. If that write-through ever fails the page says so plainly — the new rate has not reached the price list, so set it there. Turning advanced billing on Everything below is hidden until Lab → Settings → Advanced billing is on, and turning it on changes nothing about what you bill today — every product keeps billing on ship until you say otherwise. It adds Office → Billing policies, a Bills column on your catalog, and monthly fees on each practice. When a product bills (advanced) By default every product bills when the case reaches Shipped, which is what you want unless you sell something paid up front. A product can instead bill when the order is accepted, when the practice approves a prototype, at any stage you name, only by hand, or never — which is how you model a product that exists to signal something (a design revision, a finals approval) without putting a $0 line on anyone’s invoice. “Not billable” and “costs nothing” are different things and Casetop treats them differently. A product can also be split into instalments — say 50% when the order comes in and 50% on shipping. The shares must add to 100%, each instalment is named (“deposit”, “balance”) and that name is what guarantees it is billed once, so a case is billed twice on purpose and never twice by accident. Rounding goes to the last instalment, so the parts always add up to the whole exactly. Changing when a product bills is safe while cases are in flight: a case already billed is never billed again, whichever setting it was billed under. One practice can bill differently from another on the same product. Open Office → Price lists → Prices, pick their list, and the Bills column beside the price is theirs to set — the same place their rates live. A blank cell shows what it inherits from the catalog with a ↳, which is almost every row; Follow the catalog in the editor is the way back. A payer can have a billing point without a price of their own, and the price still resolves from the list it derives from. Billing policies A policy is the commercial terms of a relationship, named once and assigned to everyone on that deal: payment terms, credit limit, whether the practice gets one bill or one per doctor, and any monthly retainer or minimum. Assign it to a practice, an office or a single doctor — the same most-specific-wins order as price lists. Anything set directly on the practice still wins over the policy, so nothing changed when policies arrived and clearing a field is how a practice opts in to the deal. A policy is shared, so before you save a change to invoice grouping Casetop tells you what it will move — how many practices, how many open drafts, how many lines — and issued invoices are never rewritten. Putting a payer on a policy. Office → Accounts: pick the policy when you create a practice, or open it and set Billing policy. An office that is on different terms from the rest of the practice gets its own picker on its row; one doctor who is, gets one on Office → Dentists → Edit. Blank at any level means “follow the level above”, ending at the policy you marked default — which is why a practice you never touch still gets your standard terms. The pickers appear only once you have made a policy, so a lab that never does meets the concept nowhere. Where each control is. When a product bills: Office → Price lists → Catalog → the Bills column. A per-practice exception: their price list. Policies: Office → Billing policies. Putting a payer on one: Office → Accounts (or Dentists, for a single doctor). Monthly fees: Office → Accounts → open a practice → Monthly fees. Advancing a case when a practice approves: Lab → Settings. Monthly retainers and minimums A retainer is charged every month whatever the volume. A minimum is charged only as the shortfall, so a practice contracted to $2,000/month that sent $1,400 of work is billed $600. They are different things: a minimum cannot be worked out until the month’s cases are final, so it posts at month end, and cancelled invoices never count as volume. A retainer-only month still gets an invoice — normally the first case opens one, and a fee has no case behind it. A minimum is therefore settled after the month it covers: September’s top-up appears in the first hours of October, dated to September so it lands with that month’s work. If Casetop was down for a month it catches up rather than losing the period. A fee takes a From and an Until date, so “November 2026 to October 2027” is what you enter rather than something you have to remember to cancel. Leave them blank for a fee that runs until you cancel it. Tick Charge part-months pro rata and a fee that starts or ends mid-month is charged for the days it covers — a $3,000 retainer starting on the 16th of a 31-day month bills $1,548.38. Leave it off and a part-month is charged in full, which is what most contracts say. Each fee shows this month on its own row — posted and for how much, nothing due, or not posted yet — so a fee that quietly stopped is visible without opening its history. A minimum reads “posts at month end” all month, which is correct rather than a problem. History lists every month, including the ones where nothing was owed, so you can see what was decided and not only what was charged. A practice can hold one active retainer and one active minimum — a second of either is refused, because two retainers on one practice is a typing mistake rather than a configuration. The two things Casetop will not let you break If a product bills at a stage you name, that stage cannot be deleted out from under it: the pipeline editor refuses the removal and names the product, because a schedule pointing at a stage no pipeline has would simply never fire — a charge that silently does not happen. Dropping the stage from one pipeline while another still has it is fine. If a schedule already points nowhere (a stage renamed long ago, say), the health banner names the product so you can repoint it. And a unit added to a case that is already past the stage its product bills at is billed straight away rather than never. Never-billed is the worse of the two errors — it is silent, and it is money. Editing a unit never bills it twice: a unit keeps its identity through an edit, which is what makes that safe.
This page uses JavaScript to render its full interactive content. Enable JavaScript, or continue reading at
https://casetop.io/docs/accounts-and-price-lists.