Orçamento de Importação — Guia de Integração via API

Montar, calcular, alterar e excluir o Orçamento de Importação (CEIORC1 a CEIORC4) e gerar o Processo de Importação a partir dele

1. Introdução

Esta página é uma documentação complementar ao dicionário automático da API do ERP Spalla. Ela descreve a ordem operacional em que o integrador externo (ou um agente de IA) deve executar as chamadas para montar um Orçamento de Importação completo — cabeçalho, itens, adições e despesas —, calculá-lo, conferi-lo, alterá-lo, excluí-lo e, por fim, gerar o Processo de Importação a partir dele.

Se ainda não leu a página central do módulo COMEX Importação, leia antes: a regra de fronteira e a configuração da instância valem para todas as páginas do módulo.

O processo também nasce de Ordens de Compra de importação, sem que você monte o orçamento: a rotina CEI_RES_GERAR_IMPORTACAO_OC monta e calcula o orçamento e gera o processo, e está descrita na página do Processo de Importação.

O orçamento ocupa quatro tabelas de gravação e três de apoio:

TabelaConteúdoNesta página
CEIORC1Cabeçalho: cliente, modelo de processo, moeda e cotação, INCOTERM, datas previstas e formação do preço.Inclusão, alteração, exclusão
CEIORC2Itens: produto, NCM, quantidade e preço na moeda negociada; depois do cálculo, FOB, frete, seguro, tributos e custo.Inclusão, alteração, exclusão
CEIORC3Adições: o agrupamento dos itens por NCM, com fornecedor, fabricante e percentuais de tributo.Complemento, inclusão alternativa, exclusão
CEIORC4Despesas e receitas do orçamento: as do modelo de processo e as avulsas.Ajuste, inclusão, exclusão
CEIORC5, CEIORC6Vínculos dos itens com o Orçamento para Cliente e com a Ordem de Compra.Somente leitura
CEIORCVARVariáveis do orçamento.Leitura e exclusão

Duas rotinas completam o fluxo: CEI_PRC_CALCULAORCAMENTO, que calcula o orçamento, e CEI_PRC_GERAPROCESSORCAMENTO, que gera o processo.

O ponto central desta página. A tela do ERP preenche vários campos a partir do modelo de processo e do produto escolhidos. Pela API, esses campos são responsabilidade de quem integra. Cada passo de gravação traz a tabela A tela preenche, a API não — envie você, com a origem de cada valor.

Esta página não substitui o dicionário oficial da sua instância. A lista completa de campos, os tipos de dados, a obrigatoriedade e a estrutura de retorno estão no dicionário e devem ser consultados lá.

2. Onde encontrar o dicionário oficial da sua API

Esta documentação é complementar. A fonte da verdade sobre campos, parâmetros, tipos, domínios e verbos liberados é o dicionário da sua instância, gerado a partir do que o seu token alcança. A explicação de como chegar a ele está na página central do módulo.

3. Como a API funciona

Todas as requisições vão para um único endpoint, /root/integrador, e a operação é definida pelo campo "method" do corpo JSON, não pelo verbo HTTP. Os métodos usados nesta página:

methodObjetosPara que serve aquiPassos
GETTABLE, VIEWLer o modelo, o produto, as adições, as despesas, os totais e o processo gerado.2, 5, 6, 8, 12
POSTTABLEIncluir o cabeçalho, os itens e as despesas avulsas.3, 4, 6
PUTTABLECompletar as adições, ajustar as despesas e alterar o orçamento.5, 6, 9
DELETETABLEExcluir item, adição, despesa, variável ou o orçamento inteiro.10
PATCHPROCEDURECalcular o orçamento e gerar o processo.7, 11

Não confunda os dois níveis. O verbo HTTP da requisição de gravação é sempre PATCH; a operação é o campo "method" do JSON. Uma inclusão em CEIORC1 é uma requisição HTTP PATCH cujo corpo contém "method": "POST".

Dois pontos de formato que valem para a página inteira.

4. Visão geral do fluxo

Depois dos cadastros de retaguarda (Passo 1), o orçamento é montado e levado ao processo em nove operações via API, nesta ordem:

  1. Ler o modelo e o produto (GET) — os valores que a tela copiaria sozinha (Passo 2).
  2. Criar o cabeçalho (POST em CEIORC1). Na inclusão, o servidor cria as despesas do modelo que compõem o custo (Passo 3).
  3. Incluir os itens (POST em CEIORC2), um por produto. Cada item é encaixado numa adição, criada pelo servidor quando falta (Passo 4).
  4. Completar as adições (PUT em CEIORC3) com o fornecedor e o fabricante (Passo 5).
  5. Ajustar as despesas (GET, PUT e POST em CEIORC4; Passo 6).
  6. Calcular (PATCH em CEI_PRC_CALCULAORCAMENTO; Passo 7).
  7. Conferir o resultado (GET nas views de totais; Passo 8).
  8. Gerar o processo (PATCH em CEI_PRC_GERAPROCESSORCAMENTO; Passo 11).
  9. Conferir o processo gerado (GET em CEIORC1.PIM_COD e em CEIPROCESCAD; Passo 12).

Alteração (Passo 9) é um PUT seguido de novo cálculo: nada é recalculado sozinho, nem pela API nem pela tela. Exclusão (Passo 10) vai das tabelas filhas para o cabeçalho. Altere e exclua antes de gerar o processo: depois de gerado, as mudanças no orçamento não chegam ao processo.

O item vem antes da adição. A adição não precisa ser criada à parte: ao incluir um item sem adição, o servidor procura no orçamento uma adição da mesma NCM e do mesmo percentual de I.I. e, se não encontrar, cria uma nova. Por isso o Passo 4 (itens) precede o Passo 5 (adições).

5. Diagrama de execução

Convenção visual: azul (Retaguarda do ERP) · verde (Via API) · tracejado (retorno ao passo anterior, ou ramo de exclusão) · Pn = Passo n.

6. Aviso sobre liberação na retaguarda

Atenção — o que decide se este fluxo funciona na sua instância.

Antes do primeiro orçamento, os cadastros abaixo precisam existir e estar configurados no ERP. É deles que o servidor tira as despesas, os tributos, as datas e as parcelas do câmbio:

