Boulder Rug Collective

Sales · Cleaning · Profit & Loss · v1.6

Saved 10:24 PM

Month at a glance —

This month, the year so far, and the same period last year

In the shop right now

In cleaning0

Nothing here

Ready for delivery0

Nothing here

Rugs stay on this board until you mark them delivered. Days counted from the intake date.

Revenue and net profit by month

Cleaning Rug sales Rug repairs Net profit line

About this app

Version 1.6, built 25 July 2026.

What has changed
v3.31 · 11 August 2026
  • Fixed: on a cleaning order with more than one rug, Rug shield $/sq ft was being charged against every rug's combined size, even if only one rug actually needed it. Each rug now has its own "Apply rug shield" checkbox — rug 1 starts checked (so a single-rug order behaves exactly as before), and each additional rug starts unchecked, so you pick which ones actually get it. The shield rate itself is still set once for the whole order.
v3.30 · 11 August 2026
  • Adding records from a file now also adds any Category it uses that isn't already in Settings — so an imported Expense or Other Income/Cost with a new category shows up correctly and is pickable in its own edit form right away, instead of needing the category added by hand afterward.
v3.29 · 8 August 2026
  • Fixed: applying a return's credit to another order, and the notes it adds on both orders, showed a doubled "##" in front of order numbers that already had their own "#" (e.g. from a Shopify import). Order numbers now always show exactly one.
  • Applying a return's credit now confirms exactly what happened — including the destination order number and its date — in the confirmation message, since that other order might be dated outside whatever month or range the Rug Sales table is currently showing, so its row (and the credit note on it) may not be visible without switching to Year to date or a custom range that covers it.
  • If the order being credited is still priced at less than the credit amount — a sign its Price hasn't been updated to its true full value yet — you're now asked to confirm before the credit is applied, instead of it silently leaving that order looking overpaid.
v3.28 · 8 August 2026
  • A return can now be applied as credit to a different order instead of refunded — for an exchange or upgrade, e.g. a returned rug's value put toward a larger one. Pick the other order and the amount when marking the return; that amount is added to the other order's Received so its balance and Paid status come out right, without inflating or losing total sales and costs. Both orders show the link (the return shows where the credit went, the order that received it shows where it came from), and the Returns report lists it too. Editing or undoing a return reverses the credit cleanly.
v3.27 · 8 August 2026
  • A rug's notes now show under its description in the Rug Sales list, so they're visible at a glance instead of only inside the form. Rows without notes look exactly as before.
v3.26 · 8 August 2026
  • Added a Notes field for each rug on a Rug Sale — the main rug and every additional rug now has its own notes (condition, requests, anything specific to that piece), separate from the whole-order Notes field.
v3.25 · 8 August 2026
  • Fixed: on a table with several row actions (Edit, Return, Move to…, Delete), those buttons could run off the right edge of the screen with no way to reach them. The actions now stay pinned to the visible edge of the table as you scroll it sideways, instead of scrolling away with the rest of the columns.
v3.24 · 8 August 2026
  • Rug Sales can now include a rug pad, priced at $/sq ft against that same rug's own size — no need to re-enter dimensions. Works on the main rug and on each additional rug in a multi-rug sale, and shows as its own line on the invoice.
  • "Other Work" is now called "Rug Repairs" throughout the app.
  • Added a Return button on Rug Sales, alongside Edit and Move to. Marking a sale as returned records the date and reason, puts any linked inventory rug back in stock, and removes it from revenue, profit, P&L and performance from then on — it stays visible (greyed out, with an Undo return option) on the Rug Sales tab, and every return is listed in its own Returns report under Reports.
v3.23 · 8 August 2026
  • Added "From Purchased Stock" to the "Bought from" list on the Rugs (inventory) tab, for rugs acquired as part of a purchased lot rather than from one named dealer. It's a regular rug source, so it can be renamed or removed in Settings → Rug sources just like any other.
v3.22 · 8 August 2026
  • The "Rug from inventory" search on Rug Sales now shows matching stock rugs right in a list as you type — no more opening a dropdown to see the match. Just type a Rug ID or part of the description and click the rug you want.
v3.21 · 8 August 2026
  • Added a search box above "Rug from inventory" on Rug Sales (and on each additional rug row) so picking a sold rug out of a stockroom of hundreds means typing its Rug ID or part of its description instead of scrolling a long dropdown.
v3.20 · 8 August 2026
  • A cleaning order with more than one rug can now give each rug its own Rate $/sq ft, for when one rug on the order needs a different wash than the rest. A new rug defaults to the order's current rate so you only need to change it when it really differs; totals, invoices, and the order table all reflect each rug's own rate.
v3.19 · 7 August 2026
  • Fixed: a cleaning order with several rugs could stretch a table row to hundreds of pixels tall, because the size text (e.g. "11'6" × 8'7" + 2'0" × 3'0"") could wrap after every single word instead of staying together rug by rug. Each rug's own size now stays on one line; a long list of rugs only wraps between whole rugs.
v3.18 · 7 August 2026
  • Fixed: a removed cleaning vendor or rug source could quietly reappear after saving to the cloud. The record of "this name was deleted" only ever lived on the device you deleted it from, so any other device — or this one after a fresh reload — would see an old order still tagged with that name and silently recreate it. That record now syncs like everything else.
v3.17 · 7 August 2026
  • Cleaning and Rug Sales now support more than one rug per order — click "+ Add another rug" to add extra rugs, each with its own size (cleaning) or its own rug ID, description, cost and price (sales). Totals, tax, invoices, and reports all add up across every rug in the order automatically.
v1.6 · 25 July 2026
  • Added Add records from a file in Settings → Your data. Unlike Restore from backup (which replaces everything), this only adds records that aren't already here, so it's safe to use on a browser that already has data — nothing you've entered or fixed gets overwritten.
  • Fixed: new default sample data baked into an update only ever showed up on a browser that had never saved anything. Once this browser saves data once, updates to the file itself no longer add to it automatically — new data now needs to come in through Add records from a file.
v1.5 · 25 July 2026
  • Imported April–July 2026 order history from Shopify (cleaning, sales, padding, repairs).
v1.4 · 25 July 2026
  • Added an Email field to Cleaning, Rug Sales, and Other Work.
  • Added a Move to… option on Cleaning, Rug Sales, and Other Work rows, so a misfiled entry can be reclassified without retyping it.
  • Imported March 2026 order history from Shopify.
v1.3 · 25 July 2026
  • Fixed: expenses added by the Add this month's fixed costs button were saved on the device but never sent to the cloud, so they were missing on your other devices and would vanish if that browser was cleared.
  • Fixed: deleting an invoice released its orders to be billed again, but only on the device you deleted it from.
v1.2 · 25 July 2026
  • Fixed: Erase everything only cleared the device you pressed it on, and the cloud then restored the data. It now asks whether you mean this device or everywhere, and erasing everywhere really does reach the cloud and your other devices.
  • Save to computer now names the file it wrote, so the button no longer looks like it did nothing.
v1.1 · 25 July 2026
  • Fixed: the Save cleaning order button shared an internal name with the cloud settings button, which left it wired to nothing. Cleaning orders now save.
  • Moved the Cloud saving panel out of the Today page and into Settings.
  • Added this version number.
v1.0 · 25 July 2026
  • First version live on the web, with cloud saving across devices.

Your data

Last backup 2026-07-25. Nothing new since.

Revenue mix this month

Rug sales$17,883.70 · 62%
Rug repairs$425.00 · 1%

Money owed to you

Saved to your computer as boulder-rug-backup-2026-07-25.json