---
title: "Recibir orden de compra"
method: POST
path: "/api/v1/purchase-orders/{purchase_order_id}/receipts"
tags: ["API"]
---

# Recibir orden de compra

`POST /api/v1/purchase-orders/{purchase_order_id}/receipts`

## Request

- Base URL: `https://api.lapyme.com.ar`
- URL: `https://api.lapyme.com.ar/api/v1/purchase-orders/{purchase_order_id}/receipts`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/lapyme/apis/la-pyme-api/docs/api/v1/purchase-orders/:purchase_order_id/receipts/post.ts> (a function with typed inputs; its response is checked against the schema)

Registra la recepción de líneas de una orden de compra confirmada. Requiere Idempotency-Key.

## Path parameters

- `purchase_order_id` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- ApiPurchaseOrderReceiptRequest
  - `items` object[], required
    - `purchase_order_item_id` string, uuid, required
    - `product_id` string, uuid, required
    - `received_quantity` number, required

## Response `200`

Recepción creada exitosamente

- ApiPurchaseOrderReceiptResponse
  - `request_id` string, required
  - `data` object, required
    - `receipt` object, required
      - `object` 'receipt', required
      - `id` string, required
      - `purchase_order_warehouse_id` string, uuid, nullable, required
      - `affected_products` object[], required
        - `sku` string, required
        - `warehouse_id` string, required
    - `purchase_order` ApiSharedObjecteffe384a18, required
      - `object` 'purchase_order', required
      - `id` string, uuid, required
      - `order_number` integer, required
      - `formatted_order_number` string, nullable, required
      - `status` 'draft' | 'sent' | 'partially_received' | 'received' | 'closed' | 'cancelled', required
      - `order_date` string, date, required
      - `expected_date` string, date, nullable, required
      - `currency` string, required
      - `supplier` ApiSharedObjectfaafd59b8b, required
        - `id` string, uuid, required
        - `name` string, required
        - `description` string, nullable, required
        - `email` string, nullable, required
        - `phone` string, nullable, required
        - `tax_id_type` string, nullable, required
        - `tax_id` string, nullable, required
        - `tax_category` string, nullable, required
        - `payment_term_id` string, nullable, required
        - `payment_term_days` integer, nullable, required: Cantidad de días hasta el vencimiento. Usá 0 para Contado. Se prefiere sobre paymentTermId.
        - `address` string, nullable, required
        - `apartment` string, nullable, required
        - `city` string, nullable, required
        - `province` string, nullable, required
        - `postal_code` string, nullable, required
      - `warehouse` ApiSharedObject8aeeceaf0f, required
        - `id` string, uuid, required
        - `name` string, required
      - `created_at` string, date-time, required
      - `tags` ApiSharedObjected3905a55b[], required
        - `object` 'tag', required
        - `id` string, uuid, required
        - `scope` 'customer' | 'supplier' | 'product' | 'sale' | 'purchase' | 'purchase_order' | 'transfer', required
        - `name` string, required
        - `slug` string, required
        - `color` 'slate' | 'red' | 'orange' | 'amber' | 'yellow' | 'lime' | 'green' | 'teal' | 'cyan' | 'blue' | 'indigo' | 'violet' | 'pink', required
        - `description` string, nullable, required
        - `archived_at` string, date-time, nullable, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
      - `warehouse_id` string, uuid, nullable, required
      - `notes` string, nullable, required
      - `items` ApiSharedObjecta50ed243b8[], required
        - `id` string, uuid, required
        - `ordered_quantity` number, nullable, required
        - `received_quantity` number, required
        - `expected_unit_cost` integer, nullable, required
        - `product` ApiSharedObject15e53f9372, required
          - `id` string, uuid, required
          - `name` string, required
          - `sku` string, nullable, required
          - `product_type` 'product' | 'service' | 'combo' | 'kit', required
          - `variant_options` object, nullable, required
          - `option_names` string[], nullable, required
    - `idempotent_replay` boolean, required
  - `warnings` unknown[], required
    - unknown

## Other responses

- `400`: Solicitud inválida
- `401`: API key faltante o inválida
- `403`: Scopes insuficientes
- `404`: Orden de compra no encontrada
- `409`: Conflicto de idempotencia o de negocio
- `429`: Límite de solicitudes excedido para la organización
- `500`: Error interno del servidor
- `503`: Verificación de credenciales temporalmente ocupada; reintentá sin cambiar la operación ni su Idempotency-Key.

## Changes

- **2026-11-03** `ed0d46e68fbe`: 5 breaking, 15 info
  - the response property `data/purchase_order/formatted_order_number` became nullable for the status `200`
  - the response property `data/purchase_order/items/items/ordered_quantity` became nullable for the status `200`
  - the response property `data/purchase_order/items/items/product/sku` became nullable for the status `200`
  - the response property `data/purchase_order/notes` became nullable for the status `200`
  - …16 more

[Operation history](https://skmtc.dev/lapyme/apis/la-pyme-api/changes/api/v1/purchase-orders/:purchase_order_id/receipts/post.md)

---

[API](https://skmtc.dev/lapyme/apis/la-pyme-api.md) - [All operations](https://skmtc.dev/lapyme/apis/la-pyme-api/llms.txt) - [OpenAPI document](https://skmtc.dev/lapyme/apis/la-pyme-api/revisions/215b7df5c07b?raw)
