Skip to content

Commit b784cca

Browse files
committed
Expand BUS Core wiki and bump internal version
1 parent bcbaf43 commit b784cca

15 files changed

Lines changed: 396 additions & 128 deletions

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@
2626
- Future Core updates will focus on bug fixes, safety, security/trust, backup and data protection, tester blockers, update/release reliability, small UX clarification, and documentation. New major workflow or domain expansion moves to BUS Pro discovery.
2727
- Still not included: full POS, full accounting, QuickBooks/Wave sync, automatic reorder, full job scheduling, cloud accounts, cloud sync, telemetry, payment links, customer portals, or recurring billing.
2828

29+
### Operator Wiki Documentation
30+
31+
- Expanded the BUS Core Wiki with operator-focused getting-started, first-shop workflow, inventory, recipes, manufacturing, Finance, backup/restore, local-first trust, updates, troubleshooting, and product-boundary guidance.
32+
- Cross-linked the Wiki around the verified v1.3.2 material-to-product workflow and replaced stale draft wording without changing runtime, API, security, update, backup/restore, or data behavior.
33+
- Bumped `INTERNAL_VERSION` from `1.3.2.0` to `1.3.2.1` for the documentation trace while leaving public `VERSION` at `1.3.2`.
34+
2935
## [1.3.1] - 2026-06-18
3036

3137
### Release Guard Fix

core/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
VERSION = "1.3.2"
2424

2525
# Internal working revision. Agents may bump this on meaningful repo changes.
26-
INTERNAL_VERSION = "1.3.2.0"
26+
INTERNAL_VERSION = "1.3.2.1"
2727

2828
__all__ = ["VERSION", "INTERNAL_VERSION"]
2929

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,42 @@
1-
> Status: Draft
1+
# Backup and Restore
22

3-
# Backups and Data Persistence
3+
BUS Core is local-first, so the operator is responsible for protecting local business data. Make a backup before Start Fresh, restore, major host changes, or container recreation.
44

5-
This page is a draft summary of what operators should currently treat as important persistence concerns.
5+
## Create an Encrypted Export
66

7-
## What Matters Most
7+
1. Open **Settings > Administration > Backup Export**.
8+
2. Enter a non-empty backup password.
9+
3. Select **Export**.
10+
4. Confirm the new file appears under available exports.
11+
5. Store the password separately and appropriately for your shop.
812

9-
The main BUS Core database is the critical durable business state.
13+
On Windows, exports are stored under `%LOCALAPPDATA%\BUSCore\exports` as encrypted `.db.gcm` files. The export is password-based AES-GCM; losing the password can make the backup unusable.
1014

11-
Before using **Start Fresh Shop** or any reset-like workflow, export a backup from **Settings -> Administration -> Backup Export**. Enter a backup password, select **Export**, and confirm the saved export appears in the recent exports list before resetting real-shop data.
15+
## Restore: Preview, Then Commit
1216

13-
For Docker-based setups, the primary persistence target should be:
17+
1. Open **Settings > Administration > Restore (Preview then Commit)**.
18+
2. Select a backup file or an available export and enter its password.
19+
3. Select **Preview**. Preview validates the container and schema and shows table counts without replacing the active database.
20+
4. Review the result and path.
21+
5. Select **Commit (archives journals)** only when you intend to replace the active database.
22+
6. Restart BUS Core when the UI reports that restart is required.
1423

15-
```text
16-
/data/app.db
17-
```
24+
Commit enters maintenance mode, replaces database state through the guarded restore path, archives existing journals, and recreates empty journals. It is not an undo button. Keep the source export until you have verified the restored shop.
1825

19-
## SQLite Sidecar Files
26+
## Windows Path Note
2027

21-
Depending on runtime state, SQLite sidecar files may also exist alongside the main database, including files such as WAL or SHM companions.
28+
v1.3.2 fixed export, preview, and restore handling for Windows paths containing spaces or `#`. Use the in-app staged upload/preview flow rather than moving database files by hand.
2229

