---
title: "Replace purchase (draft only)"
method: PUT
path: "/purchases/{id}/"
tags: ["Procurement"]
---

# Replace purchase (draft only)

`PUT /purchases/{id}/`

## Request body

- Purchase
  - `id` integer
  - `supplier` string, required — Supplier ID.
  - `document` integer, required — Purchase-document type ID.
  - `number` integer, required
  - `date` string, date, required
  - `due_date` string, date, nullable
  - `note` string, nullable
  - `amount` number, nullable
  - `exempt` number, nullable
  - `tax` number, nullable
  - `tax_percent` number, nullable
  - `subtotal` number, nullable
  - `total` number, nullable
  - `total_adjusted` number, nullable
  - `retention` number, nullable
  - `discount` number, nullable
  - `discount_scheme` '%' | '$', nullable
  - `tax_settings` object — Country-specific tax-agency configuration.
  - `status` 'draft' | 'finalized'
  - `biller_status` string
  - `tax_agency` object
  - `local_file` string, uri, nullable
  - `imported` boolean
  - `test_mode` boolean
  - `metadata` object
  - `lines` PurchaseLine[], required
    - `id` integer
    - `name` string, required
    - `description` string, nullable
    - `amount` number, required
    - `quantity` number, required
    - `exempt` boolean
    - `tax` number, nullable
    - `tax_percent` number, nullable
    - `total` number
    - `discount` number, nullable
    - `discount_scheme` '%' | '$', nullable
    - `code` string, nullable
    - `code_scheme` string, nullable
    - `retention` number, nullable
    - `retention_percent` number
  - `created` string, date-time
  - `updated` string, date-time

## Response `200`

Updated purchase.

- Purchase
  - `id` integer
  - `supplier` string, required — Supplier ID.
  - `document` integer, required — Purchase-document type ID.
  - `number` integer, required
  - `date` string, date, required
  - `due_date` string, date, nullable
  - `note` string, nullable
  - `amount` number, nullable
  - `exempt` number, nullable
  - `tax` number, nullable
  - `tax_percent` number, nullable
  - `subtotal` number, nullable
  - `total` number, nullable
  - `total_adjusted` number, nullable
  - `retention` number, nullable
  - `discount` number, nullable
  - `discount_scheme` '%' | '$', nullable
  - `tax_settings` object — Country-specific tax-agency configuration.
  - `status` 'draft' | 'finalized'
  - `biller_status` string
  - `tax_agency` object
  - `local_file` string, uri, nullable
  - `imported` boolean
  - `test_mode` boolean
  - `metadata` object
  - `lines` PurchaseLine[], required
    - `id` integer
    - `name` string, required
    - `description` string, nullable
    - `amount` number, required
    - `quantity` number, required
    - `exempt` boolean
    - `tax` number, nullable
    - `tax_percent` number, nullable
    - `total` number
    - `discount` number, nullable
    - `discount_scheme` '%' | '$', nullable
    - `code` string, nullable
    - `code_scheme` string, nullable
    - `retention` number, nullable
    - `retention_percent` number
  - `created` string, date-time
  - `updated` string, date-time

---

[API](https://skmtc.net/piriod/apis/piriod-api.md) · [All operations](https://skmtc.net/piriod/apis/piriod-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/piriod/piriod-api/versions/70cbc827dc7b/schema)