CadastroPor que importa
Modelo de Processo de Importação (CEIPROCESMODELO)Tem o tipo de movimento de nacionalização (TM_CODNAC), o de saída (TM_CODSAI) e as indicações de formação de preço (MDL_PRECO*), nove delas copiadas para o orçamento. É a origem dos valores que você copia no Passo 3. O TM_CODSAI do orçamento vem do modelo, no servidor.
Receitas e despesas previstas do modelo (CEIPROCESMODELO6)As despesas com impacto no custo (MDL_IMPCUSTO) de 1 a 4 nascem no orçamento na inclusão do cabeçalho; as demais, no cálculo. A pessoa (CF_COD) e a condição de pagamento (PZ_COD) de cada despesa definem a previsão financeira e a data prevista.
Tipo de movimento de entrada (TMOV)Define o tipo de importação (TM_TIPOIMPORTA) e a incidência do PIS/Cofins na base do ICMS (TM_PISCOFINSICMS). Com rateio por peso (valor 1) do frete (TM_IMPRAT_FRETE), do seguro (TM_IMPRAT_SEGURO), das despesas de entrada (TM_IMPRAT_DESPENT) ou dos acréscimos, deduções e variação cambial (TM_IMPRAT_ADVC), o cálculo exige peso bruto em cada item.
Tipos de despesa (CEIPROCESTPDOC) e o tipo de documento de cada um, com a data-base (TPDOC.TD_CODDATABASE)O cálculo define a data de previsão de cada despesa do modelo pela data-base do tipo de documento, somada ao prazo da condição de pagamento da despesa no modelo. No orçamento valem quatro data-bases, cada uma ligada a uma data do cabeçalho: 102 Previsão do Embarque (OCI_PREVISAOEMBARQUE), 104 Previsão de Chegada (OCI_PREVISAOCHEGADA), 106 Previsão de Entrega (OCI_DATAPREVENTREGA) e 108 Cadastro do Processo (OCI_DATCAD). Configure a data-base nos tipos de documento das despesas do modelo; sem ela, e com CG_FT_USAPREVIAFIN = 1, a geração do processo é recusada por falta de prazo (ver Validações e erros).
Produto (PROD, PRODNCM)A NCM (PD_CODNCM) do item precisa ser a do cadastro, quando o produto não é genérico. O peso do cadastro (do produto ou da equivalência da unidade) entra no item que vier sem peso. O percentual de I.I. (PD_PERCII do produto ou, na falta dele, da NCM) decide em qual adição o item cai.
Moeda (INDICES) e condição de pagamento com parcelas (PRAZO)Quando o modelo prevê a despesa de Contrato de Câmbio (tipo 100), a condição de pagamento do orçamento (PZ_COD) a divide em uma despesa por parcela.
Status de processo (CEISTATUSPROCESSO)Pelo menos um status de cada tipo: 1 Ativo, 2 Encerrado e 3 Cancelado. O processo gerado no Passo 11 nasce com o status de tipo Ativo de menor código.
Pessoas (CLIFOR1)O cliente do orçamento, o fornecedor e o fabricante de cada adição e as pessoas das despesas. Com CG_PIM_SUGESTAOCODIGO = 2, o cliente precisa da sigla de processo (CF_PREFIXOPROCESSO). Ver Cadastro de Pessoas.
Configuração da instânciaCG_FT_USAPREVIAFIN e CG_PIM_SUGESTAOCODIGO — ver a seção 6 e a configuração da instância na página central.

Esses cadastros são mantidos pela operação dentro do próprio ERP. Para conhecer os objetos exatos e as chaves aceitas, consulte o dicionário oficial da sua instância.

Na tela, escolher o modelo e o produto preenche vários campos do orçamento. Pela API, esse preenchimento é seu: leia os valores com "method": "GET" e copie-os nos Passos 3 e 4.

O que ler e para onde vai

LeiaOndeEnvie em
TM_CODNACCEIPROCESMODELO, por MDL_CODCEIORC1.TM_CODENT
TM_TIPOIMPORTA do tipo de movimento TM_CODNACTMOV, por TM_CODCEIORC1.OCI_TIPOIMPORTA
MDL_PRECOCIF, MDL_PRECOII, MDL_PRECOIPI, MDL_PRECOPISCOFINS, MDL_PRECOANTIDUMPING, MDL_PRECOICMSNACIO, MDL_PRECOAFRMM, MDL_PRECODESPESAENTRADA, MDL_PRECODESPESASAIDACEIPROCESMODELOAs nove OCI_PRECO* de mesmo sufixo, uma a uma (ver o Passo 3)
As despesas previstasCEIPROCESMODELO6, por MDL_CODReferência para o Passo 6: são elas que vão nascer no orçamento
PD_CODNCM, PD_UNI3, PD_DES, PD_GENERICOPROD, por PD_CODCEIORC2.PD_CODNCM, OCI_UNI e OCI_DESCRICAO (ver o Passo 4)

O modelo também tem condição de pagamento (PZ_COD) e responsável (VD_COD). A tela não os copia para o orçamento; se a sua operação usa os do modelo, copie-os você.

Exemplo — GET CEIPROCESMODELO

{
    "method": "GET"
    ,"objectType": "TABLE"
    ,"objectName": "CEIPROCESMODELO"
    ,"fields": [
        "TM_CODNAC"
        ,"TM_CODSAI"
        ,"PZ_COD"
        ,"VD_COD"
        ,"MDL_PRECOCIF"
        ,"MDL_PRECOII"
        ,"MDL_PRECOIPI"
        ,"MDL_PRECOPISCOFINS"
        ,"MDL_PRECOANTIDUMPING"
        ,"MDL_PRECOICMSNACIO"
        ,"MDL_PRECOAFRMM"
        ,"MDL_PRECODESPESAENTRADA"
        ,"MDL_PRECODESPESASAIDA"
    ]
    ,"where": [
        { "type": "field", "name": "MDL_COD", "value": 3 }
    ]
}

Com o TM_CODNAC devolvido, leia o tipo de importação:

{
    "method": "GET"
    ,"objectType": "TABLE"
    ,"objectName": "TMOV"
    ,"fields": [
        "TM_TIPOIMPORTA"
    ]
    ,"where": [
        // TM_CODNAC lido no modelo
        { "type": "field", "name": "TM_COD", "value": "E060" }
    ]
}

Valores ilustrativos. Os códigos desta página são exemplos. Use os cadastros da sua instância. A lista completa e autoritativa de campos de cada objeto está no dicionário oficial.