23-
If those files exist during live operation, treat them as part of the active database state rather than as disposable clutter.
30+
## Docker Persistence
2431

25-
## Before You Rely On Reset Or Update Flows
32+
The default container database is `/data/app.db` with `BUS_DB=/data/app.db`. Mount `/data` to durable host storage and verify the mount survives container recreation. SQLite may use active WAL/SHM sidecar files; do not copy or discard live database files casually. Prefer the in-app encrypted export.
2633

27-
Before relying on container reset, recreation, or update workflows, make sure you understand:
34+
## Safety Boundaries
2835

29-
- where the database file is actually stored
30-
- whether sidecar database files are present
31-
- whether your backup or export process captures what you expect
32-
- whether your storage mount remains attached after container changes
36+
- Preview before every commit.
37+
- Do not treat a filename in the export list as proof that you know its password or that an off-device copy exists.
38+
- Test restore in an appropriate environment before depending on a backup plan.
39+
- A local export on the same failing disk is not a complete disaster-recovery strategy.
40+
- BUS Core does not provide hosted backup or cloud sync.
3341

34-
## Pending Audit Scope
35-
36-
Exact persistence requirements for non-database state are still pending audit.
37-
38-
That means operators should not yet assume a final answer for all BUS Core runtime state, including possible logs, journals, exports, config, secrets, session state, or future integration data.
39-
40-
## Current Practical Advice
41-
42-
- Persist `/data` when using Docker.
43-
- Verify that `BUS_DB=/data/app.db` is set.
44-
- Test restore assumptions before treating a reset or update flow as safe.
45-
- Keep this page in draft status until the non-DB persistence surface is audited more completely.
42+
Next: [Trust, Security, and Local-First](Trust-Security-and-Local-First.md).

wiki/FAQ.md

Lines changed: 41 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,57 @@
1-
> Status: Draft
1+
# Troubleshooting and FAQ
22

3-
# FAQ
3+
## Why do I need a product before a recipe?
44

5-
## Is BUS Core cloud-based?
5+
A recipe must point to an existing Output Product. Create the inventory item, mark **This is a product**, save it, then create the recipe.
66

7-
Draft answer: BUS Core is intended to be local-first rather than a cloud-first hosted service.
7+
## Why did manufacturing fail with a shortage?
8+
9+
At least one recipe input did not have enough available stock. Read the need, have, and missing quantities, then stock in the input, reduce the run, or correct the recipe. A failed shortage run does not partially consume inputs or create output.
10+
11+
## Why does sale price matter?
12+
13+
For Stock Out reason **Sold**, price supplies sales revenue used by Finance. The product's usual price is a starting point, not a locked price. BUS Core warns when the entered price is lower.
14+
15+
## Is BUS Core a POS?
16+
17+
No. It can record product stock-out and related sale value, but it is not a full checkout, payment-processing, receipt, or register system.
18+
19+
## Is it accounting software?
20+
21+
No. Finance provides operational sales, returns, COGS, expense, and profit visibility. It is not full double-entry accounting, bank reconciliation, payroll, or tax software.
22+
23+
## Where is my data?
24+
25+
Packaged Windows production data is under `%LOCALAPPDATA%\BUSCore\app\app.db`; demo data uses `app_demo.db`. Docker normally uses `/data/app.db`, which must be persistently mounted. See [Backup and Restore](Backups-and-Data-Persistence.md).
26+
27+
## Does BUS Core use cloud sync or telemetry?
28+
29+
No. Core has no forced cloud, cloud sync, or telemetry. Explicitly configured network features such as update checks or supported integrations can make their required requests.
830

931
## Does it require an account?
1032

11-
Draft answer: local use is intended to work without a required cloud account. Final user-facing wording should stay aligned with canonical product docs.
33+
No hosted account is required. BUS Core can operate in unclaimed local mode; an operator can also claim an instance and configure local users and permissions.
34+
35+
## Can multiple users use it?
36+
37+
Local user accounts and permissions exist, but the default packaged and Docker deployments are loopback-only and are not a supported general multi-user network service. Do not expose BUS Core to a LAN or the internet based only on the presence of user accounts.
1238

