Bookkeeping & Inventory (Kimberly + Purchasing) β Guide
Who this is for / What you'll learn: Kimberly (the books) and whoever handles purchasing & receiving (Roxanne and the front-stock crew). By the end you'll know your way around the Inventory module β the product catalog, stock levels (aggregated and by location), transfers, the expiration dashboard, and the Inventory Actions tab where you receive a shipment and print barcode labels. You'll understand serialized stock (one record per physical bottle) and what that means every day; how to track supplement cost, expiration and spoilage; how product returns put stock back on the shelf (or write it off); the financial/reporting views you'll use to reconcile (cash vs. prepaid, cost of goods, the CA personal-property-tax note); and how end-of-period / end-of-year inventory counts will work. Wherever a TPS habit changes, you'll see an In TPS β In OneBOSS note.
π‘ Friendly promise: you already do all of this today β receiving, spoilage, reconciling, counts. OneBOSS just gives each task a clearer home, does most of the tallying for you, and replaces the highlighter-and-binder method with scan-and-print.
β οΈ Go-live is Sunday, June 14, 2026. From that day, all new inventory and bookkeeping work happens in OneBOSS. TPS stays available read-only for looking up old history (ledgers and item history back to 2004) β but you don't receive, count, or adjust stock in TPS anymore.
β οΈ A few exact labels in this guide are marked "Confirm exact label/steps in the app before printing." Those are spots where the running app may differ slightly from our notes β training day (June 10) is the time to nail them down and update this handout before it's printed for keeps.
1. The big idea: serialized inventory (read this first)
Here is the single biggest change, and once it clicks the rest is easy.
In TPS, inventory was a count. You had a number per item β "we have 42 of Vitamin D3" β that staff adjusted by hand on paper, tracked spoilage with a highlighter, and (honestly) stopped fully trusting because doctors pulled bottles without ringing them out and returns didn't always get re-entered.
In OneBOSS, inventory is serialized β every single bottle is its own record. When you receive 50 bottles, the system mints 50 unique serial numbers in the format CHI + 6 digits (for example CHI000123), and you print 50 little QR labels and stick one on each bottle. From then on:
- That specific bottle is scanned (not picked from a list) when it's sold at checkout and when it's returned.
- The "count" you see on screen is just the system adding up the bottles that are still in stock β sold and discarded bottles drop out automatically.
- Each bottle carries its own expiration date, cost, lot number, and location β so spoilage, cost-of-goods, and "what's about to expire" are all tracked per bottle, not guessed.
In TPS you kept a quantity number per item and adjusted it by hand β In OneBOSS every bottle is an individual labeled record; the count takes care of itself as bottles are received, sold, returned, or written off.
π‘ Your migration already brought across 2,414 products and 7,297 serialized stock units (1,313 items) from TPS. Those imported bottles have no recorded receive date (so their labels skip the
RCVline) and still need labels printed (see Β§8, Bulk-print all unprinted labels).
π· [Screenshot: a printed CHI barcode label on a supplement bottle, next to the bottle]
2. Who can open Inventory, and where it lives
The Inventory screen is gated to Admin and Purchasing roles. In Cohn terms that's Kimberly / bookkeeping + purchasing and Jessica / management. Front Desk and Doctor roles do not see the Inventory link in the menu.
- Sign in to OneBOSS.
- In the left menu, click Inventory.
- The page header reads Inventory Management with the subtitle "Oversee product catalog, stock levels, expiration dates, and perform inventory actions."
β οΈ Whoever physically receives and labels stock day-to-day (Roxanne / front-stock) must have a Purchasing or Admin login to reach this screen. Confirm their accounts before go-live. (Confirm exact label/steps in the app before printing β whether someone who knows the URL but lacks the role is also blocked.)
π· [Screenshot: left sidebar with the Inventory item highlighted]
3. The Inventory tabs at a glance
Across the top of the Inventory screen is a row of tabs. Here's what each one is for β the detailed how-tos follow in later sections.
| Tab (exact label) | What it's for | Who lives here |
|---|---|---|
| Product Catalog | The master list of every product (SKU). Add a product, edit its label & expiration settings. | [Kimberly/Books] |
| Aggregated Stock | Total on-hand for each product across all locations, with a Low / Sufficient / Overstocked status. | [Kimberly/Books], [Jessica/Mgmt] |
| Stock By Location | The same counts broken down per location (Front Stock Room, the two Treatment-room cabinets/shelves, Back Office Storage). | [Kimberly/Books] |
| Transfer View | Stock by location + AI suggestions for moving stock around. Advisory only (see warning below). | [Jessica/Mgmt] |
| Expiration & Discounts | What's nearing expiry (30 / 90 / 180 days) + AI discount ideas. Advisory only. | [Kimberly/Books] |
| Inventory Actions | The workhorse: Receive Stock β Print Labels. (Cycle-count buttons are placeholders for now.) | [Kimberly/Books], purchasing |
| Reports (Soon) | Disabled placeholder for future reporting. | β |
β οΈ The tab strip scrolls sideways if your screen is narrow. Product Catalog is the default tab when the page opens.
π· [Screenshot: the Inventory tab strip with all tabs visible]
4. Product Catalog β defining what you sell [Kimberly/Books]
The Product Catalog tab is the master list of every product (SKU). The card title is Product Catalog and it says "Currently showing {N} of {M} products." There's a search box ("Search products by name, SKU, category, or description...") and a New Product button at the top-right.
The table shows, for each product: Image Β· Name Β· SKU Β· Category Β· Price Β· Supplier Β· Reorder/Pref Β· Label Β· Expires Β· Edit. A couple of cells to know:
- Reorder/Pref shows
{reorder level} / {preferred level}β the levels that drive low-stock status (orN/A). - Label shows the short abbreviation that prints on the barcode label, or italic "auto" if you haven't set one.
- Expires shows "Never" if the product is flagged non-expiring, otherwise "Yes."
Task 4A β Add a new product (SKU) to the catalog
- Open Inventory β Product Catalog.
- Click New Product (top-right).
- Fill in SKU * (e.g.
VTD3), Name * (e.g.Vitamin D3 5000 IU), and Base Price * (the retail price). - Optionally set a Label Abbreviation (max 8 characters β this is the short text that prints on the QR label). Leave it blank to auto-derive from the SKU.
- If the item never expires (crystals, equipment, accessories), tick This product never expires.
- Click Create. You'll see a confirmation that the product was added to the catalog.
β οΈ Creating a product does not add any stock. It only defines the SKU. You still have to Receive Stock (Β§6) to put physical bottles into inventory.
π‘ If something's missing, the form tells you: empty SKU β "SKU required"; empty name β "Name required"; bad price β "Invalid price"; an abbreviation over 8 characters β "Label too long."
Task 4B β Edit a product's label abbreviation / expiration flag
- Product Catalog β find the product (use the search box).
- Click the pencil (Edit) on its row. The dialog is titled Edit Label & Expiration.
- Adjust the Label Abbreviation and/or the This product never expires checkbox.
- Click Save.
β οΈ This dialog can only change the label abbreviation and the never-expires flag. To change a product's name, price, category, supplier, or reorder/preferred levels after it's created, there is no field on this screen. The goal β editing those β is real, but the exact place is not confirmed in our notes. (Confirm exact label/steps in the app before printing.)
In TPS you edited the whole item record in one screen β In OneBOSS the catalog edit dialog is deliberately narrow (label + expiration). Where the rest is edited is a training-day question.
π· [Screenshot: Product Catalog table + the "Edit Label & Expiration" dialog open]
5. Reading stock levels [Kimberly/Books, Jessica/Mgmt]
You have three views of "how much do we have," and they all add up the serialized bottles (sold/discarded bottles are excluded automatically).
Aggregated Stock β the company-wide total
- Inventory β Aggregated Stock. Title: Aggregated Stock Levels.
- Columns: Product Β· SKU Β· Category Β· Total Quantity Β· Earliest Expiration Β· Reorder At Β· Preferred Level Β· Status.
- The Status badge flags health per product: Low Stock (below the reorder level, red), Overstocked (well above preferred, orange), Okay (yellow), or Sufficient (green).
- Use Filter by Product to narrow it, and Clear Filter to reset.
Stock By Location β where it physically is
- Inventory β Stock By Location. Title: Stock Counts by Location.
- Columns: Product Β· SKU Β· Location Β· Quantity Β· Status (here the status words are the short Low / High / Okay / Good).
- Filter with Filter by Product and Filter by Location, then Clear Filters.
- The seeded locations are Front Stock Room, Treatment Room A Cabinet, Treatment Room B Shelf, and Back Office Storage. (Confirm the live location list in the app β production may be configured differently.)
π‘ Because doctors pull supplements from a few different rooms, Stock By Location is your friend when a count looks off β it shows which room a bottle is assigned to.
In TPS one quantity number stood for "everywhere" β In OneBOSS you can see the same product split across rooms, so a low front-counter count doesn't hide a full back-office shelf.
Transfer View β suggestions only
- Inventory β Transfer View shows stock by location plus AI Suggested Transfers, with a Generate Transfer Suggestions button.
β οΈ Simulate Transfer does NOT move real stock. Clicking it only removes the on-screen suggestion. There is no actual stock movement recorded. Treat the whole Transfer tab as advice, not an action. If you physically move bottles between rooms, that re-assignment is (confirm in app) β don't rely on this tab to do it.
π· [Screenshot: Aggregated Stock tab showing a Low Stock badge and an Overstocked badge]
6. Receiving a shipment & printing labels [Kimberly/Books, purchasing]
This is the daily heartbeat of purchasing, and it lives on the Inventory Actions tab. The hardware in the loop:
- TSC TX610 thermal label printer β connected by Ethernet to the clinic network. This is what prints the little QR labels.
- Zebra DS4608-SR USB barcode scanner(s) β used to scan bottles at checkout and returns (and to confirm a freshly-printed label reads).
Task 6A β Receive stock and print labels
- Inventory β Inventory Actions. The left card is Receive Stock ("Each received unit gets a unique serialized barcode (CHI000000). Labels print to the TX610 after receive.").
- Choose the Product from the dropdown. A preview chip shows the product image, SKU, and label abbreviation β sanity-check it's the right item before continuing.
- Choose the Location (e.g. Front Stock Room).
- Enter Quantity Received (1β500).
- Confirm or adjust Received Date (defaults to today; can't be in the future).
- If the product expires, set the Expiration Date from the bottle (or leave it as "Unknown β skip"). If the product is flagged non-expiring, this field is hidden.
- Optionally enter Cost / Unit (Optional), Lot Number (Optional), and PO Number / Notes (Optional) β see the tips below for why these matter to the books.
- Click Receive {N} Unit(s) & Generate Serials. The system creates one record per bottle and the card flips to the Print Labels panel.
- In the Print Labels panel you'll see a green box ("{N} unit(s) received" and the serial range, e.g.
Serials CHI000301 β CHI000350) and a list of each serial marked pending. - Click Print all {N} labels. Labels print on the TX610. Each serial line turns to β printed.
- If some failed (a red box lists them), click Retry remaining.
- Stick one label on each bottle. Sorting/stacking by SKU first makes this fast.
- Click Receive more to start the next batch.
π‘ Enter Cost / Unit at receive time whenever you have it β that per-bottle cost is what feeds cost of goods, margin, and your spoilage value later. Enter the Expiration Date off the actual bottle so the expiration dashboard is accurate. Lot Number helps with recalls. PO Number / Notes ties the receipt back to the vendor order.
β οΈ Max 500 units per receive batch. Over that, split into multiple batches (the system will tell you).
In TPS receiving meant penciling a new quantity onto a sheet β In OneBOSS receiving mints a serial per bottle and ends with a "print labels" step β a step that didn't exist in TPS at all.
π· [Screenshot: Inventory Actions tab β Receive Stock form filled in] π· [Screenshot: the Print Labels panel after a receive, showing the serial range and "Print all labels" button]
Task 6B β Print a single test label (verify the printer) [Kimberly/Books or Jessica/Mgmt]
Before a big receiving session, prove the printer pipeline works.
- Go to
/admin/label-test(the Label Print Test page). - Confirm the printer is powered on, ribbon + labels loaded, and the Ethernet cable connected (the page shows a pre-flight checklist).
- Click Print Test Label. A small label should print.
- Scan it with the DS4608 to confirm the QR reads.
β οΈ The test label consumes one serial number (it leaves a small gap in the sequence). This is expected and harmless.
What's actually on the label
Each label carries: a QR code (the serial only), the SKU abbreviation, a RCV MM/YY line (the receive month/year β not the expiration date; this is a common question), the human-readable serial, and β per Dr. Cohn's request β the price. Bottles migrated from TPS (received date unknown) omit the RCV line.
β οΈ If a label is damaged or won't scan, there is no one-click "reprint this exact label" in the main flow yet. The current practice is: pull another bottle for the sale, and write off / audit the bad one separately. (Confirm exact label/steps in the app before printing.)
7. Tracking cost, expiration & spoilage [Kimberly/Books]
Expiration & Discounts dashboard
- Inventory β Expiration & Discounts. Title: Expiration & Discount Dashboard.
- Review the buckets β Expiring in Next 30 Days (red), Expiring in Next 3 Months (orange), Expiring in Next 6 Months (yellow). Each row shows Product Β· Location Β· Qty Β· Expires On Β· AI Discount Suggestion, and "Expires On" includes "(N days left)."
- Optionally click Get Suggestion on a row to see an AI-suggested markdown percentage and a new price.
β οΈ This dashboard is advisory / read-only. There is no button here that actually changes a price. It tells you what's aging and suggests a discount, but re-pricing or pulling stock happens elsewhere / by hand. Where a discounted price is actually set is (confirm in app).
In TPS you found expiring stock by eyeballing shelves and a highlighted list β In OneBOSS the 30 / 90 / 180-day buckets are built for you automatically off each bottle's expiration date.
How spoilage gets recorded
Spoilage (expired or damaged stock that can't be sold) becomes a discarded bottle in OneBOSS. The two ways a bottle gets discarded:
- A return marked "Damaged / opened" at the Returns desk (see Β§9) β the scanned bottle flips to discarded with a discard reason, instead of going back on the shelf.
- A write-off for expired or damaged stock you find on the shelf. (Confirm exact label/steps in the app before printing β the on-screen "Cycle Counts & Adjustments" write-off tools are still placeholders; see Β§10.)
π‘ A discarded bottle keeps its cost and discard reason on its record, which is exactly what you need to value spoilage for the books. Where discarded bottles surface for your spoilage report β the Inventory screen vs. a dedicated report β is (confirm in app).
In TPS spoilage was a highlighter pass and a hand-tallied number β In OneBOSS each spoiled bottle is an individual discarded record with its cost and reason attached.
Cost of goods β where the books see it
Per-bottle Cost / Unit entered at receive feeds the Product Costs (COGS) lines in Financial Reports (Β§11). If no cost was captured on a bottle, the system estimates cost at 60% of the base price β so entering real cost at receive keeps your margins honest.
π· [Screenshot: Expiration & Discounts dashboard with the 30/90/180-day buckets]
8. After a migration or printer outage β bulk-print labels [Jessica/Mgmt]
When stock is imported from TPS, or after a printer outage, you'll have a pile of bottles whose labels were never printed.
- Go to
/admin/label-queue(the Label Print Queue page). - Click Print all unprinted labels. It processes up to 500 per click β repeat if more remain.
- Review the result panel; click again to retry if any failed.
β Go-live item: right after the TPS migration is finalized, run Print all unprinted labels so every migrated bottle gets a physical label before you start scanning at checkout.
9. Returns and their inventory effect [Front Desk does it Β· Kimberly/Books cares about the result]
Front Desk runs returns at the desk on the Returns screen, but the inventory and money effects land on your books, so here's what to know. (Full return how-tos are in the Front Desk guide.) The return window is a firm 30 days from the sale.
There are two ways a return is processed, and they treat stock differently:
- Scan to Return (the bottle) β Front Desk scans the bottle's
CHI######label. The screen finds the original sale and asks for a Condition:- Resellable ("return to inventory, unopened, undamaged") β that exact bottle goes back in stock and reappears in your counts.
- Damaged / opened ("discard, do not resell") β the bottle is discarded with a reason β this is your spoilage/write-off.
- Process Return (from the sale list) β picks the sale and a quantity; this path always adds the quantity back to stock (no resellable/damaged choice).
What flows to the books on every return:
- A refund is recorded (
price Γ quantity, at the price captured at the time of sale). - If the original purchase was on a card, Refund to card auto-refunds the saved card. If it was prepay, the refund is credited back into the patient's prepay wallet automatically (a common source of odd "fractional" credits). Cash / CHI Cash / wellness-card refunds appear to be handled manually β (confirm in app).
- A commission clawback is booked against the doctor who got credit for the sale, and flows straight to Practitioner Payouts as a negative line. No action needed β it's automatic.
β οΈ The commission clawback in the code is an estimate (about 16% of the refund value), not the exact per-item margin. Worth knowing when you reconcile payouts.
β οΈ There is no "are you sure?" on a return and no in-app undo visible on the Returns screen β a processed return commits immediately. (Confirm in app whether a mistaken return can be voided.)
In TPS a return meant hand-adjusting the ledger, manually noting stock back into the binder, and tallying any commission change at payroll time β In OneBOSS one screen does it all: refund recorded, the specific bottle re-shelved or written off, and the commission clawback flowed to payouts automatically.
π· [Screenshot: Returns β Scan to Return dialog showing the Resellable vs. Damaged/opened choice]
10. Inventory counts β cycle counts, end-of-period & end-of-year [Kimberly/Books]
What's on the screen today
On Inventory β Inventory Actions, the right-hand card is Cycle Counts & Adjustments ("Perform cycle counts, full inventory counts, and make stock adjustments").
β οΈ As of this build, both buttons here are placeholders: Start Cycle Count (Coming Soon) and View Reorder Report (Coming Soon) are disabled, and the Reports (Soon) tab is also disabled. There is no working in-app cycle-count / adjustment / reorder-report screen yet. (Confirm exact label/steps in the app before printing β these may or may not be live by go-live.)
How counts are intended to work
The plan Cohn agreed to:
- Weekly randomized cycle counts of a handful of supplements as ongoing quality control β escalating to a full count only if there's a serious discrepancy. This is meant to replace constant full inventories.
- A full physical count with QR labeling done on-site June 11β12, 2026, right before cutover.
- An interim year-end manual count (for the CPA) entered into a simple OneBOSS form so go-live can compute a differential. (Confirm the exact count/entry screen in the app β the cycle-count UI is still being built.)
β Go-live item: the on-site full inventory count + labeling June 11β12 is how every bottle gets its serial and label before you go live on the 14th. Block the time.
In TPS counts were full-shelf manual tallies on paper that nobody fully trusted (doctors pulled stock without ringing it out, returns weren't always re-entered) β In OneBOSS the count is the sum of serialized bottles, sales/returns adjust it automatically, and the plan is light weekly cycle counts instead of constant full inventories.
π‘ Because every sale and resellable return moves a specific bottle automatically, your count should drift far less than it did in TPS. Cycle counts become a spot-check, not a fire drill.
π· [Screenshot: Inventory Actions β the Cycle Counts & Adjustments card (showing the "Coming Soon" buttons)]
11. Financial & reporting views for reconciliation [Kimberly/Books, Jessica/Mgmt]
These are the management/back-office screens you'll use to reconcile. They are all Admin-only β a non-Admin sees an "Access Denied" card. So in practice Jessica pulls these and shares the numbers/exports with you, or you reconcile from an Admin login.
β οΈ Financial Reports is flagged
devOnlyβ it may be hidden in the production build (the page shows "Page Not Available" in production mode). Confirm whether the clinic's deployed build exposes it before relying on it. If it's hidden, ask where management gets P&L / Sales / Cash Flow. (Confirm in app.)
Financial Reports (/financial-reports) β P&L, Sales, Cash Flow
- Open Financial Reports.
- Use Previous / Current / Next to land on a pay period, or click Custom Range for any dates. The pay-period model is semi-monthly: the 1stβ15th (paid the 18th) and the 16thβend (paid the 3rd of next month).
- Use the three tabs:
- Profit & Loss β Revenue (Services & Packages, Product Revenue), Cost of Services (Practitioner Payouts + Product Costs (COGS)), Gross Profit, Operating Expenses, Net Profit.
- Sales Breakdown β Revenue by Service, by Practitioner, and by Payment Method (this is where prepay / credit-card / cash / CHI Cash split out).
- Cash Flow β cash in (payments collected) minus payouts, COGS, and operating expenses.
π‘ The key reconciliation idea: revenue here is CASH-BASIS β it's the money actually collected in the window (and it includes package/prepay purchases), so it reconciles to your card processor plus cash/check. Costs (payouts, COGS, rent) are accrual. That means the P&L will not tie out line-for-line to a service-by-service ledger β that's intentional, not an error.
β οΈ Cash vs. prepaid, plainly: when a patient buys a $2,000 package, that $2,000 lands as revenue the day it's collected β not as they use it. A quiet week where patients redeem prepaid visits but buy nothing new can show low revenue even though the clinic was busy. Expect this when you reconcile.
β οΈ There is no CSV export on Financial Reports (or House Account). Only the Audit Log has Export CSV. You may need to copy figures manually for your own workbook.
House Account (/house-account) β revenue not tied to a doctor
Open House Account to see clinic revenue/expense that isn't a specific practitioner's: wellness-card purchases, untokenized / lapsed supplement sales, and the liability of unredeemed wellness-card therapies (a real future obligation at $50 each). Tabs: Overview, Transactions, Liability. Use the presets (This Month / Last Month / Last 3 Months / Year to Date) or From/To dates.
Audit Log (/audit-log) β the "who did what," with CSV export
Open Audit Log for a filterable trail of Appointments / Checkouts / Returns / Reassignments / Patient Updates. Filter by search, practitioner, date range, then click Export CSV to download the filtered rows (great for your own reconciliation workbook). The Returns and Checkouts tabs are especially useful for tying out refunds, clawbacks, and payment methods.
In TPS you ran day-sheets and month-end totals and tallied by hand β and Jessica didn't fully trust the practice-wide TPS reports β In OneBOSS the reports are live and auto-computed by pay period; OneBOSS reporting is the new source of truth. The Audit Log's CSV export replaces flipping through paper to answer "who did this?"
π· [Screenshot: Financial Reports β Profit & Loss tab for a pay period] π· [Screenshot: Audit Log β Returns tab with the Export CSV button]
12. The CA personal-property-tax note on supplements [Kimberly/Books]
California assesses personal property tax on business inventory (your supplement stock on the lien date). You'll need a stock-on-hand value to report it.
- Your on-hand quantity comes from Aggregated Stock (and Stock By Location) β the sum of serialized bottles still in stock.
- Your cost basis comes from each bottle's Cost / Unit (the reason Β§6 stresses entering cost at receive) and from Product Costs (COGS) in Financial Reports.
β οΈ This guide flags where the numbers live for the personal-property-tax filing; it is not tax advice. Confirm the exact valuation method and figures with the CPA. There is no built-in "personal property tax report" in the app β you'll assemble the on-hand value from the stock views and per-bottle cost. (Confirm in app whether any export gives a single stock-valuation total.)
In TPS you built the property-tax inventory value from the manual count and item costs β In OneBOSS you build it from the serialized on-hand count Γ per-bottle cost (so keep Cost / Unit accurate at receive).
13. Quick reference β where each task lives
| You want to⦠| Go to | Then |
|---|---|---|
| Add a new product (SKU) | Inventory β Product Catalog | New Product β Create |
| Set the label text / never-expires | Product Catalog β pencil | Edit Label & Expiration β Save |
| See total on-hand per product | Inventory β Aggregated Stock | read Status badges |
| See stock per room | Inventory β Stock By Location | filter by product / location |
| Receive a shipment + print labels | Inventory β Inventory Actions | Receive β¦ & Generate Serials β Print all labels |
| Test the label printer | /admin/label-test |
Print Test Label |
| Re-print all unprinted labels | /admin/label-queue |
Print all unprinted labels |
| See what's expiring | Inventory β Expiration & Discounts | read 30 / 90 / 180-day buckets |
| Understand a return's effect | Returns (Front Desk) | result flows to stock + payouts |
| Reconcile cash vs. prepaid / COGS | Financial Reports | P&L / Sales / Cash Flow |
| Revenue not tied to a doctor | House Account | Overview / Transactions / Liability |
| Pull a CSV of activity | Audit Log | filter β Export CSV |
14. Go-live checklist [Kimberly/Books + purchasing]
β I understand serialized inventory β every bottle is its own labeled record, and the count adds up the in-stock bottles. β I (or whoever receives) have a Purchasing/Admin login that can open Inventory. β I can add a product in Product Catalog and set its label abbreviation + expiration flag. β I can receive a shipment in Inventory Actions, entering cost, expiration, lot, and PO, and print labels to the TX610. β I've run a test label (
/admin/label-test) and confirmed it scans with the DS4608. β After the TPS migration, I'll run Print all unprinted labels (/admin/label-queue) so every migrated bottle is labeled. β I can read the Expiration & Discounts buckets and I know spoilage is recorded as discarded bottles (with cost + reason). β I understand a return restocks a resellable bottle or discards a damaged one, and books a clawback automatically. β I know the on-site full count + labeling is June 11β12, and that ongoing counts are meant to be light weekly cycle counts (the in-app count/adjustment tools are still being built). β I know Financial Reports revenue is cash-basis (includes prepaid purchases) and reconciles to card processor + cash/check β so it won't match a service ledger line-for-line. β I know where to assemble the CA personal-property-tax value (on-hand count Γ per-bottle cost) and to confirm method with the CPA. β I've confirmed the handful of "confirm in app" items above on training day (editing product price/levels, where a discount price is set, the count/adjustment screen, whether Financial Reports is visible in production, cash-refund handling).
A note on charting
Clinical charting / SOAP notes are not part of June's go-live. The Charting module is coming later this summer, and doctors will get their own separate training β there's nothing for bookkeeping or purchasing to do there.
You're ready
This guide is your reference for receiving, labeling, spoilage, returns, counts, and reconciliation in OneBOSS. You won't memorize it all at once β keep it next to you, follow the numbered steps, and lean on the In TPS β In OneBOSS notes whenever a habit feels different. The big shift is just this one idea: every bottle is its own labeled record now, and the system does the counting for you.
π‘ Spot a label or screen that doesn't match this guide? Flag it on June 10 β that's exactly what training day is for, and we'll fix the handout before it's printed for keeps.