Erro comum — procurar o tipo de importação no modelo. O modelo não tem esse campo: o valor que a tela grava em OCI_TIPOIMPORTA é o TM_TIPOIMPORTA do tipo de movimento de nacionalização do modelo. Sem essa leitura, o orçamento fica sem tipo de importação, e o cálculo dos tributos considera o campo vazio.

Inclua o cabeçalho por uma requisição com "method": "POST" sobre CEIORC1.

Envie

CampoObservação
OCI_COD = 0Obrigatório e sempre presente. O servidor gera o código do orçamento e o devolve na resposta.
CF_CODObrigatório. Cliente do orçamento.
MDL_CODObrigatório. Modelo de processo lido no Passo 2.
ID_COD e OCI_IDCOTACAOMoeda e cotação do orçamento. Exigidas pelo cálculo.
OCI_INCOTERMExigido pelo cálculo. Domínio: CFR, CPT, CIF, CIP, FOB, FCA, EXW.
OCI_CODINTERNOCódigo de controle da empresa. Exigido para gerar o processo; não pode repetir o código interno de outro processo.
PZ_CODCondição de pagamento do câmbio. Envie já na inclusão: as parcelas do câmbio saem dela.
OCI_PREVISAOEMBARQUE, OCI_PREVISAOCHEGADA, OCI_DATAPREVENTREGAOpcionais, com T. São data-bases das despesas (Passo 1) e seguem para o processo. Envie as que os tipos de documento das despesas do modelo usam.
VD_COD, OCI_CODCLISAIOpcionais. Responsável e cliente da nota de saída.

A tela preenche, a API não — envie você

CampoO que a tela grava
FL_CODObrigatório. A empresa em que o usuário está logado.
TM_CODENTObrigatório. O TM_CODNAC do modelo.
OCI_DATCADA data do dia, com T. É a data-base 108 e o ponto de partida do prazo das previsões financeiras. Pela API, fica vazia se não for enviada.
OCI_TIPOIMPORTAO TM_TIPOIMPORTA do tipo de movimento TM_CODNAC. Domínio: 1 Conta e Ordem, 2 Encomenda, 3 Distribuição.
OCI_PRECOCIF, OCI_PRECOII, OCI_PRECOIPI, OCI_PRECOPISCOFINS, OCI_PRECOANTIDUMPING, OCI_PRECOICMSNACIO, OCI_PRECOAFRMM, OCI_PRECODESPESAENTRADA, OCI_PRECODESPESASAIDAAs indicações de formação de preço do modelo (0 não, 1 sim). Copie cada MDL_PRECO* para a OCI_PRECO* de mesmo sufixo — por exemplo, MDL_PRECOICMSNACIO para OCI_PRECOICMSNACIO e MDL_PRECOANTIDUMPING para OCI_PRECOANTIDUMPING. Sem elas, o preço base de saída do item (OCI_PRECOBASEITEM) sai zero.
OCS_CODOpcional. O primeiro status comercial cadastrado. Se a sua operação usa status comercial, combine o código com o gestor do ERP.

Não envie

CampoPor quê
TM_CODSAI, OCI_PISCOFINSICMSO servidor preenche na inclusão: o primeiro a partir do modelo, o segundo a partir do tipo de movimento de entrada. O valor enviado é substituído.
OCI_PBCARGA, OCI_PLCARGAPeso bruto e líquido da carga: o cálculo grava a soma dos itens.
PIM_COD, DIM_CODVínculos com o processo e com a declaração de importação. O PIM_COD é gravado pela geração do processo (Passo 11).

Exemplo — POST CEIORC1

{
    "method": "POST"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC1"
    ,"dataFields": [
        // numerado pelo servidor: sempre presente, com 0
        { "name": "OCI_COD",                 "value": 0 }
        ,{ "name": "FL_COD",                  "value": 1 }
        ,{ "name": "CF_COD",                  "value": 2150 }
        ,{ "name": "MDL_COD",                 "value": 3 }
        // TM_CODNAC do modelo
        ,{ "name": "TM_CODENT",               "value": "E060" }
        ,{ "name": "ID_COD",                  "value": 2 }
        ,{ "name": "OCI_IDCOTACAO",           "value": 5.4321 }
        ,{ "name": "OCI_INCOTERM",            "value": "FOB" }
        ,{ "name": "OCI_CODINTERNO",          "value": "IMP-2026-015" }
        ,{ "name": "PZ_COD",                  "value": 12 }
        ,{ "name": "OCI_DATCAD",              "value": "2026-09-28T00:00:00" }
        ,{ "name": "OCI_PREVISAOEMBARQUE",    "value": "2026-10-15T00:00:00" }
        ,{ "name": "OCI_PREVISAOCHEGADA",     "value": "2026-11-10T00:00:00" }
        // TM_TIPOIMPORTA do tipo de movimento TM_CODNAC
        ,{ "name": "OCI_TIPOIMPORTA",         "value": 3 }
        // as nove indicações de preço, copiadas uma a uma do modelo
        ,{ "name": "OCI_PRECOCIF",            "value": 1 }
        ,{ "name": "OCI_PRECOII",             "value": 1 }
        ,{ "name": "OCI_PRECOIPI",            "value": 0 }
        ,{ "name": "OCI_PRECOPISCOFINS",      "value": 1 }
        ,{ "name": "OCI_PRECOANTIDUMPING",    "value": 0 }
        ,{ "name": "OCI_PRECOICMSNACIO",      "value": 1 }
        ,{ "name": "OCI_PRECOAFRMM",          "value": 1 }
        ,{ "name": "OCI_PRECODESPESAENTRADA", "value": 1 }
        ,{ "name": "OCI_PRECODESPESASAIDA",   "value": 0 }
    ]
}

A resposta traz Registro inserido com sucesso e, em data, o OCI_COD gerado. Guarde-o: é a chave de todos os passos seguintes. Confira por GET em CEIORC1 os campos que o servidor preencheu (TM_CODSAI e OCI_PISCOFINSICMS).

O que a inclusão já faz. Ao incluir o cabeçalho, o servidor cria em CEIORC4 as despesas do modelo com impacto no custo de 1 a 4, com o valor previsto do tipo de despesa e a pessoa do modelo. Com PZ_COD informado, a despesa de câmbio do modelo sai em uma linha por parcela da condição. O Passo 6 parte dessas linhas.

Erro comum — omitir o OCI_COD. Sem o campo, a inclusão é recusada com O campo Auto-Incremente "OCI_COD" não foi encontrado na lista de campos para persistência!. Envie-o com 0. Se duas inclusões simultâneas receberem o mesmo número, a segunda é recusada por chave repetida: refaça o POST, de novo com 0.

