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 criar um Processo de Importação, conferi-lo, alterá-lo, controlar o status e consultar o que acontece com ele: estoque, financeiro, fluxo de caixa e follow-up.
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. Se o processo vai nascer de um orçamento que você monta, leia também a página do Orçamento de Importação.
O processo fica em CEIPROCESCAD, identificado por PIM_COD. Ele nasce por um de três caminhos: do orçamento, de Ordens de Compra ou por gravação direta (Visão geral). Depois de criado, o processo segue o mesmo caminho nos três casos: conferência, alteração, status, títulos e consultas.
Fica fora desta página, porque é feito na retaguarda do ERP: a Declaração de Importação (DI ou DUIMP) e as notas fiscais do processo (nacionalização, saída, complementar e simples remessa); a efetivação, a atualização e o cancelamento das previsões financeiras; o entreposto, a transferência de recursos entre processos e o recálculo do custo gerencial; e as filhas do processo que a API não grava, como licenças, contêineres e variáveis. A DI aparece aqui só como filtro das consultas de estoque. O lançamento dos títulos do processo é da página de Contas a Pagar/Receber; aqui entra só a remissão (Passo 9).
O ponto central desta página. A tela do ERP preenche vários campos do processo a partir do modelo de processo escolhido. Pela API, na gravação direta, esses campos são responsabilidade de quem integra. O Passo 4 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. A explicação completa e as convenções do módulo (auto-incremento em 0, datas, chave completa no PUT) estão na página central, em Convenções que valem para todo o módulo. Os métodos usados nesta página:
| method | Objetos | Para que serve aqui | Passos |
|---|---|---|---|
GET | TABLE | Ler o modelo, os status, as Ordens de Compra, o processo, as previsões, o rateio e os títulos. | 3, 4, 5, 8, 9, 10, 11, 12 |
POST | TABLE | Incluir o processo por gravação direta. | 4 |
PUT | TABLE | Vincular um orçamento, alterar o processo, as datas previstas e o status. | 6, 7, 8 |
DELETE | TABLE | Excluir o processo sem dependentes. | 14 |
GET | VIEW | Ler o saldo e o movimento da mercadoria da DI. | 10 |
GET | PROCEDURE RESULT | Gerar o processo a partir de Ordens de Compra e executar as consultas de financeiro, câmbio, extrato e follow-up. | 3, 11, 12, 13 |
PATCH | PROCEDURE | Gerar o processo a partir do orçamento, descrito na página do Orçamento. | 2 |
Não confunda os dois níveis. O verbo HTTP da requisição é sempre PATCH (para gravação); a operação é o campo "method" do JSON. Uma inclusão em CEIPROCESCAD é uma requisição HTTP PATCH cujo corpo contém "method": "POST". Uma PROCEDURE RESULT é executada com "method": "GET", e o tipo diz como o retorno chega, não que a rotina só lê: a geração a partir de Ordens de Compra usa GET e grava.
Como chega o retorno das consultas. O formato do retorno dos GET (objeto ou array, consulta vazia com HTTP 404 e prefixo do erro) está em Convenções que valem para todo o módulo. Dois pontos são deste fluxo:
fields,where,orderBy,limiteoffsetse aplicam às colunas do resultado das rotinas, depois de a rotina executar; os parâmetros da rotina vão emparams.fieldsé uma lista de nomes de coluna.- A rotina do caminho B devolve sempre uma linha, portanto um objeto (Passo 3).
4. Visão geral do fluxo
| Caminho | Quando usar | Objeto |
|---|---|---|
| A. Do orçamento | Você já montou e calculou um Orçamento de Importação. | CEI_PRC_GERAPROCESSORCAMENTO (PATCH) — Passo 2 |
| B. De Ordens de Compra | As Ordens de Compra de importação já existem e você não quer montar o orçamento à mão. | CEI_RES_GERAR_IMPORTACAO_OC (GET) — Passo 3 |
| C. Gravação direta | O processo não tem orçamento. | POST em CEIPROCESCAD — Passo 4 |
Depois dos cadastros de retaguarda (Passo 1), o processo é criado por um dos três caminhos e operado nesta ordem:
- Criar o processo por um dos três caminhos da tabela (Passos 2 a 4). Nos três, o servidor cria na hora as previsões ou as provisões, conforme a configuração.
- Conferir o processo e o que nasceu com ele (
GET; Passo 5). - Vincular um orçamento a um processo que já existe, se for o caso (
PUT; Passo 6, opcional). - Alterar o processo e as datas previstas (
PUT; Passo 7). - Mudar o status: encerrar, cancelar ou reabrir (
PUT; Passo 8). - Lançar os títulos do processo pelo financeiro, com o rateio por processo (Passo 9, remissão à página de Contas).
- Consultar estoque, financeiro, fluxo de caixa e follow-up (
GET; Passos 10 a 13), a qualquer momento depois da criação.
A exclusão (Passo 14) é um caso-limite: pela API, só do processo sem dependentes.
O que é decidido na criação fica decidido. As previsões financeiras nascem na inclusão, a partir do modelo, da condição de pagamento do câmbio e das datas daquele momento. Defina esses dados antes de criar o processo: depois, a atualização das previsões é feita na retaguarda do ERP (Passo 7).
5. Diagrama de execução
Convenção visual: azul (Retaguarda do ERP) · verde (Via API) · borda tracejada (caso-limite) · seta azul tracejada (a efetivação da previsão, na retaguarda, gera o título) · Pn = Passo n.
6. Aviso sobre liberação na retaguarda
Atenção — o que decide se este fluxo funciona na sua instância.
- Os verbos de cada objeto no cadastro de API do seu token. Este fluxo usa:
GET,POST,PUTeDELETEemCEIPROCESCAD;GETePUTemCEIORC1;GETnas tabelasCEIPROCESMODELO,CEIPROCESMODELO6,CEISTATUSPROCESSO,CEIPROCESTPDOC,TMOV,PRAZO,CLIFOR1,FILIAL,PED1,PED2,PRODNCM,CEIORC6,CEIPROCESPREVISAO,DOCSPREVISAO,CEIPROCESRATEIO,DOCS,TITULO,TITULO2eCEIDICAD;GETnas viewsCEI_VIEW_SALDOMERCADORIA,CEI_VIEW_SALDOMERCADORIANACIONALIZACAOeCEI_VIEW_MOVIMENTOMERCADORIA;GETnas rotinasCEI_RES_GERAR_IMPORTACAO_OC,CEI_RES_FINANCEIROPROCESSO,CEI_RES_DOCUMENTOCAMBIO,CEI_RES_BAIXACAMBIO,CEI_RES_VARIACAOCAMBIAL,CEI_PRC_RES_RESULTADOFIN,CEI_RES_EXTRATOBANCARIO_PROCESSO,CEI_RES_FOLLOWUPeAPW_PRC_FINDOCADD(este, descrito na página de Contas a Pagar/Receber);PATCHemCEI_PRC_GERAPROCESSORCAMENTO.
- A permissão para reabrir processo. Tirar um processo de um status Encerrado ou Cancelado exige que o usuário vinculado ao token tenha, na retaguarda do ERP, a permissão de alterar o status de processo encerrado. Sem ela, a alteração é recusada (Passo 8). Peça-a ao gestor do ERP se a integração for reabrir processos.
- Duas configurações da instância mudam este fluxo, e estão explicadas na página central do módulo. O efeito neste fluxo:
CG_FT_USAPREVIAFIN— ligada (1), a criação do processo lança previsões financeiras emDOCSPREVISAO, e cada previsão precisa de prazo. Desligada (0), registra as provisões do processo emCEIPROCESPREVISAO, a partir das despesas do modelo.CG_PIM_SUGESTAOCODIGO— maior que0, o código interno do processo é gerado pelo servidor na inclusão e depois não pode ser alterado. Com0, é você quem o envia.
Antes do primeiro processo, os cadastros abaixo precisam existir e estar configurados no ERP. É deles que o servidor tira os tipos de movimento, as previsões financeiras, a ordem de serviço de acompanhamento e o código interno:
| Cadastro | Por que importa |
|---|---|
Modelo de Processo de Importação (CEIPROCESMODELO) | Tem o centro de custo (ST_COD), o local de estoque (LE_COD), o tipo de movimento de nacionalização (TM_CODNAC, de um tipo com TM_TIPOIMPORTA maior que zero) e o de saída (TM_CODSAI), as transportadoras, a tributação (MDL_OPER*) e a formação do preço (MDL_PRECO*). Para o caminho B, também o responsável (VD_COD) e a condição de pagamento (PZ_COD), que vão para o orçamento gerado. Com tipo de serviço de acompanhamento (TPS_COD), a inclusão do processo abre a ordem de serviço de acompanhamento vinculada a ele. As etapas de follow-up consultadas no Passo 13 são geradas na retaguarda do ERP, pela opção Gerar Follow-Up da tela de Follow-up, a partir das etapas do modelo; com linhas de desdobramento de duplicatas, cria o desdobramento do processo. |
Receitas e despesas previstas do modelo (CEIPROCESMODELO6) | São a origem das previsões financeiras ou das provisões do processo. Com CG_FT_USAPREVIAFIN = 1, cada despesa com pessoa (CF_COD) precisa de uma condição de pagamento (PZ_COD) com parcela em dias: sem ela, a inclusão do processo é recusada com a mensagem de prazo obrigatório (Validações e erros). A despesa de Contrato de Câmbio (tipo de despesa 100) é dividida em uma previsão por parcela da condição de pagamento do câmbio do processo (PZ_CODCAMBIO). |
Status do processo (CEISTATUSPROCESSO) | Pelo menos um status de cada tipo (STA_TIPO): 1 Ativo, 2 Encerrado e 3 Cancelado. O código do status (STA_COD) é o que vai em PIM_STATUS; o tipo é o que decide o comportamento (Passo 8). |
Tipos financeiros do processo (CEIPROCESTPDOC) | Classificam cada valor do processo no rateio dos títulos e nas previsões. O tipo do câmbio precisa estar marcado como Contrato de Câmbio (TDP_TIPODESPIMP = 100): é por ele que as consultas de câmbio reconhecem os títulos (Passo 11). |
Cliente do processo (CLIFOR1) | Com CG_PIM_SUGESTAOCODIGO = 2, o cliente precisa da sigla de processo (CF_PREFIXOPROCESSO). No caminho B sem cliente informado, vale a pessoa padrão da filial (FILIAL.CF_COD). Ver Cadastro de Pessoas. |
| Configuração da instância | CG_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. Pela API, você os lê com GET em CEIPROCESMODELO, CEIPROCESMODELO6, CEISTATUSPROCESSO, CEIPROCESTPDOC e TMOV. Para conhecer os campos exatos, consulte o dicionário oficial da sua instância.
Quando o processo nasce de um orçamento que você montou e calculou, ele é gerado pela rotina CEI_PRC_GERAPROCESSORCAMENTO, executada com "method": "PATCH". As condições, o que a geração faz, o exemplo e os erros estão na página do Orçamento de Importação:
Depois de gerado, o processo segue pelos Passos 5 a 14 desta página.
A rotina CEI_RES_GERAR_IMPORTACAO_OC recebe uma lista de Ordens de Compra de importação, monta com elas um Orçamento de Importação, calcula o orçamento e gera o processo, numa única chamada. Ela é uma PROCEDURE RESULT, executada com "method": "GET". Apesar do GET, a rotina grava: cria o orçamento e o processo. Por isso, envie a requisição com o verbo HTTP PATCH, como toda gravação.
Antes de chamar
- As Ordens de Compra são da filial informada, de fornecedor (
PED1.CF_TIPO = 'F'), com tipo de movimento de nacionalização (tipo comTM_TIPOIMPORTAmaior que zero), e ainda não estão vinculadas a nenhum orçamento de importação. Os tipos de movimento de importação se leem porGETemTMOV, comTM_TIPOIMPORTAmaior que zero. A Ordem de Compra já usada aparece emCEIORC6(whereemFL_COD,CF_TIPO = 'F'ePE_COD). - Envie na mesma lista Ordens de Compra da mesma moeda. A moeda e a cotação do orçamento vêm da primeira Ordem de Compra da lista, que precisa ter as duas preenchidas (
PED1.ID_CODePED1.PE_IDVALOR). Sem elas, a rotina devolveSUCESSO = 0comCotação não foi informada no Orçamento de Importação N. - Confira a NCM dos itens. Só entram no orçamento os itens cuja NCM (
PED2.PD_CODNCM) está cadastrada emPRODNCM. Se nenhum item entrar, a geração é recusada por falta de itens. - Vale tudo o que a geração a partir do orçamento exige (Orçamento, Passo 11): código interno único entre os processos. Com
CG_FT_USAPREVIAFIN = 1, cada despesa do modelo com pessoa precisa de data de previsão, e a rotina não recebe as datas previstas de embarque, chegada e entrega. Nessas despesas, a data-base do tipo de documento precisa ser Cadastro do Processo. Se o modelo usar outra data-base, siga pelo caminho A, em que você envia as datas no cabeçalho do orçamento.
Para escolher as Ordens de Compra, leia PED1 (cabeçalho) e PED2 (itens) com GET. As regras de gravação desses objetos estão na página de Ordem de Compra.
Exemplo — GET PED1 (Ordens de Compra de uma filial)
{
"method": "GET"
,"objectType": "TABLE"
,"objectName": "PED1"
,"fields": [ "PE_COD", "CF_COD", "TM_COD", "ID_COD", "PE_IDVALOR", "PE_DAT" ]
,"where": [
{ "type": "field", "name": "FL_COD", "value": 1 }
// F = Ordem de Compra
,{ "type": "field", "name": "CF_TIPO", "value": "F" }
,{ "type": "expression", "value": "PE_DAT >= '2026-09-01 00:00:00'" }
]
,"orderBy": [ "PE_COD DESC" ]
,"limit": 50
}
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.
Envie
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
PFL_COD | Sim | Filial das Ordens de Compra e do processo. |
PLISTA_PE_COD | Sim | Números das Ordens de Compra, em texto, separados por vírgula: "1119,1118". |
PMDL_COD | Sim | Modelo de processo, usado no orçamento e no processo. |
PPIM_DES | Não | Descrição do processo. Vazio, o processo recebe a descrição Processo gerado do Orçamento N. |
POCI_CODINTERNO | Não | Código interno do orçamento, que segue para o processo. Vazio, vale o número da primeira Ordem de Compra da lista. Precisa ser único entre os processos; com CG_PIM_SUGESTAOCODIGO maior que 0, o código interno do processo é o que a configuração gera. |
PINCOTERM | Não | INCOTERM do orçamento. Padrão FOB. |
PAGRUPAR | Não | 1 (padrão) soma num só item do orçamento os itens de mesmo fornecedor, produto, NCM, preço, desconto e percentual de I.I.; 0 cria um item do orçamento para cada item de Ordem de Compra. |
PCF_CODCLIPRO | Não | Cliente do orçamento e do processo, uma pessoa de tipo cliente (CF_TIPO C ou A). Vazio, vale a pessoa padrão da filial (FILIAL.CF_COD). |
O que a rotina faz, em ordem
- Valida a lista, as Ordens de Compra, o modelo e o cliente.
- Cria o cabeçalho do orçamento (
CEIORC1) a partir do modelo: tipo de movimento, responsável, condição de pagamento e formação do preço; moeda e cotação da primeira Ordem de Compra. - Cria as adições (
CEIORC3), já com o fornecedor da Ordem de Compra, os itens (CEIORC2) e o vínculo de cada item com o item de Ordem de Compra de origem (CEIORC6). - Calcula o orçamento.
- Gera o processo, com os mesmos efeitos do caminho A: o processo nasce com o status de tipo Ativo de menor código cadastrado, com os dados do orçamento e do modelo, e com as previsões ou provisões conforme a configuração.
- Aplica a descrição de
PPIM_DES, quando informada.
Exemplo — GET CEI_RES_GERAR_IMPORTACAO_OC
{
"method": "GET"
,"objectType": "PROCEDURE RESULT"
,"objectName": "CEI_RES_GERAR_IMPORTACAO_OC"
,"params": [
{ "name": "PFL_COD", "value": "1" }
// Ordens de Compra da mesma moeda, separadas por vírgula
,{ "name": "PLISTA_PE_COD", "value": "1119,1118" }
,{ "name": "PMDL_COD", "value": "5" }
,{ "name": "PPIM_DES", "value": "Embarque 2026-01" }
,{ "name": "PAGRUPAR", "value": "1" }
]
}
A resposta é sempre uma linha, e por isso chega como objeto, com quatro campos:
{
"SUCESSO": 1
,"MENSAGEM": "OK"
,"OCI_COD": 1031
,"PIM_COD": 215
}
| Campo | Conteúdo |
|---|---|
SUCESSO | 1 sucesso; 0 falha. |
MENSAGEM | OK no sucesso; na falha, o texto do erro. |
OCI_COD | O orçamento gerado. Nulo na falha. |
PIM_COD | O processo gerado. Nulo na falha. |
A falha não chega como erro HTTP. Quando alguma validação recusa a geração, a resposta vem normalmente, com SUCESSO = 0 e o motivo em MENSAGEM, e nada fica gravado: nem o orçamento, nem o processo. Confira SUCESSO antes de ler OCI_COD e PIM_COD. Em MENSAGEM, o texto do erro vem precedido de um identificador técnico: compare pelo trecho característico. As mensagens estão em Validações e erros.
Erros comuns. Uma Ordem de Compra que já está vinculada a um orçamento de importação, ou, com CG_FT_USAPREVIAFIN = 1, uma despesa do modelo sem prazo na condição de pagamento. Corrija e chame de novo: como nada foi gravado, a nova chamada parte do zero.
Se a resposta não chegar, não chame de novo às cegas. Leia CEIORC6 pelo PE_COD da primeira Ordem de Compra: se houver linha, o orçamento foi criado. O OCI_COD dela leva ao PIM_COD em CEIORC1.
Sem orçamento, inclua o processo por uma requisição com "method": "POST" sobre CEIPROCESCAD. Antes, leia o modelo de processo (GET em CEIPROCESMODELO, por MDL_COD): boa parte dos campos vem dele.
Envie
| Campo | Observação |
|---|---|
PIM_COD = 0 | Obrigatório e sempre presente. O servidor gera o número do processo e o devolve na resposta. |
MDL_COD | Obrigatório. Modelo de processo. |
PIM_DES | Obrigatório. Descrição do processo. |
PIM_CLIPRO | Obrigatório. Cliente do processo. |
PIM_CLIORD | Obrigatório. Cliente previsto da nota fiscal de saída; em geral, o mesmo cliente do processo. |
PZ_CODCAMBIO | Condição de pagamento do câmbio, quando houver câmbio previsto. Envie já na inclusão: as parcelas previstas do câmbio saem dela. |
PIM_DATPREVEMB, PIM_DATAPRECCHE, PIM_DATAPREVENTREGA | Opcionais, com T. Previsões de embarque (ETD), de chegada (ETA) e de entrega. |
PIM_MARGLUCRO | Opcional. Quando o cliente tem margem cadastrada no modelo, o servidor grava essa margem e substitui o valor enviado. Sem ela, vale o valor enviado; omitido ou zero, a margem do modelo. |
A tela preenche, a API não — envie você
| Campo | O que a tela grava |
|---|---|
FL_COD | Obrigatório. A empresa em que o usuário está logado. |
PIM_DATCAD | Obrigatório. A data do dia, com T. |
PIM_STATUS | Um status de tipo Ativo (STA_TIPO = 1) de CEISTATUSPROCESSO. Sem ele, o processo fica fora das rotinas que consideram só processos ativos, como o follow-up (Passo 13). |
ST_COD, LE_COD | Obrigatórios. Centro de custo e local de estoque do modelo. |
TM_COD_ENT, TM_COD_SAI | Tipos de movimento de entrada e de saída: o TM_CODNAC e o TM_CODSAI do modelo. |
TR_COD_ENT, TR_COD_SAI | Transportadoras de entrada e de saída: o TR_CODNAC e o TR_CODSAI do modelo. |
VD_COD | Responsável: o VD_COD do modelo. |
PIM_OPERPISCOFINS, PIM_OPERICMS, PIM_OPERII, PIM_OPERANTIDUMPING, PIM_OPERCUSTOSADICIONAIS, PIM_OPERAFRMM | A tributação do processo. Copie cada MDL_OPER* do modelo para o PIM_OPER* de mesmo sufixo. |
PIM_PRECOCIF, PIM_PRECOII, PIM_PRECOIPI, PIM_PRECOPISCOFINS, PIM_PRECOANTIDUMPING, PIM_PRECOICMSNACIO, PIM_PRECOAFRMM, PIM_PRECODESPESAENTRADA, PIM_PRECODESPESASAIDA, PIM_PRECOCUSTOCTBNAC | As dez indicações de formação de preço (0 não, 1 sim). Copie cada MDL_PRECO* do modelo para o PIM_PRECO* de mesmo sufixo. |
TM_CODENTCOMPL, TM_CODSAICOMPL | Tipos de movimento das notas complementares de entrada e de saída: o TM_CODENTCOMPL e o TM_CODSAICOMPL do modelo, cada um no campo de mesmo nome. Se o modelo não tiver, não envie o campo. |
TDP_CODSALDOREC, TDP_CODSALDOPAG, PZ_CODSALDO, PT_CODSALDO, EXT_COD | Os dados de acerto de saldo e o modelo de extrato, copiados dos campos de mesmo nome do modelo, quando ele os tiver. |
PIM_CODINTERNO | Só com CG_PIM_SUGESTAOCODIGO = 0: o código de controle da empresa, único entre os processos. Envie-o: o extrato por conta bancária filtra o processo por ele (Passo 12). Nos demais modos, o servidor gera o código. |
Não envie
| Campo | Por quê |
|---|---|
PIM_TIPOIMPORTA, PIM_PISCOFINSICMS | O servidor grava na inclusão, a partir do tipo de movimento de TM_COD_ENT. O valor enviado é substituído. |
PIM_OPERACRESCIMOCUSTO, TM_CODSAIREMESSA | O servidor grava na inclusão, a partir do modelo. O valor enviado é substituído. |
PIM_DTATU | Data da última atualização, gravada pelo servidor. |
PIM_RECALCULARCUSTO | Campo de controle do servidor. Com valor diferente de 0, a inclusão não cria as previsões financeiras. |
PIM_CODINTERNO | Com CG_PIM_SUGESTAOCODIGO maior que 0: o servidor gera o código e substitui o enviado. |
Exemplo — GET CEIPROCESMODELO
{
"method": "GET"
,"objectType": "TABLE"
,"objectName": "CEIPROCESMODELO"
// sem fields: todas as colunas do modelo
,"where": [
{ "type": "field", "name": "MDL_COD", "value": 3 }
]
}
Exemplo — POST CEIPROCESCAD
{
"method": "POST"
,"objectType": "TABLE"
,"objectName": "CEIPROCESCAD"
,"dataFields": [
// numerado pelo servidor: sempre presente, com 0
{ "name": "PIM_COD", "value": 0 }
,{ "name": "FL_COD", "value": 1 }
,{ "name": "MDL_COD", "value": 3 }
,{ "name": "PIM_DES", "value": "Importação de rolamentos, lote 12" }
,{ "name": "PIM_CLIPRO", "value": 2150 }
,{ "name": "PIM_CLIORD", "value": 2150 }
,{ "name": "PIM_DATCAD", "value": "2026-09-28T00:00:00" }
// um status de tipo Ativo (STA_TIPO = 1)
,{ "name": "PIM_STATUS", "value": 1 }
// copiados do modelo
,{ "name": "ST_COD", "value": 20 }
,{ "name": "LE_COD", "value": 3 }
,{ "name": "TM_COD_ENT", "value": "E060" }
,{ "name": "TM_COD_SAI", "value": "S201" }
,{ "name": "TR_COD_ENT", "value": 1 }
,{ "name": "TR_COD_SAI", "value": 1 }
,{ "name": "VD_COD", "value": 12 }
,{ "name": "PIM_OPERPISCOFINS", "value": 3 }
,{ "name": "PIM_OPERICMS", "value": 3 }
,{ "name": "PIM_OPERII", "value": 1 }
,{ "name": "PIM_OPERANTIDUMPING", "value": 0 }
,{ "name": "PIM_OPERCUSTOSADICIONAIS", "value": 2 }
,{ "name": "PIM_OPERAFRMM", "value": 1 }
,{ "name": "PIM_PRECOCIF", "value": 1 }
,{ "name": "PIM_PRECOII", "value": 1 }
,{ "name": "PIM_PRECOIPI", "value": 0 }
,{ "name": "PIM_PRECOPISCOFINS", "value": 1 }
,{ "name": "PIM_PRECOANTIDUMPING", "value": 0 }
,{ "name": "PIM_PRECOICMSNACIO", "value": 1 }
,{ "name": "PIM_PRECOAFRMM", "value": 1 }
,{ "name": "PIM_PRECODESPESAENTRADA", "value": 1 }
,{ "name": "PIM_PRECODESPESASAIDA", "value": 0 }
,{ "name": "PIM_PRECOCUSTOCTBNAC", "value": 0 }
// condição de pagamento do câmbio: as parcelas previstas saem dela
,{ "name": "PZ_CODCAMBIO", "value": 12 }
,{ "name": "PIM_DATAPRECCHE", "value": "2026-11-10T00:00:00" }
]
}
A resposta traz Registro inserido com sucesso e, em data, o PIM_COD gerado. Guarde-o: é a chave de todos os passos seguintes.
O que a inclusão já faz, conforme o modelo e a configuração:
- abre a ordem de serviço de acompanhamento do processo, quando o modelo tem tipo de serviço (
TPS_COD). As etapas de follow-up são geradas depois, na retaguarda do ERP; - copia do modelo o desdobramento de duplicatas (
CEIPROCESCFGDUP), quando o modelo o tem; - com
CG_FT_USAPREVIAFIN = 0, registra as provisões do processo emCEIPROCESPREVISAO, uma para cada despesa prevista no modelo; - com
CG_FT_USAPREVIAFIN = 1, lança as previsões financeiras emDOCSPREVISAO: uma para cada despesa do modelo com pessoa e, para a despesa de câmbio, uma por parcela dePZ_CODCAMBIO.
Erro comum — prazo da previsão. Com CG_FT_USAPREVIAFIN = 1, uma despesa do modelo com pessoa e sem parcela em dias na condição de pagamento faz a inclusão ser recusada com a mensagem de prazo obrigatório, e nada é gravado. Peça à retaguarda a condição de pagamento com parcelas nas despesas do modelo (Passo 1) e inclua de novo.
Leia o processo e o que nasceu com ele com "method": "GET":
| Objeto | Filtro | O que conferir |
|---|---|---|
CEIPROCESCAD | PIM_COD | O código interno (PIM_CODINTERNO), o status (PIM_STATUS) e os campos preenchidos pelo servidor, como o tipo de importação (PIM_TIPOIMPORTA). |
CEIORC1 | PIM_COD | O orçamento de origem, nos caminhos A e B, ou o vinculado no Passo 6. |
CEIPROCESPREVISAO | PIM_COD | As provisões do processo, na instância com CG_FT_USAPREVIAFIN = 0. |
DOCSPREVISAO | PIM_COD | As previsões financeiras do processo, na instância com CG_FT_USAPREVIAFIN = 1: vencimento (PRV_DVC), valor (PRV_VAL) e tipo financeiro (TDP_COD). |
Exemplo — GET CEIPROCESCAD (um processo)
{
"method": "GET"
,"objectType": "TABLE"
,"objectName": "CEIPROCESCAD"
,"fields": [ "PIM_COD", "PIM_CODINTERNO", "PIM_DES", "PIM_STATUS", "PIM_TIPOIMPORTA", "MDL_COD" ]
,"where": [
{ "type": "field", "name": "PIM_COD", "value": 215 }
]
}
Para listar processos, use o mesmo GET em CEIPROCESCAD com where no status, no cliente (PIM_CLIPRO) ou na filial (FL_COD), com limit (linhas por página) e offset (número da página, a partir de 1):
{
"method": "GET"
,"objectType": "TABLE"
,"objectName": "CEIPROCESCAD"
,"fields": [ "PIM_COD", "PIM_CODINTERNO", "PIM_DES", "PIM_DATCAD" ]
,"where": [
{ "type": "field", "name": "PIM_CLIPRO", "value": 2150 }
,{ "type": "field", "name": "PIM_STATUS", "value": 1 }
]
,"orderBy": [ "PIM_COD DESC" ]
,"limit": 20
// offset é a página: 1 traz as linhas 1 a 20
,"offset": 1
}
Quando o processo já existe e o orçamento foi montado depois, a tela do ERP os liga pela opção de captar o orçamento. Pela API, faça o mesmo com dois PUT, nesta ordem. O processo precisa estar com status de tipo Ativo, e o orçamento, sem processo (CEIORC1.PIM_COD vazio).
PUTemCEIORC1:PIM_CODdo processo, comwhereemOCI_CODe"key": true.PUTemCEIPROCESCAD: os dados de embarque e as datas previstas, copiados do orçamento, comwhereemPIM_CODe"key": true.
No processo (CEIPROCESCAD) | Copie do orçamento (CEIORC1) |
|---|---|
PIM_LOCALENTREGACLIENTE | OCI_LOCALENTREGACLIENTE |
PIM_DATAPREVENTREGA | OCI_DATAPREVENTREGA |
PIM_DATAPRECCHE | OCI_PREVISAOCHEGADA |
PIM_LOCEMB, PIM_NAVIOEMB | OCI_LOCEMB, OCI_NAVIOEMB |
PIM_LOCDESTINO, PIM_NAVIODESTINO | OCI_LOCDESTINO, OCI_NAVIODESTINO |
PIM_CODINTERNO | OCI_CODINTERNO, só se o processo estiver sem código interno. |
Exemplo — PUT CEIORC1 (vínculo)
{
"method": "PUT"
,"objectType": "TABLE"
,"objectName": "CEIORC1"
,"dataFields": [
{ "name": "PIM_COD", "value": 215 }
]
,"where": [
{ "type": "field", "name": "OCI_COD", "key": true, "value": 1024 }
]
}
Exemplo — PUT CEIPROCESCAD (dados copiados do orçamento)
{
"method": "PUT"
,"objectType": "TABLE"
,"objectName": "CEIPROCESCAD"
,"dataFields": [
{ "name": "PIM_LOCALENTREGACLIENTE", "value": "Armazém Itajaí" }
,{ "name": "PIM_DATAPREVENTREGA", "value": "2026-11-20T00:00:00" }
,{ "name": "PIM_DATAPRECCHE", "value": "2026-11-10T00:00:00" }
,{ "name": "PIM_LOCEMB", "value": "Shanghai" }
,{ "name": "PIM_LOCDESTINO", "value": "Itajaí" }
]
,"where": [
{ "type": "field", "name": "PIM_COD", "key": true, "value": 215 }
]
}
O vínculo não refaz as previsões. As previsões financeiras continuam as que nasceram na inclusão do processo. Para desfazer o vínculo, envie PUT em CEIORC1 com PIM_COD nulo. É também o caminho quando o segundo PUT, em CEIPROCESCAD, é recusado: desfaça o vínculo, corrija a causa (por exemplo, o status) e refaça os dois PUT.
Altere com "method": "PUT" sobre CEIPROCESCAD, com where em PIM_COD e "key": true. PIM_COD é a chave inteira do processo e não entra em dataFields.
Datas previstas
| Campo | Significado |
|---|---|
PIM_DATPREVEMB | Data prevista de embarque (ETD). |
PIM_DATAPRECCHE | Data prevista de chegada (ETA). |
PIM_DATAPREVENTREGA | Data prevista de entrega ao cliente. |
Regras, na ordem correta
- Processo encerrado ou cancelado: altere o status antes, num
PUTpróprio (Passo 8). Depois, faça a alteração. - Com
CG_PIM_SUGESTAOCODIGOmaior que0, não enviePIM_CODINTERNO: a alteração do código interno é recusada. Com0, o novo código precisa ser único entre os processos. - Defina o processo entrepostado (
PIM_ENTREPOSTADO) antes de registrar a DI. Com DI vinculada, a mudança é recusada. - Defina a tributação (
PIM_OPER*) antes da nacionalização da mercadoria. Depois de toda a mercadoria da DI nacionalizada, a mudança é recusada.
Exemplo — PUT CEIPROCESCAD (datas previstas)
{
"method": "PUT"
,"objectType": "TABLE"
,"objectName": "CEIPROCESCAD"
,"dataFields": [
{ "name": "PIM_DATPREVEMB", "value": "2026-10-20T00:00:00" }
,{ "name": "PIM_DATAPRECCHE", "value": "2026-11-18T00:00:00" }
,{ "name": "PIM_DATAPREVENTREGA", "value": "2026-11-25T00:00:00" }
]
,"where": [
{ "type": "field", "name": "PIM_COD", "key": true, "value": 215 }
]
}
As previsões financeiras não acompanham a alteração. Elas nascem na inclusão do processo e não são refeitas quando as datas, a condição de pagamento do câmbio ou o modelo mudam depois. Nesse caso, a atualização é feita na retaguarda do ERP, pela opção Atualizar Previsões da tela do processo.
O status do processo é o código de CEISTATUSPROCESSO gravado em PIM_STATUS. O que decide o comportamento é o tipo do status (STA_TIPO). Leia os status da instância com GET e altere com PUT só com PIM_STATUS:
| Para | Envie em PIM_STATUS | Observação |
|---|---|---|
| Encerrar | um status de tipo 2 (Encerrado) | O processo e os registros ligados a ele deixam de aceitar alteração. |
| Cancelar | um status de tipo 3 (Cancelado) | Idem. Se o processo estiver encerrado, a troca exige a mesma permissão de Reabrir. |
| Reabrir | um status de tipo 1 (Ativo) | Exige, no usuário vinculado ao token, a permissão de alterar o status de processo encerrado (seção 6). |
Exemplo — GET CEISTATUSPROCESSO
{
"method": "GET"
,"objectType": "TABLE"
,"objectName": "CEISTATUSPROCESSO"
,"fields": [ "STA_COD", "STA_DES", "STA_TIPO" ]
,"orderBy": [ "STA_TIPO", "STA_COD" ]
}
Exemplo — PUT CEIPROCESCAD (encerrar)
{
"method": "PUT"
,"objectType": "TABLE"
,"objectName": "CEIPROCESCAD"
,"dataFields": [
// só o status, num PUT próprio
{ "name": "PIM_STATUS", "value": 8 }
]
,"where": [
{ "type": "field", "name": "PIM_COD", "key": true, "value": 215 }
]
}
O que o encerramento e o cancelamento travam. Com o processo em status de tipo Encerrado ou Cancelado, o servidor recusa as alterações no processo e nos registros ligados a ele: a DI, as provisões do processo (CEIPROCESPREVISAO), o desdobramento de duplicatas, as etapas de follow-up e o rateio de títulos — inclusive o lançamento de um título rateado para o processo (Passo 9). A mensagem informa que o processo está encerrado ou cancelado. Altere o status num PUT próprio e só então altere os demais campos.
O lançamento de contas a pagar e a receber de um processo — o título com o rateio para o processo — é feito pelo APW_PRC_FINDOCADD e está descrito na página de Contas a Pagar/Receber: Passo 9 (vínculo com o processo, a chave CEIPROCESRATEIO e os campos de cada item) e Passo 11 (lançamento). Três pontos são deste fluxo:
- O processo precisa estar com status de tipo Ativo. Encerrado ou cancelado, o rateio é recusado (Passo 8).
- A conferência é pelo rateio. O cabeçalho do documento (
DOCS) não guarda o processo: os documentos do processo se leem porGETemCEIPROCESRATEIOcomwhereemPIM_COD(Passo 11). - Com
CG_FT_USAPREVIAFIN = 1, lance pela API só os títulos que não têm previsão. Os títulos das despesas que têm previsão financeira são efetivados na retaguarda do ERP, pela opção Efetivar Previsão da tela do processo, que transforma a previsão no documento com o rateio para o processo. Assim a mesma despesa não conta duas vezes nas consultas financeiras.
Exemplo — GET CEIPROCESRATEIO (documentos do processo)
{
"method": "GET"
,"objectType": "TABLE"
,"objectName": "CEIPROCESRATEIO"
,"fields": [ "FL_COD", "CF_TIPO", "FT_COD", "TDP_COD", "PIM_VALMNACIO", "PIM_VALMDOLAR", "PIM_CUSTO", "PIM_REEMBOLSO" ]
,"where": [
{ "type": "field", "name": "PIM_COD", "value": 215 }
]
}
O estoque do processo é o da mercadoria da sua Declaração de Importação (DI ou DUIMP). Primeiro, leia em CEIDICAD, pelo processo, o código de cada DI (DIM_COD); com mais de uma, o retorno é um array, e cada DI se consulta nas views pelo seu DIM_COD. O formato do retorno está em Como a API funciona.
| Objeto | Colunas principais | Quando usar |
|---|---|---|
CEI_VIEW_SALDOMERCADORIA (VIEW) | DIM_COD, MER_ID, PD_COD, PD_LOTE, PD_DES, PD_UNI3, QTD_ENTRADA, QTD_SAIDA, QTD_SALDO | Saldo físico de cada item da DI, por lote: entradas menos saídas dos movimentos de estoque vinculados ao item. Depois do encerramento do estoque da DI, QTD_SALDO é zero. |
CEI_VIEW_SALDOMERCADORIANACIONALIZACAO (VIEW) | DIM_COD, MER_ID, ADI_NUM, PD_COD, PD_LOTE, MER_QUANTIDADEMERCADORIA, QTD_ATENDIDA, QTD_SALDO, CF_COD, CF_RSOCIAL | Quanto de cada item da DI ainda falta nacionalizar: a quantidade da DI menos a já atendida por nota fiscal de nacionalização. CF_COD é o fornecedor da adição. |
CEI_VIEW_MOVIMENTOMERCADORIA (VIEW) | DIM_COD, MER_ID, FL_COD, CF_TIPO, FT_COD, PD_COD, PD_LOTE, ME_QTDEST, ME_ENT, LE_COD, TM_COD | Os movimentos de estoque vinculados a cada item da DI, um por item de nota fiscal: CF_TIPO = 'F' é entrada, 'C' é saída. Use para detalhar o saldo. |
Exemplo — GET CEIDICAD (a DI do processo)
{
"method": "GET"
,"objectType": "TABLE"
,"objectName": "CEIDICAD"
,"fields": [ "DIM_COD", "DIM_DATAFIMESTOQUE" ]
,"where": [
{ "type": "field", "name": "PIM_COD", "value": 215 }
]
}
Exemplo — GET CEI_VIEW_SALDOMERCADORIA
{
"method": "GET"
,"objectType": "VIEW"
,"objectName": "CEI_VIEW_SALDOMERCADORIA"
,"fields": [ "MER_ID", "PD_COD", "PD_LOTE", "PD_DES", "QTD_ENTRADA", "QTD_SAIDA", "QTD_SALDO" ]
,"where": [
// DIM_COD lido em CEIDICAD
{ "type": "field", "name": "DIM_COD", "value": 314 }
]
,"orderBy": [ "MER_ID" ]
}
Exemplo — GET CEI_VIEW_SALDOMERCADORIANACIONALIZACAO
{
"method": "GET"
,"objectType": "VIEW"
,"objectName": "CEI_VIEW_SALDOMERCADORIANACIONALIZACAO"
,"fields": [ "MER_ID", "ADI_NUM", "PD_COD", "MER_QUANTIDADEMERCADORIA", "QTD_ATENDIDA", "QTD_SALDO" ]
,"where": [
{ "type": "field", "name": "DIM_COD", "value": 314 }
]
,"orderBy": [ "MER_ID" ]
}
CEI_VIEW_MOVIMENTOMERCADORIA recebe o mesmo corpo, trocando objectName e as colunas de fields pelas da tabela acima.
Sem DI, não há estoque do processo. Enquanto a DI não é registrada na retaguarda, o GET em CEIDICAD volta vazio (HTTP 404 com rowCount:0), e as views não têm o que mostrar.
O financeiro do processo pode ser lido de três formas: pela rotina que a tela do processo usa, pelas tabelas de rateio e de títulos, ou pelas consultas de câmbio.
A consulta da tela: CEI_RES_FINANCEIROPROCESSO
É a consulta da aba Financeiro da tela do processo: os documentos rateados para o processo e, com CG_FT_USAPREVIAFIN = 1, as previsões ainda não efetivadas, em ordem de emissão, com crédito, débito, acumulados e saldo.
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
P_PIM_COD | Sim | O processo. |
P_TIPORESULT | Sim | 0 todos os lançamentos; 1 só os marcados com débito ou crédito em conta corrente do processo. |
Colunas principais: PIM_ORDEM (a ordem do lançamento no resultado), FIN_TIPO (1 previsão financeira, 2 documento), FL_COD, CF_TIPO (C receita, F despesa), FT_COD, FT_EMI, CF_COD, CF_RSOCIAL, PIM_VALMNACIO_CR, PIM_VALMNACIO_DB, PIM_VALMNACIO_CR_AC, PIM_VALMNACIO_DB_AC, PIM_SALDO, PIM_CUSTO, PIM_REEMBOLSO, TDP_DES e PAGO (PG quando o documento está totalmente pago). A chave do documento (FL_COD, CF_TIPO, FT_COD) vale nas linhas com FIN_TIPO = 2; nas de previsão, ainda não há documento. O saldo acumulado segue PIM_ORDEM: o saldo final do processo é o PIM_SALDO da linha de maior PIM_ORDEM.
{
"method": "GET"
,"objectType": "PROCEDURE RESULT"
,"objectName": "CEI_RES_FINANCEIROPROCESSO"
,"params": [
{ "name": "P_PIM_COD", "value": "215" }
,{ "name": "P_TIPORESULT", "value": "0" }
]
,"orderBy": [ "PIM_ORDEM" ]
}
As tabelas: rateio, documentos e títulos
CEIPROCESRATEIO, comwhereemPIM_COD: um registro por documento e tipo financeiro, com a chave do documento (FL_COD,CF_TIPO,FT_COD), o valor atribuído ao processo em moeda nacional (PIM_VALMNACIO) e em moeda estrangeira (PIM_VALMDOLAR), a incidência no custo (PIM_CUSTO) e a conta corrente (PIM_REEMBOLSO). Exemplo no Passo 9.- Com a chave do documento:
DOCS(o documento),TITULO(as parcelas, com vencimento emTT_DVC, valor emTT_VALe total baixado emTT_TOTVPG) eTITULO2(as baixas). - Documento rateado entre processos: a parte do processo é a proporção de
PIM_VALMNACIOsobre a soma do rateio do documento. Aplique essa proporção às parcelas e às baixas. - Previsões:
CEIPROCESPREVISAO(comCG_FT_USAPREVIAFIN = 0) ouDOCSPREVISAO(com1), filtrando porPIM_COD(Passo 5).
O câmbio: CEI_RES_DOCUMENTOCAMBIO, CEI_RES_BAIXACAMBIO e CEI_RES_VARIACAOCAMBIAL
As três trazem os títulos de contrato de câmbio rateados para processos que já têm DI: sem DI registrada, o processo não aparece. Nas duas primeiras, o título entra também só quando o rateio usa o tipo financeiro de câmbio (TDP_TIPODESPIMP = 100, Passo 1).
| Rotina | Parâmetros | O que devolve |
|---|---|---|
CEI_RES_DOCUMENTOCAMBIO | P_DT_INI e P_DT_FIM (período de vencimento, obrigatórios); P_FL_COD, P_PIM_COD, P_PIM_CLIPRO e P_CF_COD_FORNECEDOR (opcionais) | Cada parcela de câmbio, com o fator do processo no documento (FATOR_PROCESSO), o valor em moeda nacional e estrangeira (VALOR_TITULO, VALOR_TITULO_DOLAR), o pago (VALOR_TITULO_PAGO, VALOR_TITULO_PAGO_DOLAR), a situação (TIPO_CAMBIO: em aberto ou fechado), a cotação do dia (COTACAO_DO_DIA) e o saldo a pagar (VALOR_TITULO_A_PAGAR, VALOR_TITULO_A_PAGAR_DOLAR). Traz também PIM_CODINTERNO, DIM_NUMERODI, FT_NUM e TT_DVC. |
CEI_RES_BAIXACAMBIO | Os mesmos; o período é o da baixa | As mesmas colunas, uma linha por baixa, mais a data (TT_DPG), o valor pago na baixa (VALOR_PAGO, VALOR_PAGO_DOLAR) e a cotação da baixa (TT_COTACAO_BAIXA). |
CEI_RES_VARIACAOCAMBIAL | P_FL_COD, P_DT_INI e P_DT_FIM (obrigatórios); P_PIM_COD, P_PIM_CLIPRO e P_CF_COD_FORNECEDOR_DI (opcionais) | A variação cambial de cada pagamento de câmbio contra a cotação da DI: COTACAO_DI, COTACAO_TITULO2, PIM_TT_VALMNAC, PIM_TT_VALMNAC_COTACAO_DI, DATA_VARIACAO_CAMBIAL (a maior entre o registro da DI e o pagamento; é ela que o período filtra), VARIACAO_CAMBIAL_ATIVA e VARIACAO_CAMBIAL_PASSIVA. |
{
"method": "GET"
,"objectType": "PROCEDURE RESULT"
,"objectName": "CEI_RES_DOCUMENTOCAMBIO"
,"params": [
// período de vencimento: espaço entre data e hora
{ "name": "P_DT_INI", "value": "2026-01-01 00:00:00" }
,{ "name": "P_DT_FIM", "value": "2026-12-31 23:59:59" }
,{ "name": "P_PIM_COD", "value": "215" }
]
}
CEI_RES_BAIXACAMBIO recebe o mesmo corpo, trocando objectName; ali, P_DT_INI e P_DT_FIM são o período da baixa. CEI_RES_VARIACAOCAMBIAL tem outra lista de parâmetros, com P_FL_COD obrigatório:
{
"method": "GET"
,"objectType": "PROCEDURE RESULT"
,"objectName": "CEI_RES_VARIACAOCAMBIAL"
,"params": [
{ "name": "P_FL_COD", "value": "1" }
// período da data da variação cambial
,{ "name": "P_DT_INI", "value": "2026-01-01 00:00:00" }
,{ "name": "P_DT_FIM", "value": "2026-12-31 23:59:59" }
,{ "name": "P_PIM_COD", "value": "215" }
]
}
O fluxo de caixa do processo junta o realizado, que são as baixas já feitas, e o a vencer, que são as parcelas em aberto e as previsões. A rotina CEI_PRC_RES_RESULTADOFIN devolve as duas partes numa só lista, com o saldo acumulado do processo em cada linha. É a mesma consulta da aba Fluxo de Caixa da tela do processo.
Fluxo de caixa do processo: CEI_PRC_RES_RESULTADOFIN
| Parâmetro | Descrição |
|---|---|
P_PIM_COD | O processo. Com 0, todos os processos do cliente informado em P_PIM_CLIPRO. |
P_PIM_CLIPRO | O cliente do processo. Com 0, sem filtro de cliente. Informe o processo ou o cliente: sem nenhum dos dois, o resultado vem vazio. |
P_TIPORESULT | 0 devolve o extrato, com todas as linhas. 1 devolve só a linha de fechamento de saldo (VLR_FLAG = 1); use-o com P_PIM_COD. |
Cada linha é uma parcela de documento rateado para o processo, uma baixa dessa parcela ou uma previsão financeira. Os valores são a parte do processo no documento, na proporção do rateio (Passo 11). As linhas vêm em ordem de processo, grupo, data da baixa e vencimento, numeradas em PIM_ORDEM.
| Coluna | Conteúdo |
|---|---|
FIN_TIPO | 2 parcela de documento; 1 previsão financeira. Na previsão, FT_COD é o número da previsão. |
PIM_GRUPO | 1 baixado; 2 vencido; 3 a vencer. As previsões são sempre do grupo 3. |
PIM_COD, PIM_CODINTERNO, PIM_CLIPRO | O processo e o cliente dele. |
FL_COD, CF_TIPO, FT_COD, TD_COD, TDP_COD, TDP_DES, CF_COD, CF_RSOCIAL | O documento, o tipo de despesa do processo e a pessoa do documento. CF_TIPO: C receita, F despesa. |
TT_DVC, TT_DPG, BC_COD, FP_COD | Vencimento, data da baixa e a conta e a forma de pagamento da baixa. |
VLR_CREDITO, VLR_DEBITO | O valor da linha. Nas baixas, o valor pago; nas parcelas em aberto e nas previsões, o valor em aberto. |
VLR_CREDITOACM, VLR_DEBITOACM, VLR_SALDO | Crédito e débito acumulados e o saldo acumulado do processo até a linha (crédito menos débito). |
VLR_CAIXA | 1 quando a linha compôs o saldo. Entram no saldo as parcelas vencidas e a vencer, as previsões e, entre as baixas, as lançadas como disponível no fluxo e as de transferência de caixa. As demais baixas aparecem com VLR_CAIXA = 0 e não somam. |
VLR_FLAG | 1 na linha de fechamento de saldo: a última baixa antes dos lançamentos em aberto do processo ou, sem baixa seguida de lançamento em aberto, a última linha. |
{
"method": "GET"
,"objectType": "PROCEDURE RESULT"
,"objectName": "CEI_PRC_RES_RESULTADOFIN"
,"params": [
{ "name": "P_PIM_COD", "value": "215" }
,{ "name": "P_PIM_CLIPRO", "value": "0" }
// 0 = extrato completo; 1 = só a linha de fechamento de saldo
,{ "name": "P_TIPORESULT", "value": "0" }
]
,"orderBy": [ "PIM_ORDEM" ]
}
- Saldo do processo: é o
VLR_SALDOda última linha, a de maiorPIM_ORDEM. O saldo realizado é o da última linha do grupo1. - Previsões: entram as de
DOCSPREVISAOdo processo ainda não efetivadas em documento e com vencimento a partir de hoje. Existem quando a instância usa o controle de previsões financeiras (CG_FT_USAPREVIAFIN = 1; ver a central do módulo). - Mais de uma linha chega como array, e o processo sem documentos nem previsões em aberto volta vazio (HTTP
404comrowCount:0).
Por conta bancária: CEI_RES_EXTRATOBANCARIO_PROCESSO
É o extrato de uma conta (caixa ou banco) no período, com o processo de cada lançamento rateado. Os três parâmetros são obrigatórios: P_BC_COD (o código da conta, cadastrado na retaguarda), P_DT_INI e P_DT_FIM (período das baixas). A rotina não recebe o processo como parâmetro e não devolve PIM_COD: filtre o processo pelo resultado, com where em PIM_CODINTERNO. Por isso o processo precisa ter código interno. Com CG_PIM_SUGESTAOCODIGO = 0, envie-o na inclusão.
Colunas principais: VENCIMENTO, TT_DPG (data da baixa), VALOR_TOTPAGO_CRED, VALOR_TOTPAGO_DEB, DBCR, TIPOLANCA, PIM_CODINTERNO, CF_RSOCIAL_PROCESSO, TDP_DES e VFATOR.
- Documento rateado entre processos aparece uma vez para cada linha de rateio, com os valores já multiplicados pelo fator do processo (
VFATOR). VALOR_SALDOé o saldo da conta, não o do processo. Nas linhas filtradas, as entradas do processo são a soma deVALOR_TOTPAGO_CRED, as saídas são a soma deVALOR_TOTPAGO_DEB, e o resultado do período é a diferença entre as duas. Só os lançamentos liberados (TIPOLANCAterminado em(LB)) movimentam o saldo da conta.
{
"method": "GET"
,"objectType": "PROCEDURE RESULT"
,"objectName": "CEI_RES_EXTRATOBANCARIO_PROCESSO"
,"params": [
{ "name": "P_BC_COD", "value": "1001" }
,{ "name": "P_DT_INI", "value": "2026-09-01 00:00:00" }
,{ "name": "P_DT_FIM", "value": "2026-09-30 23:59:59" }
]
// o processo se filtra pelo resultado
,"where": [
{ "type": "field", "name": "PIM_CODINTERNO", "value": "IMP.0015/26" }
]
}
Use o extrato por conta quando a pergunta for “o que entrou e saiu desta conta, e de qual processo”; para o fluxo de um processo, use a CEI_PRC_RES_RESULTADOFIN.
O follow-up são as etapas de acompanhamento do processo, com as datas previstas e realizadas. A rotina CEI_RES_FOLLOWUP devolve as etapas já cadastradas no processo, com as datas calculadas e a situação de cada uma. As etapas são mantidas na retaguarda do ERP.
| Parâmetro | Descrição |
|---|---|
P_PIM_COD ou P_VD_COD | O processo ou o responsável pelas etapas. Informe um dos dois. |
P_ETP_COD | Opcional. Filtra uma etapa. |
P_ETP_PREV_DATACAL1, P_ETP_PREV_DATACAL2 | Opcionais. Período da data de previsão calculada, com espaço entre data e hora. |
P_PIM_CLIPRO | Opcional. Filtra pelo cliente do processo. |
P_TIPO | Mantenha o padrão, 0. |
pPCG_COD | Não envie: é de uso da Área do Cliente. |
Colunas principais: PIM_COD, PIM_CODINTERNO, ETP_COD, ETP_ORD, ETP_DES, VD_NOM, ETP_PREV_DATACAL, ETP_REAL_DATACAL e ETP_STATUS (0 aberta, 1 prevista, 2 atrasada, 9 realizada).
{
"method": "GET"
,"objectType": "PROCEDURE RESULT"
,"objectName": "CEI_RES_FOLLOWUP"
,"params": [
{ "name": "P_PIM_COD", "value": "215" }
]
,"orderBy": [ "ETP_ORD" ]
}
Só processos ativos. A rotina considera apenas processos com status de tipo Ativo e que tenham etapas cadastradas. Processo encerrado, cancelado ou sem etapas volta vazio (HTTP 404 com rowCount:0). Logo depois da criação, a consulta volta vazia até que as etapas sejam geradas na retaguarda do ERP.
A exclusão pela API alcança o processo que não tem desdobramento de duplicatas, previsões financeiras, DI, títulos rateados, etapas de follow-up nem anexos. Quando o modelo cria esses registros na inclusão, ou quando o processo já avançou, a exclusão é feita na retaguarda do ERP.
Exclua com "method": "DELETE" sobre CEIPROCESCAD, com a chave completa: PIM_COD com "key": true.
{
"method": "DELETE"
,"objectType": "TABLE"
,"objectName": "CEIPROCESCAD"
,"where": [
{ "type": "field", "name": "PIM_COD", "key": true, "value": 215 }
]
}
- O que sai junto: as provisões do processo (
CEIPROCESPREVISAO) e o vínculo com a ordem de serviço de acompanhamento. - O orçamento vinculado fica livre:
CEIORC1.PIM_CODvolta a nulo, e o orçamento pode gerar ou ser vinculado a outro processo.
Erro comum — processo com dependentes. A exclusão é recusada com uma mensagem que cita a tabela dependente, por exemplo Primary key for row in table 'CEIPROCESCAD' is referenced by foreign key 'FK_CEIPROCESCFGDUP_CEIPROCESCAD' in table 'CEIPROCESCFGDUP' (desdobramento de duplicatas) ou a variante com FK_DOCSPREVISAO_CEIPROCESCAD (previsões financeiras). O processo com anexos é recusado com Existem anexos vinculados a este registro.; os anexos se removem pelo endpoint de anexos (Controle de Anexos). Nos demais casos, a exclusão é feita na retaguarda do ERP.
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 processo; Y, outro processo; X, o valor envolvido (código interno, DI ou previsão financeira); E, a empresa; M, o modelo; C, o cliente.
Como a mensagem chega. A tabela cita o texto com acentos, para facilitar a leitura. Na resposta da API, o texto chega precedido de um prefixo com a operação e, fora da exclusão, sem acentos; o formato está em Validações e erros da página do Orçamento. Nas consultas, o prefixo é Falha ao tentar resolver a requisicao (GET). Erro:. No caminho B, a mensagem vem no campo MENSAGEM, com SUCESSO = 0. No lançamento de título rateado, a mensagem chega na coluna DOC_ERRO do retorno (Contas a Pagar/Receber, Passo 11). Compare sempre pelo trecho característico.
Gravação, alteração e exclusão do processo
| Mensagem | Causa | O que fazer |
|---|---|---|
| O campo Auto-Incremente "PIM_COD" não foi encontrado na lista de campos para persistência! | A inclusão omitiu PIM_COD. | Envie PIM_COD com 0 (Passo 4). |
| O processo N está ENCERRADO, é necessário alterar o Status do Processo para permitir quaisquer alterações (ou CANCELADO) | Alteração, ou lançamento de título rateado, em processo com status de tipo Encerrado ou Cancelado. | PUT só com PIM_STATUS de tipo Ativo, depois a alteração (Passo 8). |
| Usuário não autorizado a alterar o Status do Processo N | Reabertura sem a permissão de alterar o status de processo encerrado. | Peça ao gestor do ERP a permissão para o usuário da integração. |
| Não é permitido alterar o Código Interno do processo | Com CG_PIM_SUGESTAOCODIGO maior que 0, o PUT mudou PIM_CODINTERNO. | Não envie PIM_CODINTERNO no PUT. |
| O código interno X já foi utilizado no processo Y | Outro processo já tem esse código interno. | Envie outro código. |
| Configure uma Sigla única para o Cliente deste Processo antes de Salvar | Com CG_PIM_SUGESTAOCODIGO = 2, o cliente do processo 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 modelo | Com CG_FT_USAPREVIAFIN = 1, uma despesa do modelo com pessoa está sem parcela em dias na condição de pagamento. | Peça à retaguarda a condição de pagamento com parcelas nas despesas do modelo e inclua de novo (Passo 1). |
| Já existe a DI X vinculada ao processo N, portanto a informação de processo entrepostado não pode ser alterada | PIM_ENTREPOSTADO alterado com DI vinculada. | Defina o entrepostado antes de registrar a DI. |
| O processo N é processo entreposto, portanto a informação de processo entrepostado não pode ser marcada | O processo foi gerado por entreposto de outro processo. | Não marque PIM_ENTREPOSTADO nele. |
| Notas Fiscais de Nacionalização já foi Gerada. | Tributação (PIM_OPER*) ou tipo de importação alterados depois de toda a mercadoria da DI nacionalizada. | Defina a tributação antes da nacionalização (Passo 7). |
| Nao foram informados valores da chave primaria da tabela | PUT ou DELETE sem "key": true no where. | Marque PIM_COD com "key": true (Passos 7, 8 e 14). |
| Primary key for row in table 'CEIPROCESCAD' is referenced by foreign key 'FK_CEIPROCESCFGDUP_CEIPROCESCAD' in table 'CEIPROCESCFGDUP' | Exclusão de processo com dependentes. Há variantes para as demais tabelas dependentes, como FK_DOCSPREVISAO_CEIPROCESCAD. | Exclua na retaguarda do ERP (Passo 14). |
| Existem anexos vinculados a este registro. | Exclusão de processo com anexos. | Remova os anexos pelo endpoint de anexos (Controle de Anexos). |
Caminho B — em MENSAGEM, com SUCESSO = 0
| Mensagem | Causa | O que fazer |
|---|---|---|
| Nenhuma ordem de compra foi informada na lista. | PLISTA_PE_COD vazio. | Informe os números das Ordens de Compra. |
| Existe ordem de compra inexistente para a empresa E na lista informada. | Número que não é Ordem de Compra da filial PFL_COD. | Confira a lista e a filial pelo GET em PED1. |
| A lista possui ordem de compra cujo tipo de movimento não é de nacionalização (importação). | Ordem de Compra com tipo de movimento que não é de importação. | Envie só Ordens de Compra de importação. |
| A lista possui ordem de compra já vinculada a um orçamento de importação. | Ordem de Compra já usada em outro orçamento. | Tire essa Ordem de Compra da lista. |
| O modelo de processo de importação M não existe. | PMDL_COD inexistente. | Confira o modelo em CEIPROCESMODELO. |
| O cliente C informado para o processo não existe ou não é um cliente. | PCF_CODCLIPRO inexistente ou de pessoa que não é cliente. | Envie uma pessoa de tipo C ou A. |
| Cliente do processo não definido: informe o parâmetro PCF_CODCLIPRO ou configure a pessoa padrão (CF_COD) da filial E. | Sem cliente informado e sem pessoa padrão na filial. | Envie PCF_CODCLIPRO. |
| O modelo M não possui tipo de movimento de nacionalização definido. | Modelo sem TM_CODNAC. | Peça à retaguarda o tipo de movimento de nacionalização no modelo. |
| Mensagens do cálculo e da geração do processo | O orçamento montado pela rotina foi recusado no cálculo ou na geração, por exemplo por falta de itens. | Veja a causa e a ação em Validações e erros da página do Orçamento. |
Consultas
| Mensagem | Causa | O que fazer |
|---|---|---|
| Nao foram encontrados resultados para a requisicao do tipo GET com os parametros informados [ rowCount:0 ]. | A consulta não tem linhas (HTTP 404). | Não é erro: trate como resultado vazio. |
| Favor informar o Processo ou Responsável! | CEI_RES_FOLLOWUP sem P_PIM_COD e sem P_VD_COD. | Informe um dos dois (Passo 13). |
| O metodo POST nao e valido para objetos do tipo PROCEDURE RESULT. | PROCEDURE RESULT chamada com "method" diferente de GET. | Use "method": "GET". |
| O parametro 'X' nao existe para a procedure 'Y'. | Nome de parâmetro errado em params. | Confira os nomes no dicionário da sua instância. |
Termos desta página
Os termos transversais do módulo — Processo de Importação, código interno, modelo de processo, despesa do modelo e data-base — estão na página central. Os abaixo são próprios deste fluxo.
- Status do processo e tipo de status
- O status é o código do cadastro
CEISTATUSPROCESSOgravado emPIM_STATUS; cada instância tem os seus, com descrições próprias. O tipo (STA_TIPO) é o que decide o comportamento:1Ativo,2Encerrado,3Cancelado (Passo 8). - Rateio do documento por processo
- A atribuição de um documento financeiro, no todo ou em parte, a um ou mais processos, em
CEIPROCESRATEIO, com o tipo financeiro e o valor de cada processo. É o único vínculo entre o título e o processo: o documento não guarda o processo (Passo 9). - Previsão financeira e provisão do processo
- Os valores esperados do processo antes de haver título. Com
CG_FT_USAPREVIAFIN = 1, são previsões financeiras emDOCSPREVISAO, com vencimento, que a retaguarda efetiva em documento. Com0, são provisões emCEIPROCESPREVISAO, uma por despesa do modelo. - Desdobramento de duplicatas
- As regras, copiadas do modelo na inclusão do processo (
CEIPROCESCFGDUP), de como a retaguarda gera as duplicatas de cobrança das notas fiscais de saída do processo. - Follow-up
- As etapas de acompanhamento do processo, com datas previstas e realizadas, calculadas a partir das data-bases do processo. São geradas na retaguarda do ERP, a partir das etapas do modelo, e consultadas pela rotina
CEI_RES_FOLLOWUP(Passo 13). - Declaração de Importação (DI ou DUIMP)
- O registro aduaneiro da importação, em
CEIDICAD, identificado porDIM_CODe ligado ao processo porPIM_COD. É registrada na retaguarda do ERP; pela API, serve de filtro para as consultas de estoque e é pré-requisito das consultas de câmbio.
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 Processo 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 CEIPROCESCAD nos dados do processo.
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ágina | Como 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. |
| Orçamento de Importação | O caminho A: o orçamento montado e calculado de que o processo é gerado (Passo 2). O caminho B monta um orçamento sozinho. |
| Contas a Pagar/Receber | O lançamento dos títulos do processo, com o rateio por processo (Passo 9). |
| Ordem de Compra | As Ordens de Compra de importação de que o caminho B gera o orçamento e o processo (Passo 3). |
| Cadastro de Pessoas | O cliente do processo, com a sigla de processo quando CG_PIM_SUGESTAOCODIGO = 2. |
| Controle de Anexos | O endpoint que remove os anexos do processo antes da exclusão. |
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 CEIPROCESCAD, 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.