User manual

Role and action reference

Generated from the executable action catalogue and permissions. Conditional visibility follows the live form. Permissions do not remove business prerequisites.

owner

party.create, order.create, adhoc.create, adhoc.accept, adhoc.reject, adhoc.reschedule, demand.create, demand.accept, demand.reject, collection.create, delivery.create, return.create, blend.create, allocation.create, allocation.update, procurement.create, surplus.create, loss.create, price.create, credit.issue, credit.refund, credit.apply, payment.create, payment.allocate, request.create, request.approve, request.reject, request.execute, request.cancel, request.expire, receipt.create, receipt.send, advance.create, terms.create, terms.override, cycle.create, cycle.close, correction.create, opening.create, purchase.create, stock.create, expense.create, livestock.create, settings.update, account.create, account.rename, membership.update, notification.configure, notification.retry.

manager

party.create, order.create, adhoc.create, adhoc.accept, adhoc.reject, adhoc.reschedule, demand.create, demand.accept, demand.reject, collection.create, delivery.create, blend.create, allocation.create, allocation.update, procurement.create, surplus.create, loss.create, price.create, request.create, request.approve, request.reject, request.cancel, request.expire, advance.create, terms.create, terms.override, correction.create, opening.create, purchase.create, stock.create, livestock.create, notification.configure, notification.retry.

collection

collection.create.

delivery

delivery.create, return.create.

cashier

demand.create, demand.accept, demand.reject, credit.issue, credit.refund, credit.apply, payment.create, payment.allocate, request.create, request.execute, request.cancel, receipt.create, receipt.send, advance.create, terms.create, terms.override, cycle.create, cycle.close, purchase.create, expense.create.

farmer

request.create, request.cancel.

customer

.

supplier

request.create, request.cancel.

Action form reference

Add party (party.create)

Allowed roles: owner, manager.

- Name (name): required when shown.

- Party roles (roles): required when shown; select farmer, customer, input-supplier, alt-source, own-farm.

- Contact (phone): optional.

Record collection (collection.create)

Allowed roles: owner, collection, manager.

- Source (source): required when shown; select farmer, own-farm.

- Party (partyId): required when shown; conditional; reference: party.

- Quantity (quantity): required when shown.

- Milk type (milkType): required when shown; select Cow, Buffalo, Mixed.

- Unit (unit): required when shown; select L, kg.

- Shift (shift): required when shown; select Morning shift, Evening shift.

- Fat % (fat): required when shown.

- SNF % (snf): required when shown.

- Quality outcome (outcome): required when shown; select accept, reject, downgrade.

- Downgrade basis (changedBasis): required when shown; conditional.

- Date (date): required when shown.

Record delivery (delivery.create)

Allowed roles: owner, delivery, manager.

- Customer order (orderId): required when shown; reference: order.

- Quantity (quantity): required when shown.

- Date (date): required when shown.

Record return (return.create)

Allowed roles: owner, delivery.

- Fulfilled delivery (deliveryId): required when shown; reference: delivery.

- Quantity (quantity): required when shown.

- Reason (reason): required when shown.

Create standing order (order.create)

Allowed roles: owner, manager.

- Party (partyId): required when shown; reference: party.

- Quantity (quantity): required when shown.

- Milk type (milkType): required when shown; select Cow, Buffalo, Mixed.

- Unit (unit): required when shown; select L, kg.

- Shift (shift): required when shown; select Morning shift, Evening shift.

- Active from (start): required when shown.

- Active until (end): optional.

Request demand change (demand.create)

Allowed roles: owner, manager, cashier.

- Standing order (orderId): required when shown; reference: order.

- Change (type): required when shown; select skip, pause, resume, extra, permanent, ad-hoc.

- Quantity (quantity): required when shown; conditional.

- Effective date (effective): required when shown.

- Active until (until): required when shown; conditional.

- Reason (reason): required when shown.

Request one-off delivery (adhoc.create)

Allowed roles: owner, manager.

- Party (partyId): required when shown; reference: party.

- Quantity (quantity): required when shown.

- Milk type (milkType): required when shown; select Cow, Buffalo, Mixed.

- Unit (unit): required when shown; select L, kg.

- Shift (shift): required when shown; select Morning shift, Evening shift.

- Date (date): required when shown.

- Reason (reason): required when shown.

Accept one-off demand (adhoc.accept)

Allowed roles: owner, manager.

- Quantity (quantity): required when shown.

- Reason (reason): required when shown.

Reject one-off demand (adhoc.reject)

Allowed roles: owner, manager.

- Reason (reason): required when shown.

Reschedule delivery (adhoc.reschedule)

Allowed roles: owner, manager.

- Date (date): required when shown.

- Reason (reason): required when shown.

Expire request (request.expire)

Allowed roles: owner, manager.

- Reason (reason): required when shown.

Accept change (demand.accept)

Allowed roles: owner, manager, cashier.

- Reason (reason): required when shown.

Reject change (demand.reject)

Allowed roles: owner, manager, cashier.

- Reason (reason): required when shown.

Record blend (blend.create)

Allowed roles: owner, manager.

