The vendor book mirrors your customer book for the AP (accounts-payable) side. Customers are who owes you; vendors are who you owe (or pay regularly).
When to use this
- You buy stock or materials from named suppliers and want to track spend per vendor
- You pay rent / utilities to specific landlords / utility providers and want history per recipient
- You owe a supplier money (opening AP carry-forward) and want a structured record instead of free-text on each entry
- Your accountant or a lender asks for a vendor schedule at year-end
What gets recorded
Per vendor, AgroYield stores:
- Name — operator's chosen label, e.g. "Acme Foods Ltd"
- Vendor type — supplier / service provider / utility / landlord / other (used for filtering + future per-category spend analytics)
- Contact — person, email, phone
- Address — full address + city + state (state matters for Nigerian WHT filing per state IRS)
- TIN — Nigerian Tax Identification Number (optional; useful for future WHT certificate workflow)
- Default payment terms (days) — e.g. 30/60/90; feeds future cash-flow forecasting
- Notes — free text
How vendors connect to other modules
- Expenses (
/business/expenses) — every expense form now has a "Vendor" picker alongside the AGR-332 "Paid from" picker. Picking a vendor attributes the spend so it appears on the vendor statement. - Assets (
/business/assets) — same picker on the Add Asset form. Useful for warranty/repair lookups + asset-acquisition spend per vendor. - Opening balances (
/business/opening-balances) — the AP (Suppliers owed) section becomes a vendor dropdown when vendors are captured; new entries link to a vendor viavendor_id. Existing free-text entries keep working (backward-compatible). - Vendor statement (
/business/vendors/<id>/statement) — chronological view: opening balance row at the top, then every expense + asset purchase tagged to this vendor since period start, footer with total activity.
Vendor statement page
Mirror of the customer statement (AGR-325 / AGR-327 patterns):
- Top KPIs: Opening AP, Period Spend, Total Activity
- Opening row at the top of the transaction list when this vendor has an AP opening balance entry. Carries a "Corrected" amber badge if any AP correction journal entries have been applied.
- Activity rows in chronological order — every expense (amber chip) + asset purchase (blue chip) tagged to the vendor since period start
- Footer: Total Activity sum
Note: per-expense paid/unpaid tracking is a future epic. Today the "Total Activity" sum reflects opening AP + all spend logged against the vendor. Once we model per-bill payment status, the page will subtract amounts already paid to show true outstanding.
Step-by-step — add a vendor
- Navigate to Vendors in the sidebar (sits next to Customers)
- Click + Add vendor
- Fill in name + vendor type + (optional) contact / address / TIN / payment terms
- Click Add vendor — appears instantly in the list
- Click the vendor's row to view their statement
Step-by-step — attach a vendor to an expense
- Navigate to Expenses → click Add expense
- Fill in the standard expense fields
- In the new Vendor dropdown, pick the relevant vendor (or "No vendor" for one-off spend)
- (Optional, AGR-332) Pick the bank account that paid for it under Paid from
- Save — the expense now appears on the vendor's statement automatically
Why this matters
- A bookkeeping platform that tracks WHO you owe is table stakes — paper ledgers, QuickBooks, Xero, Wave, FreshBooks all do this
- Lenders + accountants ask for vendor schedules at year-end
- Operators can't make rational supplier-relationship decisions without spend history per vendor
- Cash-flow forecasting (future epic) needs payment-terms per vendor to project AP outflows
Frequently asked questions
Q: What if I deleted a vendor by accident? A: Vendors soft-delete only — the row stays in the database. Edit any expense or asset that referenced the deleted vendor to re-link; or contact support to restore.
Q: Can I merge two vendors that I added twice with different spellings? A: Not via UI yet. Workaround: pick the canonical row to keep, edit the duplicate's expenses/assets to reference the canonical id (via support), then soft-delete the duplicate. Merge UI is a future small follow-up.
Q: What about stock purchases? When I add a product or restock, can I link it to the vendor I bought it from? A: Yes — AGR-334 shipped the stock receipt flow. When you stock-in a product (the "+In" affordance on each row), the modal includes a "Stock receipt" section with receipt kind (cash purchase / credit / opening / sample / adjustment) + vendor + bank account picker. Cash purchases deduct from the selected bank account automatically. Stock receipts show on the vendor's statement as their own indigo-chipped rows alongside expenses + asset purchases.
Q: Why is "Total Activity" not "Total Outstanding"? A: We don't yet track per-expense paid/unpaid status. The number you see is cumulative spend. Per-bill payment tracking is a follow-up.
Related
- Opening balances — AP section now uses vendor picker
- Bank accounts — source-of-funds linkage for expenses paid
- Customers — the AR-side mirror of this module