13-
## Can I run it locally?
39+
## Can I use QuickBooks or Wave?
1440

15-
Draft answer: yes, local operation is the main expected model.
41+
BUS Core has no direct QuickBooks/Wave sync. Finance CSV export can support a separate manual bookkeeping process.
1642

17-
## Can I run it in Docker?
43+
## Why can I not mark this stock-out as Sold?
1844

19-
Draft answer: yes, but Docker deployment is still beta/community-tested. See [Docker Install](Docker-Install.md).
45+
Sold stock-out is currently supported for count items. For non-count items, use the accurate loss/theft/other reason, or model a count-based sale product when that reflects the real workflow.
2046

21-
## Where is my data stored?
47+
## What does Core frozen/stability mode mean?
2248

23-
Draft answer: this depends on how BUS Core is deployed. Docker users should review [Backups and Data Persistence](Backups-and-Data-Persistence.md). A fuller persistence audit is still pending.
49+
Core remains maintained and useful. After v1.3.2, work focuses on reliability, security, data safety, release hygiene, documentation, tester blockers, and small clarity fixes. Major new workflow discovery moves to BUS Pro.
2450

25-
## How do I back it up?
51+
## Is Docker supported?
2652

27-
Draft answer: backup guidance is still being refined. Start with [Backups and Data Persistence](Backups-and-Data-Persistence.md) and verify your storage assumptions before relying on reset or update flows.
53+
The Docker image and default Compose configuration exist, but Docker/Synology guidance remains community-tested. Keep the default loopback binding and persist `/data`. See [Docker Install](Docker-Install.md).
2854

29-
## Where do I report bugs?
55+
## Where do I report a problem?
3056

31-
Use [Bug Reports](Bug-Reports.md).
57+
Use [Bug Reports](Bug-Reports.md). Include the BUS Core version, install method, what you attempted, what happened, and whether demo or real-shop data was active.

wiki/Finance-Guide.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Finance Guide
2+
3+
Finance gives an operational view of the business events recorded in BUS Core. It is not a complete accounting ledger or tax system.
4+
5+
## What It Shows
6+
7+
- Gross Sales, Returns, and Net Sales
8+
- COGS and Gross Profit
9+
- Expenses and Net Profit
10+
- Manufacturing run and produced-item context
11+
- A transaction feed including supported sales, refunds, expenses, manufacturing runs, and inferred purchases
12+
13+
COGS means the inventory cost assigned to sold goods. Gross Profit is sales after returns and COGS. Net Profit also accounts for expenses recorded in BUS Core. Results are only as complete as the events and costs you record.
14+
15+
## Why Sale Price Matters
16+
17+
When Stock Out uses reason **Sold**, the sale price supplies revenue for the cash event. If the product has a usual price, BUS Core pre-fills it and warns non-blockingly when the entered amount is lower. A missing or incorrect sale price makes profit reporting less useful.
18+
19+
## Date Ranges
20+
21+
Enter From and To dates or use **Last 30 days**, **This month**, **Last month**, **This quarter**, **Last quarter**, or **This year**. Select **Refresh** after choosing a custom range.
22+
23+
## CSV Export
24+
25+
Select **Export CSV** to download the Finance transaction export for the selected date range. Use it for review or transfer into your own bookkeeping process; it is not direct QuickBooks or Wave synchronization.
26+
27+
## Boundary
28+
29+
BUS Core does not replace double-entry accounting, bank reconciliation, payroll, tax filing, tax advice, or an accountant. Reconcile BUS Core's operational figures with your accounting system.
30+
31+
Next: [Backup and Restore](Backups-and-Data-Persistence.md).

