Skip to main content
POST
/
api
/
v1
/
purchases
curl --request POST \
  --url https://api.lapyme.com.ar/api/v1/purchases \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --data '
{
  "supplier_id": "afafcbec-9d94-4174-8d5c-ec8d72780947",
  "voucher_type": 1,
  "supplier_invoice_number": "0001-00000001",
  "invoice_date": "2026-03-10",
  "currency": "PES",
  "exchange_rate": 1,
  "products_received": false,
  "update_product_variant_cost": true,
  "items": [
    {
      "product_id": "9c692e8b-0f9a-4f7c-8b99-061a2eb188ae",
      "quantity": 1,
      "unit_cost": 8250,
      "tax_rate_id": 5
    }
  ]
}
'
{
  "request_id": "req_purchase_commit_1",
  "data": {
    "purchase_id": "cf19b3ae-4c08-48be-b9d7-e6f2f5baf609",
    "receipt_created": false,
    "idempotent_replay": false,
    "normalized_purchase": {
      "supplier_id": "afafcbec-9d94-4174-8d5c-ec8d72780947",
      "voucher_type": 1,
      "supplier_invoice_number": "0001-00000001",
      "invoice_date": "2026-03-10",
      "account_date": null,
      "due_date": null,
      "payment_term_id": null,
      "import_document_role": null,
      "import_source_purchase_id": null,
      "import_nationalization_status": null,
      "customs_dispatch_number": null,
      "warehouse_id": null,
      "products_received": false,
      "update_product_variant_cost": true,
      "currency": "PES",
      "exchange_rate": 1,
      "subtotal": 8250,
      "tax_amount": 1733,
      "total": 9983,
      "discount": 0,
      "exempt_amount": 0,
      "non_taxed_amount": null,
      "base_amount": null,
      "vat_perception_amount": null,
      "national_tax_amount": null,
      "gross_income_tax_amount": null,
      "municipal_tax_amount": null,
      "internal_tax_amount": null,
      "other_tax_amount": null,
      "notes": null,
      "pdf_path": null,
      "items": []
    },
    "projected_effects": {
      "inventory": {
        "will_receive_products": false,
        "will_create_receipt": false,
        "will_increase_direct_stock": false,
        "warehouse_id": null,
        "product_line_count": 1,
        "total_quantity": 1,
        "purchase_order_ids": []
      },
      "accounting": {
        "will_create_journal_entry": true,
        "currency": "PES",
        "exchange_rate": 1
      }
    }
  },
  "warnings": []
}

Authorizations

Authorization
string
header
required

Incluí tu API key en el header Authorization con el prefijo Bearer.

Headers

Idempotency-Key
string
required

Clave única para evitar duplicados al reintentar la misma creación de compra.

X-Request-Id
string

ID opcional de la solicitud para trazabilidad. Si se omite, el servidor genera uno.

Body

application/json
voucher_type
integer
required
Required range: x >= 1
currency
enum<string>
required
Available options:
PES,
DOL
supplier_id
string<uuid>
import_document_role
enum<string> | null

Rol del comprobante dentro del flujo de importacion.

Available options:
commercial_invoice,
customs_dispatch,
customs_dispatch_reversal
import_source_purchase_id
string<uuid>

ID de la factura comercial asociada al despacho aduanero.

import_nationalization_status
enum<string> | null

Estado de nacionalizacion de la factura comercial de importacion.

Available options:
pending_nationalization,
partially_nationalized,
fully_nationalized
customs_dispatch_number
string

Numero de despacho aduanero informado por el proveedor. Hasta 32 caracteres.

supplier_invoice_number
string

Numero de comprobante del proveedor. Hasta 120 caracteres.

invoice_date
string<date>

Fecha del comprobante en formato YYYY-MM-DD.

account_date
string<date>

Fecha contable de la compra en formato YYYY-MM-DD.

due_date
string<date>

Fecha de vencimiento en formato YYYY-MM-DD.

payment_term_id
enum<string> · null · null
Available options:
days_7,
days_15,
days_30,
days_45,
days_60,
days_90,
days_30_60,
days_30_60_90
vat_perception_amount
integer
Required range: x >= 0
national_tax_amount
integer
Required range: x >= 0
gross_income_tax_amount
integer
Required range: x >= 0
gross_income_tax_breakdown
object[]
municipal_tax_amount
integer
Required range: x >= 0
internal_tax_amount
integer
Required range: x >= 0
other_tax_amount
integer
Required range: x >= 0
warehouse_id
string<uuid> | null
products_received
boolean
update_product_variant_cost
boolean
items
object[]
subtotal
integer
Required range: x >= 0
tax_amount
integer
Required range: x >= 0
total
integer
Required range: x >= 0
discount
integer
Required range: x >= 0
exempt_amount
integer
Required range: x >= 0
non_taxed_amount
integer
Required range: x >= 0
base_amount
integer
Required range: x >= 0
vat_breakdown
object[]
manual_account_allocations
object
notes
string
exchange_rate
number
pdf_path
string
vat_category
enum<string> | null
Available options:
goods,
fixed_assets,
leases,
services
status
enum<string>
Available options:
draft,
confirmed

Response

Compra creada exitosamente

request_id
string
required
data
object
required
warnings
object[]
required