Recebimento
Lista recebimentos com filtros
Lista paginada (1 000/página) dos recebimentos da empresa. Aplica ACL de CD (`UserCompanyDistributionCenter` Redis) e — quando `AllowOnlyUserSupplierCategorySet=1` — restringe por categorias de fornecedor do usuário.
Cria novo recebimento
Cria um recebimento em status `0` (Aberto). Quando `IDBuyOrder` é informado, vincula o pedido de compra e ajusta seu status para `1` (Recebimento iniciado), além de marcar as contas a pagar do pedido com este `IDPurchase`.
Detalhe do recebimento (com itens e pagamentos)
Detalhe completo. Sem `?ItemsInvoice=1`, retorna o objeto com `Items`, `Payments` e — quando há pedido de compra vinculado — `ItemsBuyOrder` para conciliação. Com `?ItemsInvoice=1`, retorna apenas os produtos do XML importado (`StockKeepingUnitPurchaseXmlProduct`) com descrições de CST/CFOP carregadas do Redis.
Atualiza recebimento (incluindo aprovações)
Atualiza campos do recebimento. Campos do XML (`dhEmi`/`nNF`/`chNFe`/`natOp`/`NFeType`/`NFeFin`) só editáveis quando o XML não tem protocolo SEFAZ.
Cancela o recebimento (status → 2)
Soft-delete: marca o recebimento como **Cancelada** (status 2). Apaga movimentos de estoque, contas a pagar e XML importado. Só permitido em status `0` (Aberto). Bloqueado se existe conta a pagar com extrato bancário vinculado.
Processa XML da NF-e no recebimento (PHP)
Handler PHP. Recebe XML cru de NF-e (`<NFe>` + `<protNFe>`) e popula `StockKeepingUnitPurchaseXml`, `StockKeepingUnitPurchaseXmlProduct`, `StockKeepingUnitPurchaseXmlPayment`, `StockKeepingUnitMovement`, `StockKeepingUnitBatch`, `StockKeepingUnitLocation`, `AccountsPayableReceivable` (1432 linhas, ~50 validações).
Gera etiqueta do recebimento (ZPL ou PDF)
Handler PHP. Gera etiquetas dos itens via Labelary API (PDF) ou retorna ZPL puro. Modelo da etiqueta vem de `IDCompanyLabel`.
Histórico de alterações do recebimento
Retorna o log auditoria (`StockKeepingUnitPurchaseLog`) ordenado decrescente — quem fez, quando, o que mudou (diff).
Finaliza o recebimento (entra estoque + side effects)
**Coração do recebimento** — endpoint mais complexo do módulo. Encerra o ciclo, entra estoque e dispara cadeia de efeitos:
Cria recebimento a partir de NF do Feed, pedido próprio ou XML cru
Wrapper para criar e popular o recebimento em um único chamado. Resolve o XML de 3 fontes:
Pagamento
3 itens
Sku
3 itens
Verificação
6 itens