wiki/First-Shop-Workflow.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# First Shop Workflow
2+
3+
Use one simple example to learn the whole path. This example makes one finished product from one stocked material.
4+
5+
## 1. Add a Vendor
6+
7+
Open **Inventory**, then create a vendor/contact while adding an item or through the available vendor controls. Use the supplier you buy the material from. Vendors provide purchasing context; they are not stock themselves.
8+
9+
## 2. Add a Raw Material
10+
11+
Select **+ Add Item**. Name the material clearly, choose its dimension and unit, assign the vendor if useful, and save it. Stock the material in with a quantity and unit cost. That receipt creates a costed batch.
12+
13+
Example: `Hardwood blank`, count unit `ea`, 10 on hand at $4.00 each.
14+
15+
## 3. Add the Product
16+
17+
Add another inventory item for what you sell. Check **This is a product** and enter its usual sale price.
18+
19+
Example: `Finished serving board`, count unit `ea`, usual price $35.00.
20+
21+
The product must exist before its recipe because the recipe needs an Output Product to point to.
22+
23+
## 4. Create a Recipe
24+
25+
Open **Recipes** and create a recipe such as `Serving board - standard`. Select the finished product as **Output Product**, set the output quantity and unit, and add the material rows the run consumes.
26+
27+
Keep product and recipe names distinct. The product is stocked and sold; the recipe is the instruction for making it.
28+
29+
## 5. Manufacture
30+
31+
Open **Manufacturing**, choose the recipe and run quantity, then submit the run. BUS Core consumes the required material batches FIFO and adds a costed batch of the output product. History identifies runs as `Run #N`.
32+
33+
To learn the safety behavior, you can first request more than is available. A shortage names the item and shows need, have, and missing quantities. The failed run does not partially consume inputs or create output. Reduce the run or stock in more material, then try again.
34+
35+
## 6. Stock Out a Sale
36+
37+
Open **Inventory > Stock Out**, select the product, choose reason **Sold**, enter the quantity, and confirm the sale price. For count items, BUS Core starts with the product's usual price when one is set. A lower price produces a warning but can still be used.
38+
39+
Reasons such as loss, theft, or other reduce inventory without representing a normal sale. Sold is currently supported for count items.
40+
41+
## 7. Review Finance
42+
43+
Open **Finance** and choose a date preset such as **Last 30 days**. Review Gross Sales, Net Sales, COGS, Gross Profit, Expenses, and Net Profit. The sale price supplies revenue; FIFO input cost flows through manufacturing into the product cost and then COGS when sold.
44+
45+
Finance is operational visibility, not a replacement for bookkeeping, tax filing, or professional accounting advice. See [Finance Guide](Finance-Guide.md).
46+
47+
## 8. Back Up
48+
49+
Open **Settings > Administration > Backup Export**, create an encrypted export, and confirm it appears under available exports.
50+
51+
Next: [Inventory Guide](Inventory-Guide.md) and [Backup and Restore](Backups-and-Data-Persistence.md).

wiki/Getting-Started.md

Lines changed: 19 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,36 @@
11
# Getting Started
22

3-
BUS Core is local-first shop infrastructure for inventory, recipes, manufacturing, and cost visibility. It is not a hosted SaaS account and it is not a full POS or accounting package.
3+
BUS Core is a downloadable, local-first app for inventory, recipes, manufacturing, and cost visibility. It is not a hosted SaaS account, full POS, or full accounting package.
44

5-
Core is feature-frozen and stability-focused after v1.3.2. It remains maintained, open-source, local-first infrastructure; future Core updates focus on safety, reliability, tester blockers, data protection, release hygiene, small UX clarification, and documentation. New major workflow or domain expansion moves to BUS Pro discovery.
5+
## 1. Choose an Install
66

7-
## Choose Your Install Path
7+
- [Windows Install](Windows-Install.md) for the packaged local Windows app.
8+
- [Docker Install](Docker-Install.md) for a container on the same machine.
9+
- [Synology NAS Docker Setup (Beta)](Synology-NAS-Docker-Setup-Beta.md) only if you are testing that community deployment.
810