Faça um POST em CEIORC2 para cada produto, apontando para o OCI_COD do Passo 3. Inclua todos os itens antes de completar as adições e de calcular.

Envie

CampoObservação
OCI_CODCódigo do orçamento, devolvido no Passo 3.
OCI_ITM = 0Obrigatório e sempre presente. O servidor numera o item dentro do orçamento.
PD_CODObrigatório. Código do produto.
OCI_QTDExigida pelo cálculo. Quantidade. Sem ela, o FOB do item sai zero.
OCI_PRECOMNEGExigido pelo cálculo. Preço unitário na moeda negociada. Sem ele, o FOB do item sai zero.
OCI_PESO, OCI_PESOLOpcionais. Peso bruto e líquido totais do item (não unitários). Vazios ou zero, o cálculo usa o peso do cadastro vezes a quantidade.
OCI_PDESCONTOMNEG ou OCI_VDESCONTOMNEGOpcionais. Percentual ou valor do desconto na moeda negociada. Basta um: o cálculo deriva o outro.

A tela preenche, a API não — envie você

CampoO que a tela grava
PD_CODNCMObrigatório. A NCM do produto (PROD.PD_CODNCM). Para produto não genérico (PD_GENERICO = 0), precisa ser igual à do cadastro.
OCI_UNIA unidade de controle do produto (PROD.PD_UNI3). Precisa existir em PRODUNI.
OCI_DESCRICAOA descrição do produto (PROD.PD_DES), que pode ser detalhada depois.

Não envie

CampoPor quê
OCI_ADICAOOmita. O servidor procura no orçamento uma adição com a mesma NCM e o mesmo percentual de I.I. do item; se não encontrar, cria uma adição nova, ainda sem fornecedor, que você completa no Passo 5.
FOB, frete, seguro, CIF, bases e valores de tributo, OCI_TOTALITEM, OCI_VLRCUSTOITEM, OCI_PRECOBASEITEM, OCI_VLRCUSTOGERITEMCalculados pelo servidor no Passo 7.

Exemplo — POST CEIORC2 (um item)

{
    "method": "POST"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC2"
    ,"dataFields": [
        { "name": "OCI_COD",       "value": 1024 }
        // numerado pelo servidor: sempre presente, com 0
        ,{ "name": "OCI_ITM",       "value": 0 }
        ,{ "name": "PD_COD",        "value": 4521 }
        // lidos em PROD: PD_CODNCM, PD_UNI3 e PD_DES
        ,{ "name": "PD_CODNCM",     "value": "84713012" }
        ,{ "name": "OCI_UNI",       "value": "UN" }
        ,{ "name": "OCI_DESCRICAO", "value": "Notebook 14 polegadas" }
        ,{ "name": "OCI_QTD",       "value": 200 }
        ,{ "name": "OCI_PRECOMNEG", "value": 85.50 }
        // peso bruto total do item; omita para usar o do cadastro
        ,{ "name": "OCI_PESO",      "value": 420.000 }
    ]
}

Repita para cada produto. Depois de incluir os itens, leia as adições (Passo 5) para saber quais foram criadas.

Caminho alternativo — itens da mesma NCM de fornecedores diferentes. O encaixe automático agrupa pela NCM e pelo percentual de I.I., sem olhar o fornecedor. Para separar, crie antes as adições por POST em CEIORC3, com OCI_ADICAO = 0 (sempre presente), OCI_COD, PD_CODNCM e CF_CODFOR, e informe no item o OCI_ADICAO devolvido. Nesse caminho, informe no item apenas adição da mesma NCM dele.

Exemplo — POST CEIORC3 (adição criada antes do item)

{
    "method": "POST"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC3"
    ,"dataFields": [
        { "name": "OCI_COD",    "value": 1024 }
        // numerado pelo servidor: sempre presente, com 0
        ,{ "name": "OCI_ADICAO", "value": 0 }
        ,{ "name": "PD_CODNCM",  "value": "84713012" }
        ,{ "name": "CF_CODFOR",  "value": 3310 }
    ]
}

Erro comum — NCM diferente da do cadastro. Para produto não genérico, a inclusão é recusada com Código NCM informado é diferente do cadastro do produto!. Envie o PD_CODNCM lido em PROD no Passo 2.

Leia as adições do orçamento com GET em CEIORC3, filtrando por OCI_COD, e grave o fornecedor em cada uma com um PUT. O cálculo recusa o orçamento enquanto alguma adição estiver sem fornecedor.

Envie

CampoObservação
OCI_COD e OCI_ADICAO, no whereOs dois com "key": true. Um where só com OCI_COD altera todas as adições do orçamento.
CF_CODFORFornecedor da adição. Exigido pelo cálculo em todas as adições, inclusive nas que tenham ficado sem item.
CF_CODFABOpcional. Fabricante.

A tela preenche, a API não — envie você

Nenhum campo: na adição, a tela também espera que o usuário informe o fornecedor e o fabricante.

Não envie

CampoPor quê
OCI_IPICMS, OCI_IPICMSTO servidor recalcula em toda gravação da adição, a partir do fornecedor e do tipo de movimento de entrada.
OCI_PERII, OCI_PERIPI, OCI_PERPIS, OCI_PERCOFINS, OCI_PICM, OCI_REDICM, OCI_PBCR, OCI_PICMST, OCI_PCTREDPIS, OCI_PCTREDCOFINSPercentuais de tributo: o cálculo os regrava.
A chave em dataFieldsOCI_COD e OCI_ADICAO vão só no where.

Exemplo — PUT CEIORC3 (uma adição)

{
    "method": "PUT"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC3"
    ,"dataFields": [
        { "name": "CF_CODFOR", "value": 3310 }
        ,{ "name": "CF_CODFAB", "value": 3311 }
    ]
    ,"where": [
        { "type": "field", "name": "OCI_COD",    "key": true, "value": 1024 }
        ,{ "type": "field", "name": "OCI_ADICAO", "key": true, "value": 1 }
    ]
}

Erro comum — esquecer uma adição. Basta uma adição sem fornecedor para o cálculo recusar com Fornecedor não informado em alguma Adição do Orçamento de Importação N.. Isso inclui a adição que ficou vazia depois da exclusão de itens: informe o fornecedor ou exclua a adição (Passo 10).

