Estados de propuesta
Los estados se guardan en minúsculas.
Leer propuestas
- Los borradores no enviados de los proveedores siempre se excluyen de los listados.
- Si el contacto de tu clave de API tiene restricción por ubicación, solo ves propuestas de las ubicaciones accesibles. Un contacto con un conjunto accesible vacío obtiene una página vacía, no un error.
- La lectura individual devuelve
404para propuestas eliminadas de forma lógica, borradores y propuestas fuera de tu alcance de ubicación. Trata404como “no visible para ti”, no necesariamente como “no existe”.
Dentro de una propuesta
El dinero se descompone en las mismas secciones que las facturas:laborLineItems, materialLineItems, travelLineItems, freightLineItems y miscLineItems, cada sección con su propia tasa de impuestos y ...TotalBeforeTax, que se suman a totalBeforeTax, tax y totalAfterTax. Los valores monetarios se serializan como cadenas; parséalos como decimales, no como floats, si vas a hacer aritmética.
Otros campos útiles: workOrderId, supplierFacilityId, workOrderNTEBeforeApproval (el not-to-exceed de la orden de trabajo al momento del envío), proposalPdfLink, attachments, submittedAt y approvedAt.
Dónde encajan las propuestas en el flujo
- El proveedor envía una propuesta; la orden de trabajo suele pausarse a la espera de aprobación.
- Tus aprobadores la otorgan o la rechazan en la app. Otorgarla eleva el techo de gasto efectivo para el trabajo.
- Cuando llega la factura final, compara
invoiceTotalAfterTaxcon eltotalAfterTaxde la propuesta otorgada antes de aprobar el pago. Marca las variaciones por encima de tu tolerancia para revisión humana.
status=pending, ordena por submittedAt y pagina con limit=25, respetando el límite de tasa de 10 solicitudes por ventana de 20 segundos.