Hundekari
Contract Farming & Agricultural Supply Chain Management System
Seed supply to growers, cold-store stock, harvest buy-back, company loading and farmer settlement in one system.
- TYPE
- AGRI SUPPLY CHAIN
- STATUS
- BUILDING
- YEAR
- 2026
- ROLE
- System design, legacy migration, full-stack implementation
- PLATFORM
- Flutter (desktop web, mobile web, Windows), Node.js API
- STACK
- Flutter · Dart · Node.js · Express · MariaDB · REST
PROBLEM
An agricultural supply business sits between seed suppliers, cold stores, growers and a processing company. Seed is bought and stored, issued to farmers alongside advances and inputs, and the harvest is bought back and loaded for the company — so every farmer is both a customer and a supplier in the same season.
Settling that position fairly means knowing what each farmer took, what they delivered, what the company actually accepted, and what was already advanced. On the legacy desktop system that reconciliation was slow, and it lived on one machine.
SYSTEM
Hundekari follows the seed from purchase to settlement. Seed lots carry a landed cost that includes store and handling expenses, stock is tracked per lot across cold stores, and sales to farmers pick from that lot stock.
At harvest, produce bought from farmers is loaded for the processing company, and the difference between field weight, company weight and rejection is reconciled back onto the individual farmer purchases.
A farmer settlement is generated from a purchase in one step, net of what the farmer owes — seed, advances and inputs — so the season closes as a statement each farmer can follow.
CORE FLOW
How the operation moves through the system.
- Bought by the load, with expenses spread into a landed cost per lot
- Transfer and lot-level stock across stores
- Seed sold from lot stock, with advances and inputs
- Produce bought back from growers net of deductions
- Loaded for the processing company; weight and rejects reconciled
- Farmer statement net of everything owed, then payment
Flow from seed purchase through cold storage, issue to growers, harvest buy-back and company loading to farmer settlement.
KEY MODULES
- M01Masters
- Parties, groups, items, varieties and grades, transport, trucks and vendors.
- M02Seed purchase
- Load-wise purchase with expense-based lot costing.
- M03Company seed
- Seed received from the processing company against grower codes.
- M04Cold-store transfer
- Movement between stores with lot-level stock.
- M05Grower sale
- Seed issued to farmers by picking from lots in stock.
- M06Produce purchase
- Harvest bought from farmers net of deductions and rejects.
- M07Company loading
- Dispatch with weight-loss and rejection reconciled to farmers.
- M08Farmer settlement
- One-step statement from a purchase, net of what is owed.
- M09Bags
- Purchase and issue of packing bags tracked like any other stock.
- M10Accounts & reports
- Vouchers, party ledger, outstanding and registers; PDF and Excel.
ARCHITECTURE
- Client
- Flutter desktop UI that keeps the legacy keyboard flow, plus a card-based phone UI.
- Calculation
- All figures computed server-side through a preview endpoint, so every screen agrees.
- API
- Node.js and Express; entry screens and reports built from server-provided specs.
- Tenancy
- Every request carries a company context; roles with per-user overrides.
- Language
- English and Marathi captions with Marathi typing from a Latin keyboard.
- Data
- MariaDB with versioned migrations; documents archived before any edit.
ENGINEERING
The parts that were not obvious, and what the system does about them.
- 01 / 04
Reconciling the company’s weight with the farmer’s
What leaves the field and what the company accepts are never the same number. Weight loss and rejection at loading are distributed back onto the farmer purchases that made up the load, so each settlement reflects what was actually accepted.
- 02 / 04
Landed cost per lot
Seed cost is not just the invoice: storage and handling belong in it too. Expenses are spread across lots at purchase, so the margin on a grower sale is computed against what the seed really cost.
- 03 / 04
History that survives every edit
Before a document is changed or deleted, the full previous version is archived and its number is never reused, so a disputed settlement can always be traced back.
- 04 / 04
Concurrency-safe numbering
Per-series sequences, deadlock retries, a unique-key backstop, row versions and idempotency keys keep document numbers clean when several operators save at once.
SCREENS
- SCREEN_01Seed purchase with lot costing
- SCREEN_02Company loading reconciliation
- SCREEN_03Farmer settlement statement
RESULT
Every farmer’s season — seed taken, produce delivered, weight accepted and money owed — closes as one statement that can be traced line by line.
Stock, cost and settlement run on one system reachable from the office desktop or a phone, instead of a single legacy machine.