Leia as despesas com GET em CEIORC4, filtrando por OCI_COD: as do modelo com impacto no custo de 1 a 4 já estão lá desde o Passo 3. Ajuste as existentes com PUT e use POST só para despesa avulsa, que o modelo não prevê. As demais despesas do modelo entram no cálculo (Passo 7).

Envie

CampoObservação
OCI_COD e OCI_ITM, no where do PUTOs dois com "key": true. Um where só com OCI_COD altera todas as despesas.
OCI_ITM = 0 e TDP_COD, no POSTObrigatórios na despesa avulsa. O servidor numera o OCI_ITM.
O valor: OCI_VALORMNAC, ou OCI_VALORMNEG com ID_COD e OCI_IDCOTACAOValor em moeda nacional, ou valor em moeda negociada com a moeda e a cotação. Nos tipos de despesa de importação (TDP_TIPODESPIMP de 100 a 199, ver CEI_VIEW_TIPODOCUMENTO), o cálculo converte o valor negociado para a moeda nacional, e cotação sem valor negociado é recusada. Nos demais tipos, envie também OCI_VALORMNAC: é ele que entra no custo e na previsão financeira.
CF_CODPessoa da despesa. Só a despesa com pessoa vira previsão financeira do processo.
OCI_IMPCUSTO, OCI_REEMBOLSO, OCI_INCIDEICMSImpacto no custo, conta corrente e incidência na base do ICMS. Nas despesas do modelo, já vêm do modelo. Domínios no dicionário oficial.
OCI_DATAPREVData de previsão, com T. Envie na despesa avulsa; na despesa do modelo, a data vem da data-base (Passo 1).

A tela preenche, a API não — envie você

Nenhum campo: a tela e a API gravam as despesas do mesmo jeito, e as despesas do modelo são criadas pelo servidor nos dois casos.

Não envie

CampoPor quê
Um POST de tipo de despesa que já está no orçamentoPara mudar uma despesa que já está no orçamento, use PUT: um POST do mesmo tipo inclui uma segunda despesa.
Valor e cotação das despesas calculadas pelo sistemaO cálculo grava: tributos de nacionalização (tipos de despesa de importação 103 a 106 e 128 a 130), câmbio (100, quando o orçamento tem condição de pagamento) e despesas de saída calculadas (200 a 205, 211 a 218 e 221). O tipo de cada despesa está em CEIPROCESTPDOC.TDP_TIPODESPIMP, e a lista dos tipos, em CEI_VIEW_TIPODOCUMENTO.
OCI_DATAPREV das despesas do modeloO cálculo define a data pela data-base do tipo de documento.
A chave em dataFields do PUTOCI_COD e OCI_ITM vão só no where.

Exemplo — PUT CEIORC4 (despesa do modelo)

{
    "method": "PUT"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC4"
    ,"dataFields": [
        { "name": "OCI_VALORMNAC", "value": 1850.00 }
        ,{ "name": "CF_COD",        "value": 3400 }
    ]
    ,"where": [
        { "type": "field", "name": "OCI_COD", "key": true, "value": 1024 }
        ,{ "type": "field", "name": "OCI_ITM", "key": true, "value": 2 }
    ]
}

Exemplo — POST CEIORC4 (despesa avulsa em moeda negociada)

{
    "method": "POST"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC4"
    ,"dataFields": [
        { "name": "OCI_COD",       "value": 1024 }
        // numerado pelo servidor: sempre presente, com 0
        ,{ "name": "OCI_ITM",       "value": 0 }
        ,{ "name": "TDP_COD",       "value": 45 }
        ,{ "name": "OCI_VALORMNEG", "value": 300.00 }
        ,{ "name": "ID_COD",        "value": 2 }
        ,{ "name": "OCI_IDCOTACAO", "value": 5.4321 }
        // 300.00 x 5.4321: informe quando o tipo não é de importação (100 a 199)
        ,{ "name": "OCI_VALORMNAC", "value": 1629.63 }
        ,{ "name": "OCI_IMPCUSTO",  "value": 1 }
        ,{ "name": "CF_COD",        "value": 3400 }
        ,{ "name": "OCI_DATAPREV",  "value": "2026-11-20T00:00:00" }
    ]
}

Erro comum — tipo que não é despesa. Na instância com CG_FT_USAPREVIAFIN = 0, a inclusão de um tipo que não é despesa de importação (TDP_DESPESA = 0 em CEI_VIEW_TIPODOCUMENTO) é recusada com O Tipo Financeiro T não é uma despesa adicional de importação. Escolha um tipo de despesa de importação.

Com itens, adições e despesas completos, execute a rotina CEI_PRC_CALCULAORCAMENTO por uma requisição com "method": "PATCH". Calcule depois de qualquer alteração e antes de gerar o processo.

Envie

ParâmetroDescrição
VOCI_CODCódigo do orçamento a calcular (CEIORC1.OCI_COD).

A tela faz, a API não — faça você

Depois de calcular, a tela relê o orçamento na hora. Pela API, a rotina não devolve valores: leia o resultado no Passo 8.

O que o cálculo grava

Exemplo — PATCH CEI_PRC_CALCULAORCAMENTO

{
    "method": "PATCH"
    ,"objectType": "PROCEDURE"
    ,"objectName": "CEI_PRC_CALCULAORCAMENTO"
    ,"params": [
        { "name": "VOCI_COD", "value": "1024" }
    ]
}

Sucesso sem cálculo. Orçamento inexistente, sem itens, sem modelo de processo ou sem tipo de movimento de entrada válidos faz a rotina terminar sem erro e sem calcular nada. Confirme sempre pelo Passo 8.

Erros comuns. O cálculo recusa o orçamento sem cotação, sem INCOTERM, com adição sem fornecedor, com item sem peso bruto quando o tipo de movimento rateia por peso, ou com despesa de tipo de importação que tem cotação e não tem valor negociado. As mensagens estão em Validações e erros.

Leia o resultado do cálculo com "method": "GET":

ObjetoFiltroO que traz
CEI_VIEW_ORCTOTALORCAMENTOOCI_CODTotais do orçamento: FOB, frete, seguro, CIF, bases e valores de tributo, peso e custo (OCI_TOT_*).
CEI_VIEW_ORCTOTALADICAOOCI_COD e OCI_ADICAOOs mesmos totais por adição. Adição sem item não aparece.
CEIORC2OCI_CODValores calculados de cada item.
CEIORC4OCI_CODDespesas com valores e datas de previsão.

Exemplo — GET CEI_VIEW_ORCTOTALORCAMENTO

