Working title · Phase 1
Operations software for South African mixed farms.
Multi-tenant by design: organisations, farms, parcels, enterprises and cycles, with access enforced in the database rather than the browser. This page reports the real state of the build — it shows no farm figures, because no farm data exists yet.
Delivery progress
- Backend connected (Lovable Cloud) with PostGIS for parcel boundariesDatabase, auth, private storage and the security linter are all live and clean.Done
- Foundation migration: tenancy, membership, roles, RLS, feature flagsApplied. Every table is tenant-scoped and row-level secured; helper checks live in a private schema.Done
- Work vertical migration: work orders, captures, postings, command logApplied. Posted stock issues and cost allocations are immutable; corrections are reversals or revisions.Done
- Role matrix, module registry, money and unit handling, offline queueBuilt and typechecked. No database required.Done
- Sign-in and organisation bootstrapEmail sign-in is live. A new user creates an organisation and becomes its owner.Done
- Invitations, revocation, farm switcher, cross-tenant denial testsOne-time invitation links with expiry, revocation with a last-owner safeguard, and a live suite that checks a second farm business is refused on every table, export and shared link.Done
- Work order planning, offline capture, approval, postings, reconciled reportThe first complete workflow: plan, reserve, capture in the field with no signal, approve, and post one stock issue with one linked cost — replaying the same capture never doubles it.Done
- Crops, livestock, machinery, people, security, finance and area historyEach module records planned and actual side by side, with holds where a rule is missing rather than a guess.Done
- Installable field app that opens and captures work with no signalVerified on two devices: work captured offline survives closing the app, sends itself when signal returns, and appears once elsewhere.Done
- Paystack subscription paymentsPlans are paid in rands through Paystack, with signed callbacks that cannot be forged or replayed into a double charge. Accounting, payroll and weather stay on files, sandboxes and the free weather source by choice.Done
Module boundaries
Every built module is on. The four that stay flagged off — machine telemetry, official registry submissions, lender sharing and marketplace payments — wait on contracts and access rights, not on code.
Farm setup
On
Organisations, legal entities, farms, parcels, enterprises, cycles, members.
Work orders & offline capture
On
Plan work, reserve inputs, capture actuals offline, sync, approve.
Stock issue
On
Post stock issues against approved work, with reversals.
Cost allocation
On
Allocate posted stock and labour cost to a cycle, with revisions.
Management finance
On
Double-entry ledger, purchases, bank matching, budgets and reviewed exports, kept separate from operational records.
Crops
On
Fields, crop cycles, applications, scouting, irrigation, harvest lots and CSV imports, with planned versus actual quantities and missing-rule holds.
Livestock
On
Individual animal identity, tag history, groups, population ledger, treatments with withdrawal holds, weights and poultry batches.
Machinery
On
Assets, machine hours, fuel, service intervals and implement hours.
HR
On
Private personnel records, attendance, leave, training and payroll export.
Physical security
On
Gates, patrols, incidents and contact alerts with explicit delivery states.
Traceability
On
Lot and consignment lineage, splits, transfers, losses, recall tracing and read-only evidence snapshots.
Area history & forecasts
On
Rainfall, temperature, frost and wind history from one weather service, with seasonal comparisons, a short-range outlook and planning scenarios.
Plan, connectors & retention
On
Plan entitlements, trials, subscriptions and invoices with Paystack payments, plus sandbox accounting export and payroll file import, retention rules and an operations log.
Directory, quotes & partner sharing
On
Moderated supplier directory, quotation requests recorded by the farm, and scoped revocable partner links.
Machine telemetry
Flagged off
Off until device access rights and a manufacturer agreement exist.
Official registry submissions
Flagged off
Off until registry access is granted in writing. The platform issues no permits.
Lender data sharing
Flagged off
Off until lender contracts and explicit farm consent exist.
Marketplace payments
Flagged off
Off until a payment provider and the required agreements are in place.
Role matrix
These permissions are enforced in the database, not in the browser. A membership is always resolved from the signed-in person, never from anything the browser claims.
| Role | farm.read | workorder.create | workorder.capture | workorder.approve | stock.issue.post | cost.allocate.post | report.read | org.member.invite | org.member.revoke | crop.record | crop.rule.review | harvest.record | machinery.record | livestock.record | livestock.treat | livestock.move | traceability.share | hr.read | hr.manage | attendance.record | hr.salary.read | payroll.export | security.record | security.manage | finance.read | finance.post | finance.approve | finance.bank.match | finance.budget.manage | finance.export | finance.adjust.closed | weather.read | weather.manage | weather.refresh | weather.event.record | billing.read | billing.manage | integration.manage | integration.run | retention.manage | monitoring.read | directory.submit | quotes.read | quotes.manage | partner_share.manage |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Owner | |||||||||||||||||||||||||||||||||||||||||||||
| Manager | – | – | – | – | – | – | – | – | – | – | |||||||||||||||||||||||||||||||||||
| Supervisor | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ||||||||||||||
| Worker | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ||||||
| Storekeeper | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ||||||||
| Finance | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ||||||||||||||||||||
| HR | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | |||||||
| Security | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | |||
| Specialist | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | ||||||||||
| Read-only auditor | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – | – |