Órdenes de compra
Cerrar una orden de compra
Cierra una orden emitida con lo pendiente, con un motivo opcional: se cancela lo no recibido. Se rechaza si una recepción en borrador retiene cantidades o si no queda nada pendiente.
POST/api/v1/purchase-orders/close
- Permiso
purchase-orders.close- Empresa
- Opera sobre la empresa activa
- Tipo
- Escritura: pide Idempotency-Key
- Respuesta
- JSON
Encabezados
CookietextorequeridoLa cookie de sesión del usuario de la integración (
__Secure-erp.session_token). Cuando esté la clave API, va enAuthorization: Bearer. Ver Autenticación.X-Expected-CompanyuuidrequeridoLa empresa sobre la que operás. Si no coincide con la de la credencial, responde 409. Ver Empresa activa.
Idempotency-KeytextorequeridoUna clave única por intento, de hasta 255 caracteres. Reintentar con la misma clave y los mismos datos devuelve el mismo resultado sin repetir la operación. Ver Idempotencia.
Cuerpo
JSON con Content-Type: application/json.
purchaseOrderIduuidrequeridoversionenterorequeridomínimo 1
reasontextoadmite nullhasta 500 caracteres
Respuesta
200 con este JSON.
iduuidrequeridonumbertextorequeridostatusopciónrequeridoValores:
draftissuedcloseddiscardedorderTypeopciónrequeridoValores:
domesticimportservicesdocumentDatefecharequeridoexpectedDatefecharequeridoadmite nullsupplierobjetorequeridoCampos (4)
iduuidrequeridocodeenterorequeridolegalNametextorequeridocuitcualquierarequerido
currencyCodetextorequeridonetTotaltextorequeridoreceivingProgressopciónrequeridoadmite nullValores:
not-receivedpartialreceivedinvoicingProgressopciónrequeridoadmite nullValores:
not-invoicedpartialinvoicedwithDifferencessí o norequeridoversionenterorequeridomínimo 1
warehouseobjetorequeridoCampos (4)
iduuidrequeridocodetextorequeridonametextorequeridostatusopciónrequeridoValores:
activeinactive
agreedExchangeRatecualquierarequeridopaymentTermobjetorequeridoadmite nullCampos (3)
iduuidrequeridonametextorequeridostatusopciónrequeridoValores:
activeinactive
paymentPlanlista de objetorequeridoadmite nullCampos de cada elemento (2)
percentnúmerorequeridodueDaysenterorequerido
paymentPlanTexttextorequeridonotescualquierarequeridolineslista de objetorequeridoCampos de cada elemento (15)
iduuidrequeridoitemobjetorequeridoCampos (7)
iduuidrequeridocodetextorequeridonametextorequeridostatusopciónrequeridoValores:
activeinactiveunitCodetextorequeridounitNametextorequeridoallowsDecimalssí o norequerido
isImportedsí o norequeridosupplierCodecualquierarequeridoquantitynúmerorequeridounitPricecualquierarequeridopriceSourceopciónrequeridoValores:
supplier-itemmanualdiscountPercentnúmerorequeridonetAmounttextorequeridovatRatecualquierarequeridoreceivedQuantitynúmerorequeridoinReceiptQuantitynúmerorequeridopendingQuantitynúmerorequeridoinvoicedQuantitynúmerorequeridocustomsDeclarationslista de textorequerido
totalsobjetorequeridoCampos (3)
nettextorequeridovatlista de objetorequeridoCampos de cada elemento (3)
ratenúmerorequeridobasetextorequeridoamounttextorequerido
totaltextorequerido
receiptslista de objetorequeridoCampos de cada elemento (6)
iduuidrequeridonumbertextorequeridoreceiptDatefecharequeridostatusopciónrequeridoValores:
draftcloseddiscardedreversalopciónrequeridoValores:
nonepartialtotalsupplierDeliveryNotecualquierarequerido
invoiceslista de objetorequeridoCampos de cada elemento (5)
iduuidrequeridonumbertextorequeridolabeltextorequeridototalcualquierarequeridocurrencyCodetextorequerido
createdAtfecha y horarequeridocreatedByobjetorequeridoadmite nullCampos (2)
idtextorequeridonamecualquierarequerido
issuedAtfecha y horarequeridoadmite nullissuedByobjetorequeridoadmite nullCampos (2)
idtextorequeridonamecualquierarequerido
closedAtfecha y horarequeridoadmite nullclosedByobjetorequeridoadmite nullCampos (2)
idtextorequeridonamecualquierarequerido
closeReasoncualquierarequeridodiscardedAtfecha y horarequeridoadmite nulldiscardedByobjetorequeridoadmite nullCampos (2)
idtextorequeridonamecualquierarequerido
discardReasoncualquierarequerido
Errores
Un rechazo responde application/problem+json con un code estable. Los más comunes en esta operación:
401 | Falta la credencial o venció. |
403 | La credencial no tiene el permiso purchase-orders.close. |
409 | La empresa activa no es la de X-Expected-Company. |
409 | Otra persona cambió el registro desde que lo leíste (record.stale). |
422 | Datos inválidos o una regla de negocio rota, con el detalle por campo. |
503 | Sistema ocupado: reintentá después de Retry-After segundos. |
La lista completa está en Errores.