9-
- [Windows Install](Windows-Install.md) for a local Windows setup.
10-
- [Docker Install](Docker-Install.md) for a container-based setup.
11-
- [Synology NAS Docker Setup (Beta)](Synology-NAS-Docker-Setup-Beta.md) if you are specifically testing on Synology NAS.
11+
Keep the default service on the machine's loopback interface. BUS Core's default setup is not a supported public-server or general multi-user network deployment.
1212

13-
## First Launch
13+
## 2. Choose Demo or Real-Shop Data
1414

15-
On first launch, choose the path that matches what you are doing:
15+
On first launch:
1616

17-
- Use demo mode to explore seeded sample data.
18-
- Use Start Fresh when you are ready to create or reset the real-shop database.
19-
- Export a backup first from Settings -> Administration -> Backup Export if you need to keep existing real-shop data.
17+
- **Demo mode** uses a separate sample database. Use it to explore without mixing sample records into real-shop data.
18+
- **Start Fresh** switches to the production database and initializes a fresh real-shop workspace.
2019

21-
Demo data is separate from the real-shop database.
20+
Start Fresh is a reset-like operation. If real-shop data already exists, first open **Settings > Administration > Backup Export**, enter a backup password, export, and confirm the export appears in the list.
2221

23-
## First Workflow
22+
## 3. Complete One Small Workflow
2423

25-
Run this path once before entering a large catalog:
24+
Do not enter the full catalog yet. Add one vendor, one material, one product, one recipe, one manufacturing run, and one sale. The [First Shop Workflow](First-Shop-Workflow.md) walks through the sequence.
2625

27-
1. Add a vendor from Inventory or while creating an item.
28-
2. Add a raw material with an opening batch and unit cost.
29-
3. Add a product, check "This is a product", and enter its usual sale price.
30-
4. Open Recipes and create a recipe.
31-
5. Select the product as the Output Product.
32-
6. Add the raw material or component rows the recipe consumes.
33-
7. Open Manufacturing and select the recipe.
34-
8. Try a shortage case first if you want to verify the warning path.
35-
9. Run a successful manufacturing pass and confirm stock changes.
36-
10. Stock out the product as sold.
37-
11. Confirm the sale price starts from the usual product price and warns if you enter less.
38-
12. Open Finance and review sales, COGS, gross profit, and date presets.
39-
13. Check Settings -> Administration -> Backup Export, update status, Help, support, and report-issue links.
26+
## 4. Know Where Data Lives
4027

41-
## Key Words
28+
On packaged Windows installs, the production database is under `%LOCALAPPDATA%\BUSCore\app\app.db`; demo data is in `app_demo.db`. Encrypted exports are under `%LOCALAPPDATA%\BUSCore\exports`.
4229

43-
- Product: the inventory item you build or sell.
44-
- Recipe: the list of materials or components needed to make a product.
45-
- Output Product: the product a recipe adds to stock when manufactured.
46-
- Stock Out: reducing inventory for a sale, loss, theft, or correction.
30+
In the default Docker setup, the database is `/data/app.db`. The `/data` directory must be mounted to persistent storage. See [Backup and Restore](Backups-and-Data-Persistence.md) before relying on container recreation or updates.
4731

48-
## Still Not Included
32+
## 5. Make a Backup
4933

50-
BUS Core still does not include full POS, full accounting, QuickBooks/Wave sync, automatic reorder, full job scheduling, cloud accounts, cloud sync, telemetry, payment links, customer portals, or recurring billing.
34+
After the first successful workflow, make an encrypted backup export and keep its password somewhere appropriate for your shop. An export you cannot decrypt is not useful.
5135

52-
## If You Are Beta Testing
53-
54-
- Read the [Beta Testing Guide](Beta-Testing-Guide.md).
55-
- Report problems in [Bug Reports](Bug-Reports.md).
56-
- Suggest workflow improvements in [Feature Requests](Feature-Requests.md).
57-
58-
## Scope Note
59-
60-
Keep setup small at first. Add one vendor, one material, one product, one recipe, one manufacturing run, and one sale before expanding the catalog.
36+
Next: [First Shop Workflow](First-Shop-Workflow.md).

0 commit comments

Comments
 (0)