{
    "method": "GET"
    ,"objectType": "VIEW"
    ,"objectName": "CEI_VIEW_ORCTOTALORCAMENTO"
    ,"fields": [
        "OCI_TOT_VALORFOBMNEG"
        ,"OCI_TOT_VALORFOBMNAC"
        ,"OCI_TOT_TOTALCIF"
        ,"OCI_TOT_VII"
        ,"OCI_TOT_VIPI"
        ,"OCI_TOT_VICMS"
        ,"OCI_TOT_VLRCUSTOITEM"
    ]
    ,"where": [
        { "type": "field", "name": "OCI_COD", "value": 1024 }
    ]
}

Sinal de que o cálculo não rodou: OCI_TOT_VALORFOBMNEG vazio ou zero. Nesse caso, confira o cabeçalho (modelo e tipo de movimento de entrada) e os itens, e calcule de novo.

Altere com "method": "PUT" na tabela do dado e calcule de novo (Passo 7): nada é recalculado sozinho, e a geração do processo parte do que estiver gravado no orçamento.

Regras do PUT. Envie em dataFields só os campos que mudam, sem a chave. No where, envie só as colunas da chave primária, todas com "key": true: OCI_COD em CEIORC1; OCI_COD e OCI_ITM em CEIORC2 e CEIORC4; OCI_COD e OCI_ADICAO em CEIORC3. Em CEIORC2, CEIORC3 e CEIORC4, um where só com OCI_COD altera todas as linhas do orçamento.

Envie

SituaçãoO que enviar
Quantidade, preço, peso ou desconto do itemPUT em CEIORC2 com os campos alterados.
Item novoPOST em CEIORC2 (Passo 4). Depois, leia as adições e informe o fornecedor em qualquer adição nova (Passo 5).
Cotação, moeda ou INCOTERMPUT em CEIORC1.
Troca de tipo de movimento de entradaTM_CODENT e, junto, OCI_PISCOFINSICMS (o TM_PISCOFINSICMS do tipo novo): o servidor só deriva esse campo na inclusão.

A tela preenche, a API não — envie você

SituaçãoO que a tela grava
Troca de modelo (MDL_COD)A tela copia de novo o TM_CODENT, o OCI_TIPOIMPORTA e as nove OCI_PRECO* do modelo novo. Pela API, o servidor atualiza só o TM_CODSAI: envie os demais no mesmo PUT, lidos como no Passo 2, incluindo o OCI_PISCOFINSICMS (o TM_PISCOFINSICMS do novo TM_CODENT, lido em TMOV). As despesas do modelo novo com impacto no custo de 1 a 4 são criadas só na inclusão do cabeçalho: inclua-as por POST (Passo 6) e exclua as do modelo anterior que não se aplicam. As demais entram no próximo cálculo.

Não envie

CampoPor quê
A chave em dataFieldsEla vai só no where.
TM_CODSAIO servidor o regrava a partir do modelo quando o MDL_COD muda.
Campos calculadosOs listados como "não envie" nos Passos 4 a 6: o próximo cálculo os regrava.

Exemplo — PUT CEIORC2 (quantidade de um item)

{
    "method": "PUT"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC2"
    ,"dataFields": [
        { "name": "OCI_QTD", "value": 250 }
    ]
    ,"where": [
        { "type": "field", "name": "OCI_COD", "key": true, "value": 1024 }
        ,{ "type": "field", "name": "OCI_ITM", "key": true, "value": 1 }
    ]
}

Erro comum — trocar a NCM de um item. A alteração da NCM de um item preso a uma adição de outra NCM é recusada com A NCM da adição informada é diferente da NCM do item!. Envie junto o OCI_ADICAO de uma adição da nova NCM, ou exclua o item e inclua-o de novo sem OCI_ADICAO.

Exclua com "method": "DELETE", das tabelas filhas para o cabeçalho. Exclua antes de gerar o processo (Passo 11).

Regra do DELETE. O where é aplicado como veio. Para excluir uma linha, envie a chave primária completa, com "key": true em cada campo. Em CEIORC2, CEIORC3 e CEIORC4, um where só com OCI_COD exclui todas as linhas do orçamento — é o que se usa para excluir o orçamento inteiro.

ExcluirComoEfeito e o que impede
ItemCEIORC2, por OCI_COD e OCI_ITMO vínculo do item com o Orçamento para Cliente e com a Ordem de Compra é excluído junto. A adição fica: se ficou vazia, exclua-a ou informe nela o fornecedor, senão o próximo cálculo é recusado.
AdiçãoCEIORC3, por OCI_COD e OCI_ADICAORecusada enquanto houver item nela: exclua os itens antes.
DespesaCEIORC4, por OCI_COD e OCI_ITMSem restrição. Uma despesa do modelo com impacto no custo diferente de 1 a 4 volta no próximo cálculo.
Orçamento inteiroNesta ordem, cada DELETE com where só por OCI_COD: CEIORC4 → CEIORC2 → CEIORC3 → CEIORCVAR → anexos → CEIORC1Numa tabela sem linhas, a resposta é O registro informado para DELETE nao existe: siga para a próxima. Remova os anexos pelo endpoint de anexos (Controle de Anexos): descubra o id_recurso do Orçamento de Importação com acao=recursos; liste os anexos com acao=listar, esse id_recurso e id_registro no formato OCI_COD; (por exemplo, 1024;, com o ponto e vírgula); e exclua cada id_arquivo devolvido.

Exemplo — DELETE CEIORC2 (um item)

{
    "method": "DELETE"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC2"
    ,"where": [
        { "type": "field", "name": "OCI_COD", "key": true, "value": 1024 }
        ,{ "type": "field", "name": "OCI_ITM", "key": true, "value": 2 }
    ]
}

Exemplo — DELETE CEIORC4 (todas as despesas do orçamento)

{
    "method": "DELETE"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC4"
    ,"where": [
        // só OCI_COD: exclui todas as despesas do orçamento
        { "type": "field", "name": "OCI_COD", "key": true, "value": 1024 }
    ]
}

Erro comum — excluir fora de ordem. O cabeçalho com despesas, itens, adições ou variáveis é recusado com Primary key for row in table 'CEIORC1' is referenced by foreign key 'FK_CEIORC4_CEIORC1' in table 'CEIORC4' (ou a variante da tabela filha que restou). O cabeçalho com anexos é recusado com Existem anexos vinculados a este registro.. Siga a ordem acima.

