Scan an item QR code
Point the camera at the item's QR label, or type its code. The item details appear, then you enter the quantity to receive or issue.
The receiving person taps their NFC card, or enters their PIN. Saved only after acknowledgement.
Users
Each person logs in with their own username. Roles decide what they can see and do. Store controllers are tied to one warehouse. PIN / NFC card is used to acknowledge stock receipt.
| Username | Name | Role | Department | Warehouse | PIN | NFC card |
|---|
Store locations
Top-level stores. Items and store controllers are assigned to one of these (or "Both" = all).
Locomotive / Wagon numbers
Request classification lists
The dropdowns on a stock request. Add a department or a fleet type here and it appears on the next request — removing one keeps it on requests already classified with it.
API keys
Give other systems (Excel, dashboards, another app) read-only access to stock data. A key can read but never change anything. See docs/API.md for how to use it.
| Name | Key | Access | Last used |
|---|
Low stock items
Recent activity
My zones shelves / areas in your store
| Code | Name | Loco | Zone | Type | Stock | Limit | Status |
|---|
| Date | Item | Type | Qty | Value | Employee | User | Reason | Invoice |
|---|
Start a stock take
A stock take is a physical count of the store. Count each item and type the real quantity on the shelf. When you finish, the app automatically creates Adjust movements for any differences and sends a report to Telegram/email.
Past stock takes
| Code | Name | Loco | Expected | Counted | Diff | By |
|---|
Stock Requests day-to-day needs
| Ref | Department | For | Nature | Store | Items | Needed by | Requested by | Status |
|---|
Approval policy (Admin)
Turn each approval step on or off for all new requests. Day 1: both off — requests are approved immediately and the store keeper prints and submits to the CEO manually.
| Code | Name | In hand | Min | Requested |
|---|
Add items
Inventory accounting IAS 2 · weighted average cost
Annual Budget by item type
Set the yearly spending limit for each type. Committed = open purchase plans; Actual = value of stock received (Stock In). Remaining = Budget − Actual.
| Item type | Budget | Committed | Actual spent | Remaining | Used |
|---|
Budget by expense category
The Company's own expense lines. A plan carries one category, so this is the ceiling it is measured against. Add a category below to give it a budget; only categories with a budget or activity are listed.
| Expense category | Budget | Committed | Actual spent | Available |
|---|
Actual spend by month
Cash flow — money needed per month
By expense category
Procurement plans
Plan future stock purchases so procurement and finance know what to buy and when the money is needed. Add items with quantity and price — the app also suggests what to reorder.
Budget position
| Item type | Budget | Spent | Committed | Available |
|---|
| Code | Name | In hand | Min | Qty to buy | Need by | Lead | Order by | Unit price | Total | Received | Outstanding |
|---|
Supporting papers
Attach the supplier quotation, a specification, or a photo, so the approver sees what the price is based on.
Add items to this plan
Filter to what you are planning for. Each row shows what is in hand, what has moved this year, and what the system suggests ordering.
| Code | Name | In hand | Min | Issued YTD | Requested YTD | On other plans | Last price | Suggest |
|---|
Alerts — Telegram & Email
Alerts are sent automatically to the Telegram group and email addresses configured in settings: instant low-stock alerts, a daily summary each morning, and a weekly report every Monday.
Preview
Click a preview button…
1. Signing in
Sign in with a username and password
Your username and first password come from the Administrator. Change the password the first time you sign in, using Change password at the top right. The Administrator never sees your new password.
Five wrong passwords in a row locks the account for fifteen minutes. This protects your account; wait, then try again.
Sign in by scanning your staff badge
Press Scan staff badge on the sign-in screen, point the camera at your printed badge, then type your PIN. The badge alone does not let anyone in — the PIN is what proves it is you. If you lose the badge, tell the Administrator and it is cancelled at once.
Your PIN and your NFC card
Your PIN and card are your signature. They are how you confirm that you received parts. Never share either, and never sign on someone else's behalf. The system records who signed for every movement.
Forgotten password
Ask the Administrator. They set a temporary password, and the system then forces you to choose a new one before you can do anything else.
2. What each role can do
| Role | Can do | Sees money |
|---|---|---|
| Store Keeper | Receive and issue parts in their own store, count stock, raise requests | No |
| Loco Administrator | Verify stock requests before they reach the CEO | No |
| Chief Executive | Approve or reject requests and plans | Yes |
| Procurement | Item master, prices, minimums, lead times, purchase plans | Yes |
| Finance / CFO | Budgets, plan approval, month-end accounting, alerts | Yes |
| Technical / Planning | Contribute quantities to plans | No |
| Requestor | Look up stock only | No |
| Administrator | Users, cards, locations, lists, API keys, backups | Yes |
A store keeper sees only the items in their own store. Prices and values are hidden from everyone except Finance, Procurement, the CEO and the Administrator.
3. Receiving parts into the store
Step by step
- Open Scan In/Out and press Start camera, or type the item code and press Find.
- Point the camera at the QR label on the bin. The item card appears with the stock you hold and the minimum.
- Choose Receive.
- If the parts came from an approved purchase plan, choose that plan under Receive against an approved plan. The approved quantity and price fill in for you.
- Enter the quantity, the unit price from the invoice, and the supplier or PO reference.
- Attach a photograph of the invoice or delivery note.
- Ask the person who physically received the parts to tap their NFC card or enter their PIN.
- Press Save transaction. The stock figure changes immediately.
The system will refuse the entry if…
- there is no unit price;
- there is no invoice or delivery note attached;
- nobody has signed for it;
- you try to sign for it yourself — the person receiving must be a different person;
- you are receiving more than an approved plan allowed, unless you confirm the excess.
These are not obstacles to work around. They are the controls the auditors test.
Parts arrived with no paperwork
Do not enter them. Put them aside, and tell Procurement the same day.
4. Issuing parts to the fleet
Step by step
- Open Scan In/Out and scan the item.
- Choose Issue and enter the quantity.
- Type the locomotive or wagon number — type 66 and the matching units appear.
- Enter the name of the employee taking the part.
- That employee taps their card or enters their PIN.
- Press Save transaction.
What the system checks
An issue that would take stock below zero is refused outright — that means a receipt was never recorded, or stock is missing. Report it to the CFO the same day; do not correct it with an adjustment.
An issue that takes stock below the minimum is allowed, but warns you and triggers a low-stock alert.
5. Stock requests
Raising a request
- Open Requests and press + New request.
- Choose the department asking, the nature of the request, and the locomotive or wagon it is for.
- Press Create & add items, then search and add each item with the quantity you need.
- Press Submit request.
- Press Print request and keep the signed paper copy in the store file.
What happens next
Depending on the policy the CEO has set, the request goes to the Loco Administrator to verify, then to the CEO to approve. You cannot verify or approve your own request. The status on the list tells you where it is.
6. Monthly stock take
Counting the store
- Open Stock Take, give the count a name such as "August 2026", and press Start stock take.
- Count each item on the shelf and type the real quantity. A row turns green when it matches and amber when it does not.
- Use the filter Not counted yet to find what you have missed.
- When everything is counted, press Finish & apply adjustments.
A person independent of the store must observe the count, and Finance reviews the differences before the adjustments are applied. Anything above USD 500 on a single item goes to the CFO before the count is closed.
7. Building a purchase plan
Creating the plan
- Open Planning and press + New plan.
- Give it a name, the month the money is needed, the department, the expense category, and what the parts are for.
- The form shows what is left in the budget before you start.
Choosing what to buy
The item picker shows, for every item: what is in hand, the minimum, how much was issued this year, how much was requested this year, how much is already on other open plans, the last price paid, and a suggested quantity.
The suggestion already subtracts what other plans have committed, so you do not order the same part twice. Filter by Needs ordering, Below minimum, or search for a particular part.
Attaching the quotation
Attach the supplier quotation or specification under Supporting papers, so the approver can see what the price is based on. Once the plan is approved the papers are locked.
Sending it for approval
Press Submit for approval. Every line must have a price — a plan without prices cannot be checked against a budget. Once submitted, quantities and prices cannot be changed.
Print the requisition and take it to the supplier once Finance has approved it.
When the goods arrive
Tell the store keeper which plan the delivery belongs to. They receive it against that plan line, and the plan then shows ordered against received, with anything still outstanding.
8. Budgets and plan approval
Setting the annual budget
Open Budget, choose the year, and set an amount for each item class — Stock, Expense and Asset. The tab then shows committed and actual spend against each, with the percentage used.
Approving a purchase plan
Open the plan, read the purpose and the attached quotation, and press Approve.
If the plan takes the budget over its limit the system refuses it and shows you the arithmetic: the budget, what is already committed, what this plan adds, and by how much it is over. You can still approve it, but only with a written reason — that reason is stored on the plan and printed on the requisition.
The person who submitted a plan cannot approve it.
9. Month-end
The seven steps
- Confirm the physical count is complete and the adjustments approved.
- Run the Movement report and check that opening plus receipts less issues equals the closing balance.
- Run Valuation and agree the total to the Movement closing value.
- Clear every negative-stock exception before closing the period.
- Post the Journal and confirm total debits equal total credits.
- Reconcile the closing inventory value to the general ledger.
- Review Slow-moving and assess whether a provision is needed.
Inventory is measured under IAS 2 at weighted average cost. Export each report and keep it. A month is not closed while an unexplained exception is outstanding.
Alerts
Low-stock alerts go out the moment an issue takes an item below its minimum. A summary goes out at 08:00 daily and a report at 08:00 each Monday, Cambodia time. Test them from the Alerts tab. An alert that stops arriving is itself an incident.
10. Approving
Stock requests
Open Requests, open the request, and press Approve or Reject. A rejection needs a reason, which the person who raised it will see. Both approver names are recorded with the date and time.
Purchase plans
Open Planning, open the plan awaiting approval, and read the purpose, the items and the attached quotation before approving. If the plan breaches the budget you will be told by how much, and approving anyway requires a written reason.
11. Administration
People, PINs and cards
Add each person under Users with their own username and role. Every PIN must be unique. Register an NFC card by tapping it, and block it the moment it is reported lost — the PIN still works. On the day someone leaves, untick Active.
Badge prints their QR sign-in badge. Re-issuing a badge cancels the old one immediately.
Stores, zones and lists
Add stores under Store locations. Store keepers add their own shelf zones. The Request classification lists card manages the departments, natures of request, locomotive and wagon types, and expense categories that appear in the dropdowns. Removing a value keeps it on records already classified with it.
Backups
The database is copied automatically at 02:00 every day and fourteen days are kept. Finance verifies once a quarter that a backup can actually be restored — a backup nobody has tested is not a backup.
Deleting a movement
Only the Administrator can delete a stock movement, and only with the CFO's approval in every case, because it erases a financial record.
12. If something goes wrong
| What you see | What to do |
|---|---|
| The camera will not open | Allow camera access when the browser asks. On an iPhone use Safari. If it still fails, type the item code instead. |
| The QR label will not scan | Clean the label, add light, hold about 15 cm away. A damaged label should be reprinted from the Items list. |
| "Card blocked" | The card was reported lost or faulty. Use your PIN, and ask the Administrator for a new card. |
| "Too many failed attempts" | Wait fifteen minutes, then try again. |
| Stock on screen does not match the shelf | Do not adjust it. Report it, and correct it through a stock take so the difference is recorded and reviewed. |
| The page will not load | Check the internet connection first, then tell the Administrator. Meanwhile use the paper receipt and issue forms and enter them within one working day. |
13. The rules, in one place
- Every receipt carries a price and a supplier document.
- Two people sign every movement: the one who records it and the one who receives it.
- Stock is never issued into a negative balance.
- Prices and values are seen only by Finance, Procurement, the CEO and the Administrator.
- A store keeper works only in their own store.
- Only the Administrator can delete a movement, and only with the CFO's approval.
- Differences are corrected through a stock take, never by quiet editing.
- An approved plan cannot be changed; a plan over budget needs a written reason.
The full procedure is SOP-STK-01, approved by the Chief Executive. This page is a summary for daily use; where the two differ, the SOP governs.