- Cow input (cow): required when shown.

- Buffalo input (buffalo): required when shown.

- Unit (unit): required when shown; select L, kg.

- Shift (shift): required when shown; select Morning shift, Evening shift.

Allocate supply (allocation.create)

Allowed roles: owner, manager.

- Customer order (orderId): required when shown; reference: order.

- Quantity (quantity): required when shown.

- Date (date): required when shown.

- Reason (reason): required when shown.

Revise allocation (allocation.update)

Allowed roles: owner, manager.

- Quantity (quantity): required when shown.

- Reason (reason): required when shown.

Record procurement (procurement.create)

Allowed roles: owner, manager.

- Party (partyId): required when shown; reference: party.

- Quantity (quantity): required when shown.

- Milk type (milkType): required when shown; select Cow, Buffalo, Mixed.

- Unit (unit): required when shown; select L, kg.

- Shift (shift): required when shown; select Morning shift, Evening shift.

- Fat % (fat): required when shown.

- SNF % (snf): required when shown.

- Quality outcome (outcome): required when shown; select accept, reject, downgrade.

- Downgrade basis (changedBasis): required when shown; conditional.

- Negotiated rate per unit (rate): required when shown.

Record disposition (surplus.create)

Allowed roles: owner, manager.

- Disposition (type): required when shown; select additional sale, increase fulfilment, return-to-source, internal use, hold, loss.

- Quantity (quantity): required when shown.

- Milk type (milkType): required when shown; select Cow, Buffalo, Mixed.

- Unit (unit): required when shown; select L, kg.

- Shift (shift): required when shown; select Morning shift, Evening shift.

- Fulfilled delivery (deliveryId): required when shown; conditional; reference: delivery.

- Attributable source (sourceLot): optional; conditional; reference: collection.

- Documented total acquisition cost (acquisitionCost): required when shown; conditional.

- Acquisition cost evidence (costReference): required when shown; conditional.

- Hold until (until): required when shown; conditional.

- Reason (reason): required when shown.

Record loss (loss.create)

Allowed roles: owner, manager.

- Quantity (quantity): required when shown.

- Milk type (milkType): required when shown; select Cow, Buffalo, Mixed.

- Unit (unit): required when shown; select L, kg.

- Shift (shift): required when shown; select Morning shift, Evening shift.

- Custody stage (stage): required when shown; select pre-acceptance, dairy-custody, post-delivery.

- Reason (reason): required when shown.

Schedule price (price.create)

Allowed roles: owner, manager.

- Pricing side (side): required when shown; select procurement, selling.

- Party (partyId): optional; reference: party.

- Pricing basis (basis): required when shown; select flat, milk-type, fat/SNF.

- Milk type (milkType): required when shown; conditional; select Cow, Buffalo, Mixed.

- Unit (unit): required when shown; select L, kg.

- Rate per unit (rate): required when shown; conditional.

- Customer adjustment (+/-) (adjustment): optional; conditional.

- Calculation method (method): required when shown; conditional; select fat-based, rate-table-based.

- Method configuration notes (configuration): optional; conditional.

- Next applicable cycle start (effective): required when shown.

Issue credit (credit.issue)

Allowed roles: owner, cashier.

- Reason (reason): required when shown.

Apply retained credit (credit.apply)

Allowed roles: owner, cashier.

- Later receivable (obligationId): required when shown; reference: receivable.

- Amount (amount): required when shown.

- Reason (reason): required when shown.

Record refund (credit.refund)

Allowed roles: owner, cashier.

- Amount (amount): required when shown.

- Money account (accountId): required when shown; reference: account.

- Method (method): required when shown; select cash, transfer, cheque, other.

- Date (date): required when shown.

- Reason (reason): required when shown.

Record payment (payment.create)

Allowed roles: owner, cashier.

- Party (partyId): required when shown; reference: party.

- Direction (direction): required when shown; select in, out.

- Amount (amount): required when shown.

- Money account (accountId): required when shown; reference: account.

- Method (method): required when shown; select cash, transfer, cheque, other.

- Date (date): required when shown.

- Reference (reference): optional.

Allocate payment (payment.allocate)

Allowed roles: owner, cashier.

- Allocation (mode): required when shown; select oldest, manual.

- Obligation reference (obligationId): required when shown; conditional; reference: payable.

- Amount (amount): required when shown; conditional.

Request payment (request.create)

Allowed roles: owner, manager, cashier, farmer, supplier.

- Party (partyId): required when shown; reference: party.

- Payable (obligationId): required when shown; reference: payable.

- Amount (amount): required when shown.

- Date (date): required when shown.

- Reason (reason): optional.

Approve request (request.approve)

Allowed roles: owner, manager.

- Reason (reason): required when shown.

Reject request (request.reject)

Allowed roles: owner, manager.

- Reason (reason): required when shown.

Cancel request (request.cancel)

Allowed roles: owner, manager, cashier, farmer, supplier.

- Reason (reason): required when shown.

Execute payment (request.execute)

Allowed roles: owner, cashier.

- Money account (accountId): required when shown; reference: account.