Com o orçamento calculado e conferido, gere o Processo de Importação executando CEI_PRC_GERAPROCESSORCAMENTO com "method": "PATCH". Faça todas as alterações e exclusões antes: depois de gerado, as mudanças no orçamento não chegam ao processo.

Envie

ParâmetroDescrição
POCI_CODCódigo do orçamento que dá origem ao processo (CEIORC1.OCI_COD).

A tela faz, a API não — faça você

Depois de gerar, a tela relê o código do processo no orçamento e abre o processo. Pela API, a rotina não devolve o código: leia-o no Passo 12.

Condições, nesta ordem

  1. O orçamento ainda não foi vinculado a um processo.
  2. Tem código interno (OCI_CODINTERNO).
  3. Tem itens.
  4. Foi calculado: a soma do FOB dos itens é diferente de zero.

O que a geração faz

Com CG_PIM_SUGESTAOCODIGO maior que zero, o código interno do processo é o que a configuração sugere, e não o OCI_CODINTERNO.

Exemplo — PATCH CEI_PRC_GERAPROCESSORCAMENTO

{
    "method": "PATCH"
    ,"objectType": "PROCEDURE"
    ,"objectName": "CEI_PRC_GERAPROCESSORCAMENTO"
    ,"params": [
        { "name": "POCI_COD", "value": "1024" }
    ]
}

Falha no meio não deixa processo pela metade. Se a geração for recusada em qualquer ponto — inclusive no cadastro das previsões financeiras —, nada fica gravado: nem o processo, nem o PIM_COD no orçamento. Corrija a causa e execute de novo.

Erro comum — despesa sem data de previsão. Com CG_FT_USAPREVIAFIN = 1, cada despesa com pessoa precisa de data de previsão, e a falta dela recusa a geração com a mensagem de prazo obrigatório listada em Validações e erros. Configure a data-base dos tipos de documento das despesas do modelo (Passo 1) e envie no cabeçalho a data que ela usa (Passo 3); na despesa avulsa, envie OCI_DATAPREV (Passo 6).

Leia o processo com "method": "GET", nesta ordem:

ObjetoFiltroO que conferir
CEIORC1OCI_CODPIM_COD: o código do processo gerado.
CEIPROCESCADPIM_CODO processo: descrição, código interno (PIM_CODINTERNO), status (PIM_STATUS), modelo e datas.
CEIPROCESPREVISAOPIM_CODAs provisões financeiras do processo, na instância com CG_FT_USAPREVIAFIN = 0.
DOCSPREVISAOPIM_CODAs previsões financeiras do processo, na instância com CG_FT_USAPREVIAFIN = 1.

Exemplo — GET CEIORC1 (código do processo)

{
    "method": "GET"
    ,"objectType": "TABLE"
    ,"objectName": "CEIORC1"
    ,"fields": [
        "PIM_COD"
    ]
    ,"where": [
        { "type": "field", "name": "OCI_COD", "value": 1024 }
    ]
}

Para operar o processo gerado (status, datas, títulos e consultas), siga pela página do Processo de Importação.

Validações e erros

As mensagens abaixo são as que o servidor devolve para este fluxo, na situação descrita. N é o código do orçamento; I, o item; T, o tipo de despesa (TDP_COD); P, o produto; Y, o processo; X, o valor envolvido (campo, código interno ou previsão financeira).

Como a mensagem chega. A tabela cita o texto com acentos, para facilitar a leitura. Na resposta da API, o texto chega sem acentos e precedido de um prefixo com a operação — na execução de rotina, Falha ao tentar resolver a requisicao (PATH). Erro:. Na exclusão, os acentos são mantidos. Compare pelo trecho característico, não pelo texto inteiro.

Gravação e exclusão

MensagemCausaO que fazer
O campo Auto-Incremente "X" não foi encontrado na lista de campos para persistência!A inclusão omitiu o campo numerado pelo servidor: OCI_COD, OCI_ITM ou OCI_ADICAO.Envie o campo com 0.
Registro já foi inserido… (seguida da tabela e da chave)Chave repetida, por exemplo em duas inclusões simultâneas.Refaça o POST com o campo numerado em 0.
Código NCM informado é diferente do cadastro do produto!A NCM do item difere da do produto não genérico.Envie o PD_CODNCM de PROD (Passo 4).
A NCM da adição informada é diferente da NCM do item!Troca de NCM num item preso a uma adição de outra NCM.Envie o OCI_ADICAO de uma adição da nova NCM, ou exclua e inclua o item de novo (Passo 9).
O Tipo Financeiro T não é uma despesa adicional de importaçãoCom CG_FT_USAPREVIAFIN = 0, inclusão de despesa de um tipo que não é despesa de importação.Use um tipo de despesa de importação (Passo 6).
Nao foram informados valores da chave primaria da tabelaPUT sem nenhum item com "key": true no where.Marque a chave primária com "key": true.
O registro informado para UPDATE nao existeO where do PUT não encontrou o registro.Confira a chave por GET.
O registro informado para DELETE nao existeO where do DELETE não encontrou linha.Confira a chave. Na exclusão do orçamento inteiro, siga para a próxima tabela.
Primary key for row in table 'CEIORC1' is referenced by foreign key 'FK_CEIORC4_CEIORC1' in table 'CEIORC4'Exclusão do cabeçalho com despesas. Há variantes para as demais filhas (FK_CEIORC2_CEIORC1, FK_CEIORC3_CEIORC1, FK_CEIORCVAR_CEIORC1) e para a adição com itens (FK_CEIORC2_CEIORC3).Siga a ordem do Passo 10.
Existem anexos vinculados a este registro.Exclusão do cabeçalho com anexos.Remova os anexos pelo endpoint de anexos (Controle de Anexos).

Cálculo

MensagemCausaO que fazer
Cotação não foi informada no Orçamento de Importação N.OCI_IDCOTACAO vazio ou zero.PUT em CEIORC1 com ID_COD e OCI_IDCOTACAO, e calcule.
Código INCOTERM não foi informado no Orçamento de Importação N.OCI_INCOTERM vazio.PUT em CEIORC1 com o INCOTERM, e calcule.
Fornecedor não informado em alguma Adição do Orçamento de Importação N.Alguma adição sem CF_CODFOR, inclusive uma que ficou sem item.PUT com o fornecedor (Passo 5), ou exclua a adição vazia.
O item I do Orçamento de Importação N esta sem a informação do "Peso Bruto". Informe o peso bruto do item ou verifique o cadastro do produto PO tipo de movimento rateia por peso, e o item e o produto estão sem peso bruto.Envie OCI_PESO no item, ou peça à retaguarda o peso no cadastro do produto.
O item I de despesa/receitas do Orçamento de Importação N esta sem a informação do "Valor da Moeda Negociada". Verifique a configuração.Despesa de tipo de importação (100 a 199) com cotação e sem valor na moeda negociada.Envie OCI_VALORMNEG, ou deixe a despesa só com OCI_VALORMNAC, sem cotação.

