Operations Dashboard
Good day — select a module to get started.
Good day! What would you like to do?
Available M³
—
Reserved M³
—
Total Active M³
—
Raw Material (tons)
—
Local Sales (RM)
—
Export Sales (USD)
—
Volume Delivered (M³)
—
Total Purchases (RM)
—
Volume Purchased (tons)
—
Loading…
Batch
Batches
Every batch tagged on stock — updated automatically. Click a batch to open its full trace.
| Date | Batch ID | Raw sawn size | Raw material | Raw material in | End products | Yield | |
|---|---|---|---|---|---|---|---|
| Loading batches… | |||||||
Batch Yield & Costing
Type the batch code, then Pull stock to auto-fill volumes from stock tagged to this batch (Batch ID In → input, Batch No → output). Every field below is still editable, and you can add lines by hand. Trace Batch Flow follows one batch from the raw bundles through every process to the end products.
Add Stock
M³ = Thickness × Width × Length × Pcs. Ton = M³ ÷ 1.4146. Enter Thickness & Width above first.
Machine Stock In
Bundle Details
Stock No—
Date In—
Timber Type—
Species—
Grade—
Thickness—
Width—
Length—
Volume M3—
Pieces—
From Machine—
Status—
Stock In Details
Recent Machine Stock In
STOCK NO
MACHINE
TYPE
SPECIES
GRADE
BATCH ID
DATE FROM
DATE TO
| Date In | Stock No | Machine | Type | Species | Grade | Thk | Wth | Length | Pcs | M3 | Batch ID | Del |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||||||
Old Stock Migration
Use old Excel data as a lookup only. Staff must verify the physical bundle before adding it into the new inventory.
Old Inventory Setup
If old stock cannot be found, first create the old_inventory table in Supabase, then import your old Excel file here.
Step 1: click Copy SQL Table and run it once in Supabase SQL Editor. Step 2: upload old Excel.
Old record found — verify before import
Type
Species
Grade
Thickness (From – To)
–
Width (From – To)
–
Length
Machine
Batch ID
Start Date
End Date
Loading...
Active M3: —
Avail M3: —
Resvd M3: —
⚠️ Left Out: —
Active Ton: —
| Stock No ↕ | Date In ↕ | Type ↕ | Species ↕ | Grade ↕ | Thk(mm) ↕ | Wth(mm) ↕ | Length (mm) ↕ | Vol M3 ↕ | Ton ↕ | Pcs ↕ | Machine ↕ | Batch ID ↕ | Status ↕ | Delivery ↕ | Edit | Label | Del | Stock In Date | In Machine | Loading Plan No ↕ | Sales Ref ↕ | Reserve Date | DO No ↕ | DO Date | Contract No | Invoice No |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||||||||||||||||||||
✏️ Edit Stock — Scan Barcode
Scan or type the bundle's stock number, then edit its details and save.
Loading...
| Date & Time | Action | User | Stock No | Plan No | Customer | Notes |
|---|---|---|---|---|---|---|
| Loading... | ||||||
Material Plans
🪚
Loading...
Recipe Templates 0
Material Plan Details
Order Lines — add the finished sizes to plan
Select a sales order above
Plan Lines 0
No lines added yet
Timber Required Summary
Add plan lines to see required timber
Production Progress
Daily Tally Entry
📊
Loading...
Tally History 0
Packing List
Add Requirement — key in the customer's required timber per length (or use Import Excel below)
Same grade + length again adds to the existing row (e.g. keying 330 twice for 2.4m gives 660).
Requirement Progress — Cut = stock tagged at cutting machine · Finished = packed here
Cutting +%
Packs 0 — from cutting machine stock · press ✓ Finish when packed
Recent Loading Plans
🚛
Loading...
Plan Details
Bundles 0 Total: 0.0000 M³ / 0.0000 Ton
| Stock No | Type | Species | Grade | Thk | Wth | Length | Pcs | M3 | Ton | Sales Order Line | Remove |
|---|---|---|---|---|---|---|---|---|---|---|---|
| No bundles yet | |||||||||||
Container Loading Instructions
🚢
Loading...
Loading Instruction Details
Bundles 0 Total: 0.0000 M³ / 0.0000 Ton
| Stock No | Type | Species | Grade | Thk | Wth | Length | Pcs | M3 | Ton | Sales Order Line | Remove |
|---|---|---|---|---|---|---|---|---|---|---|---|
| No bundles yet | |||||||||||
🚢
Loading...
Ready to Invoice
| Source | Ref No | Date | Customer | M³ | Action |
|---|---|---|---|---|---|
| Loading... | |||||
Invoice History
| Invoice No | Date | Source | Customer | Total | Actions |
|---|---|---|---|---|---|
| No invoices yet | |||||
Sales Orders
Loading...
| SO No | Date | Due Date | Customer | Contract No | Status | Order Vol | Delivered | Outstanding | Total Value | Actions |
|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||||
Order List — All Order Lines
Loading...
| Date ↕ | SO No ↕ | Customer ↕ | Contract ↕ | Species ↕ | Type ↕ | Grade ↕ | Thk ↕ | Wth ↕ | Len ↕ | Vol M³ ↕ | Plan M³ ↕ | Delivered ↕ | Outstanding ↕ | Price ↕ | Value RM ↕ | Due Date ↕ | Status ↕ | Description |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||||||||||||
Draft
Sales Order Header
Save the order first, then you can attach files.
No attachments
Sales Order Details 0
| No | Description | Contract | Timber Type | Species | Grade | Unit | Thickness | Width | Start Length | End Length | Linear | Volume M³ | Volume Ton | Price Method | Price | Cur | Value RM | Value USD | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TOTAL | 0.00 | 0.00 | |||||||||||||||||
Enter MM or Inch; the opposite measurement auto-converts. Pick a Price Method and Value RM is calculated from price × quantity.
🌿 PEFC / MTCS Certificates — Data Housekeeping
Saving for a holder replaces its previous certificate — the latest copy always wins. The company certificate is published to the Customer Portal supply chain automatically. Renewal alert starts 90 days before expiry.
Certificates on file
Loading…
🛡️ Supplier Due Diligence — PEFC/EUDR Risk Register
Click a supplier to open its page — its PEFC / MTCS certificates and its PEFC/EUDR Supplier Risk Assessments (first supply, then at least annually). The register shows each supplier's current risk category and decision.
Loading…
🌲 Forest Management Units
Saving an existing code updates it. FMUs keyed here appear as suggestions on every shipment booking’s Borang B01 (FMU and Forest owner boxes) — pick instead of retyping.
Loading…
Loading...
| Customer Name | Tel | Fax | Buyer TIN | Country | Currency | Edit | Del |
|---|---|---|---|---|---|---|---|
| Loading... | |||||||
⚙️ Data Housekeeping
🪵 Lamination Planner
📦 Load stock straight from Inventory
Type
Species
Grade
Thickness
Width
Length
💾 Saved lamination plans
Loading…
1 · Stock
Tap to upload packing list / stock report
(.xlsx or .csv — Thickness, Pcs and Grade columns are detected automatically)
(.xlsx or .csv — Thickness, Pcs and Grade columns are detected automatically)
Check the column guesses (sample value shown):
| Thk (mm) | Grade | Pcs | Use for |
|---|
Set Face only for good grade (top & bottom) and Core only for the other grade (middle layers). Face + core means the boards may be used anywhere.
2 · What to build
Calculating best plan…
Runs fully on this device — no data leaves your phone.
📡 Production Live
Live LM from machine encoders · tap a machine to start or manage a job
Linear output today
0 m
—
Volume today
0 m³
from output sizes
Jobs today
0
—
Machines running
0 / 0
—
Utilisation today
—
run ÷ (run + idle)
Machine Status
Each row streams live from its encoder · tap to manage
📡
Loading machines...
Total Throughput
Metres per minute · all machines · while this page is open
Aggregate feed rate (m/min)
Events & Alerts
Watching for events… (status changes and job start/finish appear here)
Daily Production Report
Total output day by day — LM & M³ out from every job · M³ in from bundles scanned into the machines
| Date | Jobs | LM | M³ in | M³ out | Recovery |
|---|---|---|---|---|---|
| Loading... | |||||
Run History
| Run | Machine | Item | Entry (mm×mm×m) | Output (mm×mm×m) | LM | M³ in | M³ out | Start | End | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||||
Machine
—
📥 Stock In — scan bundle into this job
—
Running graph — today
Feed speed (m/min) sampled every minute · this machine
Today at this machine
—
LM
—
m³ in
—
m³ out
—
recovery
—
jobs
—
run time
—
idle time
—
utilisation
Run history — this machine
—
| Run | Out size | LM | M³ in | M³ out | Run / Idle | Time | Status |
|---|---|---|---|---|---|---|---|
| Loading... | |||||||
🔍 Audit Log
Loading...
Loading Scan
Select Loading Plan to Scan
| Date | Plan No | Customer | Bdl | Scanned | Plan M3 | Plan Ton | Scan M3 | Status | Action |
|---|---|---|---|---|---|---|---|---|---|
| Loading... | |||||||||
⏳ Remaining 0
✅ Scanned 0
Select Plan to Create DO
| Plan No | Customer | Date | Bundles | Scanned | Status | Action |
|---|---|---|---|---|---|---|
| Loading... | ||||||
DO History
| DO No | DO Date | Plan No | Customer | Lorry No | M³ | Actions |
|---|---|---|---|---|---|---|
| No DOs yet | ||||||
| Total M³ Delivered (0 DO): | 0.0000 | |||||
Machine Instructions
📝
Loading...
New Machine Instruction
Batch IDs are created here. Key a NEW id to start a batch, or pick an existing one so this process continues it — raw material → plank → cut → final products all carry ONE batch id. Minus Stock / Add Stock then just select it.
The printout will read: "Kindly prepare this stock for Machine … starting from …" followed by your tagged stock list.
Tag Stocks From Inventory 0
Type
Species
Grade
Thickness
Width
Length
Only Active stock is shown. A stock can only be on one open instruction — duplicates are blocked until the other instruction is Completed or Cancelled.
Loading stock...
Tagged Stock List 0 — the ground follows this order
No stocks tagged yet — tick stocks in the table above
—
Stock List — tick ✓ Done as each stock goes into the machine
Loading...