This website requires JavaScript.
4248f3d37f
Suppliers: dark-mode contrast for monthly figures and coloured text; heading drawn in the view (React key warning)
main
David
2026-10-29 21:16:54 +0200
56305fc599
Suppliers: double-click name to set terms; Edit mode gates deletes and invoice corrections
David
2026-10-29 20:54:34 +0200
642d23dd24
Suppliers: replace the menu entry with the new page, flag over-invoiced POs, audited invoice amount corrections
David
2026-10-29 20:49:05 +0200
5f86657849
Purchase invoices, Suppliers 2 with payments, multi-page PO parsing
David
2026-10-29 20:29:08 +0200
cfd54385b3
Add Suppliers list; book purchase orders and petty-cash slips against it
David
2026-10-22 15:43:57 +0200
1ec52961ee
Cash float card, Office role + Slips tab, job card PDF, manual close/delete
David
2026-10-22 15:09:57 +0200
82d34103d7
Clock app: search + scanner on one screen; employee on fuel; drop codeless vehicles
David
2026-10-22 13:55:13 +0200
fd2d9262ae
Load vehicle QR numbers from the client's sheet into the Plant Register
David
2026-10-22 13:47:49 +0200
8f3a74cf6e
Job cards oil path, Fuel tab diesel-only, Mechanic role, Plant Register QR column
David
2026-10-22 13:44:01 +0200
96b55ea5b4
Job cards screen: drop the open-jobs list, add vehicle search fallback
David
2026-10-22 12:58:31 +0200
c269cd00b4
Add Job Cards (vehicle-QR start/finish) and retire Operators/Mechanics pages
David
2026-10-22 12:54:59 +0200
29a035a4f2
Clock app: vehicle-QR diesel book-out with meter photo; user access levels
David
2026-10-22 12:25:15 +0200
1dc1472841
Make the clock app's oil & diesel screen scan-only
David
2026-10-22 11:53:31 +0200
df53130861
Add Workforce pages, Plant Clock tab bar and oil & diesel book-out
David
2026-10-22 11:39:18 +0200
e3754613c7
feat(clock): add standalone employee clock PWA
Dave
2026-10-21 06:39:15 +0200
b0c70e9210
Stop the Running Costs grid at the current month
David
2026-10-09 12:35:52 +0200
4a76b08617
Running cost = everything linked to a vehicle: repairs, purchases, insurance, finance
David
2026-10-09 12:28:29 +0200
aac440cfef
Fold purchase orders into the Running Costs Overview, with incl/excl totals
David
2026-10-09 12:10:13 +0200
f85b9378a2
Add Running Costs sub-pages: insurance, financing, purchases, oil, operators, mechanics
David
2026-10-09 01:06:27 +0200
f7ce429c04
Re-link invoice lines whose target asset a seed replaced
David
2026-10-09 00:52:52 +0200
b5f6c0e16b
Attach the uploaded PDF to the invoice it creates
David
2026-10-08 21:45:42 +0200
ab89113489
Test: a site typed without its space is deliberately NOT folded
David
2026-10-08 19:06:30 +0200
1b763ae99d
Keep a site's invoice table consistent with its own totals
David
2026-10-08 12:07:07 +0200
80ca4788a2
Give external invoices a supplier name; keep them off the sites page
David
2026-10-08 12:04:42 +0200
6f66dff2a6
Split the invoice register into Internal and External Invoices
David
2026-10-08 11:49:48 +0200
ad4ac9173b
Invoices: one line per charge, and fold an abbreviated site
David
2026-10-06 11:25:10 +0200
afa95a9389
Income: the tiles and the machine list were sharing the title's flex row
David
2026-10-06 11:05:37 +0200
6ae4e30284
Invoices: ship pdfjs-dist's worker into the standalone image
David
2026-10-06 10:49:10 +0200
2594dead84
feat: add user access and improve plant dashboard
Dave
2026-10-06 04:02:08 +0200
8d957a1f16
Dashboard: a Monthly profit chart, one dot per month
David
2026-10-03 19:13:58 +0200
ea94754f02
Dashboard: income per site, one bar per site for a chosen month
David
2026-10-03 19:09:17 +0200
def147bc73
Income: hide stood-down machines, with an active/inactive filter
David
2026-10-03 18:40:32 +0200
299c20ae57
Mobile: the top tiles overflowed on /income, hugged text on /sites, and repeated on invoices
David
2026-10-03 16:45:23 +0200
aa1e75e399
Mobile: the menu button was indenting every page
fix/mobile-menu-indent
David
2026-10-03 16:08:04 +0200
fd2afeba4e
Invoices: a machine chosen in the dropdown was never actually booked
David
2026-10-03 15:43:46 +0200
39633838e0
Plant: default the register's status filter to Active
David
2026-10-03 09:59:11 +0200
8423878b4f
Invoices: fix the tablet layout and make booking an unbooked line obvious
David
2026-10-03 09:59:05 +0200
123484a8c4
AGENTS.md: record the rules the charts and the site cards now depend on
David
2026-10-03 09:20:29 +0200
649e495f49
Housekeeping: the surface token, and ignore the verification screenshots
David
2026-10-03 09:20:24 +0200
3cd3025116
Map: dark tiles from Esri, because CARTO retired keyless access
David
2026-10-03 09:20:24 +0200
813c187272
Sites: a card list that reads like the income screen
David
2026-10-03 09:20:20 +0200
681225e51d
Charts: a profit line that changes colour, and a Series toggle
David
2026-10-03 09:20:16 +0200
876619c3ac
Invoices: keep the PDF on the invoice, and search the invoice's own words
David
2026-10-02 19:09:16 +0200
5b9425873b
Fix: toast and machine dropdown were rendering behind the page chrome
David
2026-10-02 18:42:29 +0200
d471dc2d88
Invoices: make the machine picker searchable
David
2026-10-02 18:37:54 +0200
293276ccce
Sites: auto-allocate container lines to the container the site hires
David
2026-10-02 18:32:12 +0200
802f471047
Sites: give every site coordinates
David
2026-10-02 16:33:43 +0200
4e3f1ac7d7
Mobile: make the Sites table fit 375px without losing the VAT split
David
2026-10-02 16:28:07 +0200
14ec899ca9
Sites: a real Sites list, with the unbooked lines bookable to a site
David
2026-10-02 16:24:06 +0200
dc7024d98a
Fix: the mobile table was mislabelled and clipping its own totals
David
2026-10-02 15:34:19 +0200
999feb37fa
Mobile: make the invoice tables readable at 375px
David
2026-10-02 15:29:00 +0200
58c972c4c9
Invoices: a duplicate is a notice, not a broken invoice
David
2026-10-02 14:59:08 +0200
b0b31ad830
Invoices: toast to the top, solid teal
David
2026-10-02 14:50:48 +0200
fe4b1fc3dd
Invoices: confirm a successful import with a toast
David
2026-10-02 14:46:55 +0200
10d257e592
Invoices: the dialog closes itself once an import succeeds
David
2026-10-02 14:43:32 +0200
9e6235af92
Invoices: Add Invoice becomes a real dialog; quieten the invoice table
David
2026-10-02 14:35:27 +0200
5caa923375
Invoices: the app ingests PDFs itself, with a problem-invoice inbox
David
2026-10-02 14:30:17 +0200
2712326dbf
Invoices: add PHI 169 (Rooihuiskraal)
David
2026-10-02 06:44:10 +0200
d7ccd7fa80
Invoices: add PHI 168 (Castle Gate)
David
2026-10-02 06:37:54 +0200
63016895b9
Plant Register: inline editing, active toggle and cascade-delete impact
feature/invoice-booking
David
2026-10-01 15:59:51 +0200
baf0bddde6
Invoices: line-item extraction, booking to plant items, VAT-inclusive income
David
2026-10-01 15:59:30 +0200
348395275a
Add Umami analytics script to <head>
Mega Plant
2026-09-13 19:00:52 +0200
2f57a0c25f
Brand logo: 3D cube/map icon replaces the M gradient mark
Mega Plant
2026-09-12 12:12:30 +0200
0516220110
Round 4: regressions fixed + mobile standard
Mega Plant
2026-09-12 12:05:43 +0200
7194e78079
Round 3 (Parts A-B): charts fixes + expenses/overheads cleanup
Mega Plant
2026-09-12 11:24:18 +0200
b70fc8c5c7
Round 2 (Parts B-D): asset register restructure, type field, sequential codes, flat sortable table, cost_lines, removed synthetic code, fail loudly
Mega Plant
2026-09-12 10:24:26 +0200
dfb52a45fe
Ignore tsconfig.tsbuildinfo (regenerated by tsc)
Mega Plant
2026-09-12 09:48:50 +0200
c863a88ae5
Auto-create synthetic assets for unmatched machines in seed; update open-questions report
Mega Plant
2026-09-12 09:40:18 +0200
acf9d52e5f
Mega Plant dashboard — fix & harden (Parts 0-5)
Mega Plant
2026-09-12 09:35:35 +0200