Geração do processo

MensagemCausaO que fazer
O orçamento de importação N já esta vinculado ao processo de importação YO processo deste orçamento já foi gerado.Leia o PIM_COD (Passo 12).
O orçamento de importação N esta sem a informação do código internoOCI_CODINTERNO vazio.PUT em CEIORC1 com o código interno.
O orçamento de importação N não possui itens informadosOrçamento sem itens.Inclua os itens (Passo 4) e calcule.
O orçamento de importação N ainda não foi calculadoA soma do FOB dos itens é zero.Calcule (Passo 7).
O código interno X já foi utilizado no processo YOutro processo já tem esse código interno.Altere o OCI_CODINTERNO e gere de novo.
Configure uma Sigla única para o Cliente deste Processo antes de SalvarCom CG_PIM_SUGESTAOCODIGO = 2, o cliente não tem sigla de processo.Peça à retaguarda a sigla (CF_PREFIXOPROCESSO) no cadastro do cliente.
Previsão financeira X esta vinculada a processo de importação, portanto a informação do Prazo(dias) é obrigatória. Revise a condição de pagamento informada na configuração da previsão financeiro do modeloCom CG_FT_USAPREVIAFIN = 1, uma despesa com pessoa está sem data de previsão: falta a data-base no tipo de documento, ou a data que ela usa está vazia no cabeçalho.Configure a data-base (Passo 1), envie a data do cabeçalho (Passo 3), calcule e gere de novo. Na despesa avulsa, envie OCI_DATAPREV.
Prazo em dias não pode ser negativo. Previsão Financeira XCom CG_FT_USAPREVIAFIN = 1, uma despesa tem data de previsão anterior à data de cadastro do orçamento (OCI_DATCAD).Revise as datas do cabeçalho e a data de previsão das despesas avulsas; calcule e gere de novo.

Sem mensagem

SituaçãoCausaO que fazer
O cálculo termina com sucesso e sem efeito.Orçamento inexistente, sem itens, ou sem modelo de processo ou tipo de movimento de entrada válidos.Confira pelo GET do Passo 8.
A geração termina com sucesso e sem efeito.Orçamento inexistente, ou sem modelo de processo, tipo de movimento de entrada ou filial válidos.Confira pelo GET do Passo 12.

Termos desta página

Os termos transversais do módulo — adição, despesa do modelo, data-base, moeda negociada e cotação, código interno — estão na página central. Os abaixo são próprios deste fluxo.

Despesa avulsa
A despesa que você inclui por POST em CEIORC4 e que o modelo de processo não prevê. Diferente da despesa do modelo, a data de previsão dela é a que você enviar em OCI_DATAPREV.
Despesa calculada pelo sistema
A despesa cujo valor o cálculo grava a partir dos totais do orçamento: tributos de nacionalização, câmbio (quando o orçamento tem condição de pagamento) e despesas de saída calculadas. O tipo é o TDP_TIPODESPIMP do tipo de despesa (Passo 6).
Impacto no custo
O campo OCI_IMPCUSTO (no modelo, MDL_IMPCUSTO): como a despesa entra no custo da importação — custo de entrada, custo de saída, acréscimo ou dedução do CIF, custo gerencial, entre outros. As despesas do modelo de valor 1 a 4 nascem na inclusão do cabeçalho; as demais, no cálculo.
Encaixe do item na adição
O que o servidor faz ao incluir um item sem OCI_ADICAO: procura no orçamento uma adição com a mesma NCM e o mesmo percentual de I.I. e, se não encontrar, cria uma nova, ainda sem fornecedor (Passo 4).

Dica — identificar a tabela e o campo a partir da interface do ERP

Quando você souber o que quer gravar mas não souber onde, use a própria interface do ERP para descobrir. Com a tela de Orçamento de Importação aberta, pressione Ctrl + Alt + Shift + H: o título da janela muda, indicando que o modo de identificação está ativo. A partir daí, ao parar o mouse sobre um campo da tela, aparece uma dica com o nome da tabela e do campo a que ele está vinculado — por exemplo, as colunas de CEIORC1 no cabeçalho e de CEIORC2 na grade de itens.

Com o nome da tabela e do campo em mãos, procure-os no dicionário da sua instância para confirmar o tipo, o domínio e se estão liberados para o seu token.

Relação com páginas vizinhas

PáginaComo se liga a esta
COMEX Importação
central
A regra de fronteira do módulo, a configuração da instância e os termos transversais. Leia antes desta.
Processo de ImportaçãoO que se faz com o processo gerado no Passo 11: status, datas previstas, títulos e consultas. Descreve também os outros dois caminhos de criação do processo: a partir de Ordens de Compra e por gravação direta.
Ordem de CompraOs itens do orçamento podem estar vinculados a itens de Ordem de Compra (CEIORC6, somente leitura pela API). A exclusão do item do orçamento desfaz o vínculo (Passo 10).
Cadastro de PessoasO cliente do orçamento, o fornecedor e o fabricante das adições e as pessoas das despesas.
Cadastro de ProdutoNCM, peso, unidade e percentual de I.I. dos produtos dos itens.
Controle de AnexosO endpoint que remove os anexos do orçamento antes da exclusão do cabeçalho.
Orçamento para ClienteOs Orçamentos para Cliente vinculados ao orçamento de importação (CEIORC5, somente leitura pela API) são recalculados pelo cálculo do Passo 7. A geração deles é feita na retaguarda.

Onde aprofundar

Esta página é um guia operacional — descreve o que fazer e em que ordem. Para como exatamente montar cada requisição (lista completa de campos de CEIORC1 a CEIORC4, tipos de dado, obrigatoriedade, domínios e parâmetros das rotinas), a fonte autoritativa é o dicionário oficial da sua instância, cujo endereço está na página central do módulo.

O dicionário reflete sempre os objetos e verbos liberados para o seu token. A regra de fronteira e a configuração do módulo estão na página central de COMEX Importação, e o transporte das requisições, na documentação geral da API.