This commit is contained in:
2026-09-23 17:26:13 +05:30
parent 8e1549764b
commit 697b77f8c1
54 changed files with 5750 additions and 69 deletions

View File

@@ -0,0 +1,19 @@
---
question: What happens when I assign a rider?
also:
- how does assigning a delivery work
- rider did not get the job
- assigned but nothing happened
area: orders
source: services/... assignDelivery, src/features/store-admin/assignDelivery.ts
---
Assigning a rider is not a status change — it creates a delivery job. The job is
written, copied into the rider's queue so it appears in their app, and the order
is moved on, all together.
Until that happens the order is not on the deliveries board at all, because
deliveries are their own records rather than a view over orders.
If a rider says they never received a job, the two usual causes are that they
have never opened the app on a device, so there is nothing to send a
notification to, or that the job was assigned to somebody else.

View File

@@ -0,0 +1,20 @@
---
question: How do I add a cashier?
also:
- how do I create a till account
- add a supervisor to a till
- give someone access to the terminal
area: people
source: routes/posroutes.go, models/pos.go, src/api/people.ts
---
Till accounts are created from Users & access in the console, under the till
accounts list rather than the back-office staff list. A supervisor created there
is exactly the same kind of account as one created at the terminal itself, with
the same rules applied.
There are two till roles. A supervisor runs the terminal — settings, imports,
price overrides, voids, and creating the people below them. A cashier bills, and
nothing else.
A till account is not a console login. Somebody who only needs to ring up sales
should have a till account and no console access at all.

View File

@@ -0,0 +1,16 @@
---
question: Why can I not delete someone?
also:
- remove a staff member
- delete a till account
- deactivate instead of delete
area: people
source: src/api/people.ts
---
The console deliberately offers no delete for people, for either kind of
account. The backend's delete is a hard delete with nothing cascading from it,
so removing somebody would leave their past work pointing at an account that no
longer exists.
Deactivating is the safe equivalent and is what both lists offer. A deactivated
account cannot sign in, and everything it did before stays readable.

View File

@@ -0,0 +1,16 @@
---
question: What does re-importing a product do?
also:
- will importing again create duplicates
- re-import from the global catalogue
- import the same sheet twice
area: catalogue
source: src/api/catalogue.ts, services/catalogueService.go
---
Re-importing updates the products you already have rather than adding second
copies of them. The match is made on the catalogue's own stable key, not on the
product name, so a renamed product is still recognised as the same one.
What it does not do is change your prices. The global catalogue carries a
typical price range rather than a price; the price a customer pays is yours and
is set in your own catalogue, so an import never overwrites it.

View File

@@ -0,0 +1,19 @@
---
question: Why is a product in my catalogue but not on the shelf?
also:
- added a product but there is no stock
- difference between catalogue and stock
- how does a branch get stock
area: inventory
source: src/features/store-admin/pages/InventoryPage.tsx, services/stockrequestService.go
---
A product existing in your catalogue and a branch having stock of it are two
different things.
The catalogue is what your business sells. Stock is what one branch currently
has. A branch gets stock through a request, which somebody with the right access
has to approve — until that approval, the product is listed but the shelf is
empty.
So "we have it in the catalogue" and "we have it in that shop" are different
claims, and only the second one lets a customer buy it.

View File

@@ -0,0 +1,18 @@
---
question: What is the difference between a till account and a console login?
also:
- why can a cashier not sign in to the console
- cashier says invalid email
- till login not working on the website
area: people
source: src/api/people.ts, src/auth/session.ts
---
They are two separate account systems that happen to share one table.
A till account belongs to the terminal in the shop. A console login belongs to
the back office. The backend leaves the two till roles out of every console
sign-in lookup, inside the query itself, so a cashier trying to sign in to the
console is reported as "not found" rather than "wrong password" — the account is
real, it is simply not a console account.
If somebody needs both, they need two accounts.

View File

@@ -0,0 +1,19 @@
---
question: Why do online and counter sales not add up to one total?
also:
- app sales versus counter sales
- counter takings missing from my revenue
- imported bills not in the order total
area: orders
source: src/features/store-admin/pages/SalesPage.tsx, services/posService.go
---
App orders and counter bills are kept in two separate sets of books, and nothing
reconciles them into a single figure.
An app order is placed by a customer and may carry a delivery. A counter bill is
rung on a till in the shop. They are counted separately everywhere in the
console, which is why a revenue figure from one place will not match a total
from the other.
When you need both, read them side by side and say which is which. Adding them
together produces a number that looks authoritative and is not.