PurrOSDocs

Purchasing & Ordering

Suppliers and catalogs, suggested orders, purchase orders, receiving and supplier invoices.

For how this area works day to day, see the Purchasing & ordering guide.

Webhook events: purchase_order.created, purchase_order.approved, purchase_order.sent, purchase_order.received, supplier_invoice.mismatch. See Webhooks.

All paths are relative to /api/v1. Key is the scope an integration key needs, People the permission a signed-in person or personal key needs, and Feature the feature switch the endpoint belongs to. See how to read this reference.

  • GET/purchase-orders

    List purchase orders

    Keypurchasing:read
    Peoplepurchasing.read
    Featurepurchasing
  • POST/purchase-orders

    Create a purchase order

    Keypurchasing:write
    Peopleorders.create
    Featurepurchasing
  • GET/purchase-orders/{id}

    Get a purchase order

    Keypurchasing:read
    Peoplepurchasing.read
    Featurepurchasing
  • POST/purchase-orders/{id}:approve

    Approve a purchase order

    Keypurchasing:write
    Peoplepurchase_orders.approve
    Featurepurchasing
  • POST/purchase-orders/{id}:cancel

    Cancel a purchase order

    Keypurchasing:write
    Peopleorders.create
    Featurepurchasing
  • POST/purchase-orders/{id}:receive

    Receive a delivery

    Keypurchasing:write
    Peoplegoods_receipts.create
    Featurepurchasing
  • POST/purchase-orders/{id}:send

    Mark a purchase order as sent to the supplier

    Keypurchasing:write
    Peopleorders.create
    Featurepurchasing
  • GET/suggested-orders

    Suggested order for a supplier and location

    Keypurchasing:read
    Peopleorders.create
    Featurepurchasing.suggested_orders
  • GET/supplier-invoices

    List supplier invoices

    Keypurchasing:read
    Peoplepurchasing.read
    Featurepurchasing
  • POST/supplier-invoices

    Record a supplier invoice and match it

    Keypurchasing:write
    Peopleinvoices.match
    Featurepurchasing
  • POST/supplier-invoices/{id}:approve

    Approve a supplier invoice (accept any differences)

    Keypurchasing:write
    Peopleinvoices.match
    Featurepurchasing.invoice_matching
  • POST/supplier-invoices/{id}:dispute

    Dispute a supplier invoice

    Keypurchasing:write
    Peopleinvoices.match
    Featurepurchasing.invoice_matching
  • GET/suppliers

    List suppliers

    Keypurchasing:read
    Peoplepurchasing.read
    Featurepurchasing
  • POST/suppliers

    Create a supplier

    Keypurchasing:write
    Peoplesuppliers.manage
    Featurepurchasing
  • GET/suppliers/external/{externalId}

    Get a supplier by external ID

    Keypurchasing:read
    Peoplepurchasing.read
    Featurepurchasing
  • PUT/suppliers/external/{externalId}

    Create or replace a supplier by external ID

    Keypurchasing:write
    Peoplesuppliers.manage
    Featurepurchasing
  • GET/suppliers/{id}

    Get a supplier

    Keypurchasing:read
    Peoplepurchasing.read
    Featurepurchasing
  • PATCH/suppliers/{id}

    Update a supplier (partial)

    Keypurchasing:write
    Peoplesuppliers.manage
    Featurepurchasing
  • DELETE/suppliers/{id}

    Archive a supplier

    Keypurchasing:write
    Peoplesuppliers.manage
    Featurepurchasing
  • GET/suppliers/{id}/catalog

    A supplier's catalog (order guide)

    Keypurchasing:read
    Peoplepurchasing.read
    Featurepurchasing
  • PUT/suppliers/{id}/catalog

    Replace a supplier's catalog

    Keypurchasing:write
    Peoplesuppliers.manage
    Featurepurchasing