Skip to content
Documentation

Recording sales and expenses

Record purchases and sales, then correct mistakes safely.

Last updated 2026-10-23

Watch: Lesson 11Record a sale: cash, M-Pesa or creditPlay here (2:42)

Recording sales and expenses

Use Finance to record your farm's purchases and sales. Review before confirming.

Log an expense in the field

The Record expense form: date, supplier, category, amount, and the option to record the purchase as an inventory receipt.

  1. Open Log expense from a house, or Record expense in Finance.
  2. Check date/Site, choose supplier and category. Change suggested defaults if this purchase differs.
  3. Enter amount; calculations such as 120*30+500 work. Under Payment, choose status and amount paid for a partial payment.
  4. For Feed, follow the allocation rule's stocked/direct cost path. Without a rule, choose the path here. For shared costs, Edit Lot allocation, check shares and Done.
  5. Add optional note, reference or receipt. Record expense, review and confirm.

Confirmed entries can queue offline; receipt uploads need connection. Workers need explicit expense access. Medication/Supplements/Veterinary services offer Record the treatment next; check actual quantities on the treatment form.

Choose the right expense category

Choose what you bought: Feed, Day-old stock, Medication, Veterinary services, Supplements or Bedding for production; wages, utilities, transport, repairs, rent and similar categories for running costs; Equipment/Housing/Capital expense for assets. Use Other only where nothing fits. Marking an expense capital puts it on the asset line.

For Goods for resale, complete item, quantity and receiving location on the expense. Assign that location's Site first. Do not receive the purchase again. Bought stock has no production-Lot allocation; cost recognizes when sold.

Egg receipts accept Eggs, Trays (30) or Crates (144) and convert to stock units. Use an EGG-counted item for single eggs. Graded purchases need the matching item grade and receiving farm. When selling, use Inventory purchase and that grade's stock; never switch to farm-produced stock to bypass a mismatch.

Identify direct Feed purchases

Choose Feed product from active, not-stocked Feed items; leave Unknown / not specified if the invoice does not identify it. Product selection receives no stock and creates no second cost. Check Feed stage against the invoice; explicit product names can suggest it.

Phase guidance compares the stage with selected Lots at the transaction date or allocation window. Check warnings before saving; they neither reallocate money nor provide feeding advice. + Add a Feed product handles an empty catalogue.

Recording a sale at a glance

Sale details chooses date/customer. Line items chooses product, grade, package, price and physical stock. Payment chooses credit or paid. Lot allocation assigns revenue, separately from where goods came from.

For egg-only sales without delivery, Sort for this sale can post sorting and sale together, including offline.

For produced live birds, choose Bird Lot and Bird grade. Already harvested sells existing output. Select and sell these live birds also requires measured live weight kg; quantity/package already gives the count. It supports one grade per Lot, live-bird lines only, no delivery or override. For other cases, harvest separately. A queued selection is not confirmed stock.

Record a sale

The New sale form for an egg sale: customer, product, package, quantity and unit price, with the running total on the right.

  1. Open Sales > New sale and choose customer. Use named/shared walk-in for appropriate counter sales, or + New customer.
  2. Check product, grade, package, quantity and unit price. Customer defaults are suggestions; price books and active agreements supply prices.
  3. On each line, choose Source > Stock type > Farm, then matching stock. Farm-produced eggs use graded farm pools; purchases use resale item/location stock assigned to that farm. Birds need their physical Lot. Financial allocation does not choose stock.
  4. + Add another item or Duplicate as needed. Use Edit to reopen a finished line; check Lot revenue shares where applicable.
  5. Set Payment: Credit leaves debt; other methods mark the full sale paid.
  6. Add optional note/reference or + Add delivery fee. Check delivery tax if applicable; delivery income stays separate from product/Lot revenue.
  7. Save sale, review all lines, stock, payment, split and grand total, then confirm.

Insufficient stock blocks saving. Go to grading retains the sale draft and returns after sorting; queued grading must sync before it becomes stock. When a farm egg line has no grade and nothing is sorted at the farm, the form says how many eggs are waiting to be sorted and offers Go to grading; choosing a grade instead offers Sort for this sale. If your farm sells unsorted eggs, the farm stock also lists Unsorted eggs: keep the grade at Any grade to sell them as collected. While your farm sorts before selling, owners and managers see Allow unsorted sales beside these notes, linking to the setting. Withdrawal checks use egg windows for eggs/hatching eggs and meat windows for other products. Authorized overrides require a written, audited reason.

Imported egg sales also need grade, package and real farm stock. Old queued Lot-sourced eggs need correction before posting.

What you can sell

Eggs, hatching eggs, live/dressed birds, day-old chicks, point-of-lay pullets, manure and Other, using their supported packages. Only table eggs use size grade.

Set a customer-specific price

  1. Create the customer under Partners > Customers.
  2. Open Finance > Setup > Price books and the product/package/grade item.
  3. + Add agreement; enter customer, price, currency, Valid from and optional Valid until, then Add agreement.

Create one agreement per item. Active agreements take priority over base prices. To replace one, revoke it and create another; history remains. Agreements do not store volume tiers or contract documents.

Correcting a mistake

  1. Open the sale/expense and Correct.
  2. Fix values and enter a reason of at least 10 characters.
  3. Review the original, difference and replacement; confirm.

History remains. Sale corrections preserve revenue-share proportions. Multi-item sales need void/re-entry instead of correction, subject to downstream restrictions. Stock corrections keep grade and post together or fail together.

When the sale has an invoice

  • Unpaid: the invoice follows customer changes. Amount changes can follow only a simple one-line invoice without discount/tax; otherwise cancel it, correct the sale and issue a new invoice.
  • Partly/fully paid: cancel the invoice before correcting the sale.
  • Automatic cash receipt: correction reverses/reissues the receipt at the corrected total, retaining its number and actual received money up to that total. If payment covers other invoices or leaves credit, reverse it first.

Invoiced corrections also need invoice permission. Received-money currency cannot change: unwind as required, void and re-record.

Correcting an expense

Check supplier, category, amount, transaction date and reference. Cost path, receipt and allocation corrections post together or not at all.

For a paid expense, moving supplier or reducing below paid reverses/re-records payment up to the corrected amount and needs payment permission. Increasing the amount leaves the payment unchanged. Reverse payment first for currency changes or payments shared with other expenses.

Stocked Feed costs Lots when consumed; changing to stocked needs item, location and received quantity. Direct Feed costs Lots now; changing to direct needs targets and a reason. Later stock movements can block receipt reversal. Check product/stage explicitly; Unknown stays unknown until corrected.

By feed used freezes its effective-Feed window. Later backfill never changes the saved split; No Feed basis needs missing records or another valid method. To change only the split, use Re-allocate.

Voiding instead of correcting

Use Void only when the transaction should not count, such as a duplicate. It reverses balances/revenue/shares and keeps the reason in Audit. Returned goods go Back into stock or Thrown away as recorded loss. Eggs never return to ungraded pools; birds never return to live flocks.

An invoiced sale needs invoice cancellation; a paid expense needs payment unwinding first. A shared payment must be reversed before voiding. Correct a real transaction's wrong details rather than voiding its history.

See also

Allocation · Invoices and payments · Partners