- Method (method): required when shown; select cash, transfer, cheque, other.

- Date (date): required when shown.

Generate receipt (receipt.create)

Allowed roles: owner, cashier.

- Recorded payment (paymentId): required when shown; reference: payment.

Request receipt send (receipt.send)

Allowed roles: owner, cashier.

Record advance (advance.create)

Allowed roles: owner, cashier, manager.

- Party (partyId): required when shown; reference: party.

- Amount (amount): required when shown.

- Money account (accountId): required when shown; reference: account.

- Method (method): required when shown; select cash, transfer, cheque, other.

- Date (date): required when shown.

Set payment terms (terms.create)

Allowed roles: owner, cashier, manager.

- Party (partyId): required when shown; reference: party.

- Obligation side (side): required when shown; select receivable, payable.

- Payment cycle (cycle): required when shown; select immediate, daily, weekly, bi-weekly, monthly, custom.

- Next agreed due date (due): required when shown.

- Effective date (effective): required when shown.

- Custom interval days (intervalDays): required when shown; conditional.

- Short-month rule (monthEnd): required when shown; conditional; select last-valid-day, roll-forward.

- Reason (reason): required when shown.

Override due date (terms.override)

Allowed roles: owner, cashier, manager.

- Temporary due date (due): required when shown.

- Reason (reason): required when shown.

Open cycle (cycle.create)

Allowed roles: owner, cashier.

- Party (partyId): required when shown; reference: party.

- Period start (start): required when shown.

- Period end (end): required when shown.

Review and close cycle (cycle.close)

Allowed roles: owner, cashier.

- Source recoverable (sourceRecoverableId): optional; reference: sourceRecoverable.

- Source recovery amount (sourceRecoveryAmount): required when shown; conditional.

- Advance recovery (recovery): required when shown.

- Advance (advanceId): required when shown; conditional; reference: advance.

Record correction (correction.create)

Allowed roles: owner, manager.

- Record type (targetKind): required when shown; select receivable, payable, payment, paymentAllocation.

- Record reference (target): required when shown; reference: payable.

- Correction type (type): required when shown; select adjustment, reversal.

- Signed adjustment (+/-) (delta): required when shown; conditional.

- Reason (reason): required when shown.

Record opening balance (opening.create)

Allowed roles: owner, manager.

- Balance type (side): required when shown; select receivable, payable, cash/bank.

- Party (partyId): required when shown; conditional; reference: party.

- Money account (accountId): required when shown; conditional; reference: account.

- Amount (amount): required when shown.

- Date (date): required when shown.

Record purchase (purchase.create)

Allowed roles: owner, manager, cashier.

- Party (partyId): required when shown; reference: party.

- Item (item): required when shown.

- Amount (amount): required when shown.

- Date (date): required when shown.

- Track stock (tracked): required when shown; select yes, no.

- Quantity (quantity): required when shown; conditional.

- Stock unit (unit): required when shown; conditional.

Adjust stock (stock.create)

Allowed roles: owner, manager.

- Tracked item (item): required when shown.

- Signed quantity (+/-) (quantity): required when shown.

- Unit (unit): required when shown.

- Reason (reason): required when shown.

Record expense (expense.create)

Allowed roles: owner, cashier.

- Category (category): required when shown.

- Party (partyId): required when shown; reference: party.

- Amount (amount): required when shown.

- Date (date): required when shown.

- Payment treatment (treatment): required when shown; select immediate, credit.

- Money account (accountId): required when shown; conditional; reference: account.

- Method (method): required when shown; conditional; select cash, transfer, cheque, other.

Add livestock context (livestock.create)

Allowed roles: owner, manager.

- Type (type): required when shown; select Cow, Buffalo.

- Count (count): required when shown.

- Status (status): required when shown.

- Acquisition value (value): optional.

- Related costs (costs): optional.

Save dairy settings (settings.update)

Allowed roles: owner.

- Dairy name (name): required when shown.

- Contact person (contactName): optional.

- Phone (phone): optional.

- Contact email (email): optional.

- Address (address): optional.

- Registration reference (registrationNumber): optional.

- Notification channel (notificationChannel): optional; select None, WhatsApp, SMS, Email.

Add money account (account.create)

Allowed roles: owner.

- Account name (name): required when shown.

- Account type (type): required when shown; select cash, bank.

Rename money account (account.rename)

Allowed roles: owner.

- Money account (accountId): required when shown; reference: account.

- Account name (name): required when shown.

- Reason (reason): required when shown.

Set notification channel (notification.configure)

Allowed roles: owner, manager.

- Channel (channel): required when shown; select None, WhatsApp, SMS, Email.

Update access (membership.update)

Allowed roles: owner.

- Membership (memberId): required when shown.

- Assigned role (role): optional; select owner, manager, collection, delivery, cashier, farmer, customer, supplier.

- Party (partyId): required when shown; conditional; reference: party.

- Access enabled (enabled): required when shown; select yes, no.

- Reason (reason): required when shown.

Retry notification (notification.retry)

Allowed roles: owner, manager.

- Reason (reason): required when shown.