> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vendi.technology/llms.txt
> Use this file to discover all available pages before exploring further.

# Buying

> Invoices, price approvals and purchase orders.

## Typical flow

1. **Upload the invoice** (Invoices > Upload; PDF, JPG or PNG). The system reads the lines.
2. **Review extracted lines.** Each line is matched to a catalogue product; fix a wrong match with *Pick a different catalogue product for this line*. Set the supplier, currency, markup, transport and the **USD to CAD rate** for this invoice.
3. **Approve.** Approving posts the purchase to the supplier's ledger (positive = we owe them) and creates **price approvals** for any cost that changed.
4. **Review price approvals** (sidebar badge shows how many are waiting). Approve to apply the new cost, reject to keep the old one. The page shows two kinds of row per product - *vendor cost* (our product cost) and *supplier price* (the supplier's price row). They are normally the same number.
5. **Link the invoice to a purchase order** if there is one; the PO shows what was ordered vs invoiced vs received, with margin per line.
6. **Receive** goods (warehouse "Receive" page) so stock and short shipments are tracked.

## Alerts

Alerts lists cost changes bigger than your threshold (set per invoice: "Alert when price moves more than ...%").

## Purchase orders

Created from the Signal bot or manually. A PO has a status (`pending`, `partial`, received...), an agreed exchange rate, a PDF export, and can be linked to an invoice. Lines can be removed or restored while reviewing.

## Rules of thumb

* An invoice never silently changes catalogue costs; approvals do.
* A negative margin on a line is flagged so you can fix the sale price.
* Invoice approval for supplier "Guy" applies the markup set on the invoice (Guy's list is x1.14).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.