Fluxo de Contas a Pagar/Receber — Documentação Complementar

Sequência operacional para integração externa com a API do ERP Spalla

1. Introdução


Esta página é uma documentação complementar ao dicionário automático da API do ERP Spalla. Seu propósito é descrever a ordem operacional em que o integrador externo deve executar as chamadas e cadastros para realizar o ciclo completo de lançamento e baixa de títulos financeiros (contas a pagar e contas a receber), identificando em cada passo se a ação é realizada via API ou na retaguarda do ERP.

Esta página não substitui o dicionário oficial da sua instância. Todos os detalhes técnicos — parâmetros aceitos, tipos de dados, regras de obrigatoriedade, estrutura de retorno, lista de objetos exportados — estão no dicionário oficial e devem ser consultados lá. Quando algum detalhe desse tipo for necessário, esta página orienta o leitor a abrir o dicionário oficial na entrada correspondente.

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


Cada empresa que opera o ERP Spalla expõe o seu próprio dicionário automático em um endereço próprio. Para acessá-lo, abra no navegador a URL no formato abaixo, substituindo os placeholders pelos valores da sua instância:

https://<host>:<porta>/root/dicionario?userToken=<token>

O dicionário oficial é a fonte autoritativa para parâmetros, tipos, obrigatoriedade, exemplos completos e lista de objetos liberados para a sua API.

3. Visão geral do fluxo


O ciclo completo compreende três blocos lógicos, executados em ordem:

  1. Preparar os cadastros de retaguarda — conjunto de tabelas auxiliares do ERP (empresa, tipo de operação, centro de custo, condição de pagamento, carteira de cobrança, conta corrente, forma de pagamento, etc.) que precisam existir antes que qualquer documento financeiro possa ser lançado. Esses cadastros são feitos pela operação dentro do próprio ERP.
  2. Cadastrar a pessoa (cliente ou fornecedor) via API — a pessoa associada ao documento pode ser criada e mantida via API REST sobre o objeto pessoa do ERP, desde que os verbos de escrita tenham sido previamente liberados na retaguarda.
  3. Executar o lançamento e a baixa do título — chamada à procedure de inclusão (APW_PRC_FINDOCADD) seguida, quando o título for liquidado, da chamada à procedure de baixa (APW_PRC_FINDOCADDBAIXA).

4. Diagrama de execução


Convenção visual: azul (Retaguarda do ERP) · verde (Via API).

5. Aviso sobre cadastro de pessoa via API


Atenção — liberação necessária na retaguarda.

O cadastro de pessoa (cliente ou fornecedor) via API é realizado por chamadas REST padrão (POST, PUT, DELETE) sobre o objeto pessoa do ERP. Esses verbos de escrita, no entanto, não vêm habilitados por padrão em todas as instalações do Spalla. A liberação é controlada na retaguarda do ERP pela operação responsável pela API. Sem essa liberação prévia, as requisições de escrita sobre o objeto pessoa não serão aceitas.

Antes de iniciar a integração, confirme com a equipe responsável que os verbos de escrita necessários foram habilitados para a sua chave de API. A lista de verbos efetivamente liberados para a sua instância aparece no dicionário oficial.

Define a entidade jurídica (empresa) e, quando aplicável, a filial sobre a qual o título financeiro será lançado. É o ponto de partida do cabeçalho do documento.

Onde cadastrar no ERP: módulo Cad → Cadastros → Empresa.

Tabela referenciada: FILIAL.

Como referenciar nas chamadas da API: o código da empresa/filial é informado no cabeçalho do lançamento, na chave FL_COD (ver o Passo 11).

Tipo de operação financeira (por exemplo, duplicata, boleto, nota de débito), conforme cadastro interno do ERP. Determina regras operacionais aplicadas ao título.

Onde cadastrar no ERP: módulo Cad → Configurações → Ver mais → Tipo de Operação.

Tabela referenciada: TPDOC.

Como referenciar nas chamadas da API: o código do tipo de operação é informado no cabeçalho do lançamento, na chave TD_COD. Os tipos cadastrados na sua instância são os registros de TPDOC.

Estrutura analítica que classifica o documento por departamento, projeto ou área. O documento financeiro lançado pela API referencia um centro de custo, informado no cabeçalho.

Onde cadastrar no ERP: módulo Cad → Cadastros → Centro de Custo.

Tabela referenciada: SETOR (denominação interna; equivale a Centro de Custo no domínio funcional).

Como referenciar nas chamadas da API: o código é informado no cabeçalho do lançamento, na chave ST_COD.

Índice ou cotação aplicado ao documento financeiro para conversão de valores. Relevante quando o documento contém valores expressos em referência distinta da padrão configurada para a operação.

Onde cadastrar no ERP: módulo Fin → Configurações Financeiras → Ver mais → Índices.

Tabela referenciada: INDICES.

Como referenciar nas chamadas da API: o código do índice pode ser informado no cabeçalho do lançamento, na chave ID_COD. É um campo opcional.

Define a condição de pagamento (também referida internamente como prazo de pagamento) — quantidade de parcelas, intervalos e regras aplicáveis quando o título for parcelado automaticamente pelo ERP. É a fonte do comportamento padrão de parcelamento.

Onde cadastrar no ERP: módulo Fin → Configurações Financeiras → Ver mais → Condição de Pagamento.

Tabela referenciada: PRAZO.

Como referenciar nas chamadas da API: o código da condição de pagamento é informado no cabeçalho do lançamento, na chave PZ_COD. Quando o integrador não envia as parcelas (chave TITULO), o Spalla usa a condição cadastrada para gerar as parcelas.

Carteira de cobrança (também referida como portador de cobrança ou portador do título) — conjunto de regras que define como cada parcela será cobrada/paga: conta corrente associada, forma de pagamento padrão, relatório de boleto, percentuais de juros e multa, entre outros. É referenciada em cada parcela quando o integrador envia manualmente as parcelas no JSON do lançamento (chave TITULO).

Onde cadastrar no ERP: módulo Fin → Configurações Financeiras → Ver mais → Contas → Carteira de Cobrança.

Tabela referenciada: PORTA (denominação interna; equivale a Carteira de Cobrança no domínio funcional).

Como referenciar nas chamadas da API: o código da carteira é informado na chave PT_COD de cada parcela, quando as parcelas são enviadas na chave TITULO.

Conta corrente (também referida como banco) — conta bancária da empresa onde o pagamento ou recebimento será efetivado. Obrigatória no momento da baixa do título.

Onde cadastrar no ERP: módulo Fin → Configurações Financeiras → Ver mais → Contas → Conta Corrente.

Tabela referenciada: BANCO (denominação interna; equivale a Conta Corrente no domínio funcional).

Como referenciar nas chamadas da API: o código da conta corrente é informado no momento da baixa do título. A nomenclatura exata do parâmetro está no dicionário oficial.

Meio de pagamento utilizado na liquidação do título (por exemplo, dinheiro, cheque, cartão, transferência), conforme cadastro do ERP. Obrigatório no momento da baixa.

Onde cadastrar no ERP: módulo Fin → Configurações Financeiras → Ver mais → Forma de Pagamento.

Tabela referenciada: FORPAG.

Como referenciar nas chamadas da API: o código da forma de pagamento é informado no momento da baixa. Veja o dicionário oficial para a lista de formas habilitadas na sua instância.

Este passo é opcional e só se aplica quando o documento financeiro está vinculado a uma operação de comércio exterior — ou seja, quando se trata de uma despesa/receita relacionada a um processo de importação ou a um processo de exportação. Para operações financeiras comuns (sem vínculo com comércio exterior), pule este passo.

Um documento se vincula a processo de importação ou a processo de exportação: envie no lançamento só uma das duas chaves de rateio, CEIPROCESRATEIO para importação ou EXPRATEIO para exportação.

A) Vínculo com Processo de Importação

Quando o financeiro for despesa/receita de um processo de importação, o JSON do lançamento (Passo 11) leva a chave CEIPROCESRATEIO. Cada item dela grava uma linha na tabela CEIPROCESRATEIO — "Rateio de Documentos por Processo" —, que liga o documento ao processo. É por ela que o documento se relaciona com o processo: o cabeçalho do documento (DOCS) não guarda o código do processo. O rateio depende de dois cadastros:

Os campos de cada item de CEIPROCESRATEIO

A chave é um array com um item por processo e tipo financeiro. Para ratear o documento entre dois processos, ou entre dois tipos financeiros do mesmo processo, envie um item para cada combinação.

CampoEnvioConteúdo
PIM_CODObrigatórioCódigo do processo de importação (CEIPROCESCAD.PIM_COD). É a primeira chave de cada item: a rotina reconhece o início de um item pela chave PIM_COD.
TDP_CODObrigatórioCódigo do tipo financeiro (CEIPROCESTPDOC.TDP_COD).
PIM_VALMNACIOSempreValor atribuído ao processo, em moeda nacional.
PIM_VALMDOLAROpcionalValor em moeda estrangeira (contrato de câmbio). Envie 0 quando não houver.
PIM_CUSTOOpcionalIndicativo de incidência no custo do processo. Os valores aceitos estão no dicionário oficial, no campo PIM_CUSTO de CEIPROCESRATEIO. Omitido, o servidor usa o TDP_CUSTO do tipo financeiro.
PIM_REEMBOLSOOpcionalLançamento em conta corrente: 0 nenhum, 1 débito, 2 crédito. Omitido, o servidor usa o TDP_REEMBOLSO do tipo financeiro.

O exemplo completo, com cabeçalho e rateio, está no Passo 11, em Cenário C.

Validações do rateio por processo de importação

As validações abaixo são executadas no servidor em cada item. Quando uma delas recusa o lançamento, a mensagem chega na coluna DOC_ERRO do retorno do Passo 11. N é o código do processo (PIM_COD) ou do documento, conforme a mensagem. A mensagem de nota fiscal de nacionalização vem precedida do prefixo interno DBMATENCAO,OPERACAO|: descarte-o ao exibir para o usuário final.

MensagemCausaAção
O processo N está CANCELADO, é necessário alterar o Status do Processo para permitir quaisquer alteraçõesO status do processo do item é do tipo Cancelado.Confira o PIM_COD. Para lançar no processo, o status dele precisa voltar a um status do tipo Ativo, pela API (Processo de Importação, Passo 8) ou na retaguarda do ERP.
O processo N está ENCERRADO, é necessário alterar o Status do Processo para permitir quaisquer alteraçõesO status do processo do item é do tipo Encerrado.Confira o PIM_COD. Para lançar no processo, o status dele precisa voltar a um status do tipo Ativo, pela API (Processo de Importação, Passo 8) ou na retaguarda do ERP.
Somente é permitido rateio entre processos, quando não houver Incidência de Custo de Entrada!O documento é rateado entre dois ou mais processos, e algum item tem incidência no custo de entrada contábil (PIM_CUSTO igual a 1, 2, 5 ou 8, informado ou herdado do tipo financeiro).Lance um documento para cada processo, ou use nos itens tipos financeiros sem incidência no custo de entrada.
Nota Fiscal de Nacionalização já foi gerada no Documento NItem com PIM_CUSTO 1 ou 2 (informado ou herdado) em processo cuja nota fiscal de nacionalização já foi emitida.Confirme com a retaguarda do ERP a incidência no custo a usar em despesa lançada depois da nacionalização.

O status do processo está em CEIPROCESCAD.PIM_STATUS, e o tipo de cada status (Ativo, Encerrado ou Cancelado), em CEISTATUSPROCESSO.

Previsões financeiras do processo

Com CG_FT_USAPREVIAFIN = 1, o processo pode ter previsões financeiras das suas despesas, criadas na inclusão ou na geração do processo. Os títulos que têm previsão são efetivados na retaguarda do ERP, que transforma a previsão no documento com o rateio para o processo. Pela API, lance só os títulos das despesas que não têm previsão, para que a mesma despesa não conte duas vezes nas consultas financeiras do processo.

As previsões estão em DOCSPREVISAO, com o processo em PIM_COD e o tipo financeiro em TDP_COD. Confirme no dicionário da sua instância se o objeto está disponível para o seu token; se faltar, peça ao gestor do ERP a revisão do cadastro de API.

Conferência do vínculo

Depois do lançamento, o rateio gravado é lido com GET em CEIPROCESRATEIO, filtrando por PIM_COD (todos os documentos do processo) ou pela chave do documento (FL_COD, CF_TIPO e FT_COD, devolvidos pelo Passo 11). Confirme no dicionário da sua instância se CEIPROCESRATEIO está disponível para o seu token; se faltar, peça ao gestor do ERP a revisão do cadastro de API.

B) Vínculo com Processo de Exportação

Quando o financeiro for despesa/receita de um processo de exportação, o JSON do lançamento leva a chave EXPRATEIO. Cada item grava uma linha na tabela EXPRATEIO — "Rateio de Contas (Exportação)" —, que possui FK para o processo de exportação na tabela EXPPROCES. Por isso, é necessário um único cadastro prévio na retaguarda:

Cada item de EXPRATEIO começa pela chave EXP_COD, o código do processo de exportação, e leva os campos abaixo. O processo de exportação precisa ser da mesma filial do documento (FL_COD do cabeçalho).

Como no rateio de importação, envie todos os itens de EXPRATEIO na mesma chamada que cria o documento.

Trecho do JSON do lançamento, junto com as chaves do cabeçalho do Passo 11:

{
    "EXPRATEIO": [
        {
            "EXP_COD": 12
            ,"EXP_DATMOV": "2026-10-05 00:00:00"
            ,"EXP_VALMNACIO": 1250.00
            ,"EXP_VALMDOLAR": 0
            ,"EXP_REEMBOLSO": 0
        }
    ]
}

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

Diferença entre os dois cenários

AspectoImportaçãoExportação
Chave do JSON usadaCEIPROCESRATEIOEXPRATEIO
Primeira chave de cada itemPIM_CODEXP_COD
Cadastros prévios exigidosCEIPROCESCAD + CEIPROCESTPDOCEXPPROCES
Tabela de rateio que recebe os registrosCEIPROCESRATEIOEXPRATEIO
Tipificação financeira por itemObrigatória (TDP_COD)Não se aplica

Quando não usar: em todas as operações financeiras que não têm vínculo com comércio exterior, este passo é dispensado. O integrador simplesmente omite as chaves CEIPROCESRATEIO e EXPRATEIO no JSON do lançamento.

Toda movimentação financeira está vinculada a uma pessoa — um cliente (quando o título é a receber) ou um fornecedor (quando é a pagar). Esse cadastro pode ser criado, alterado e removido via API REST, usando os verbos padrão sobre o objeto pessoa do ERP.

O cadastro de pessoas é gravado em duas tabelas:

A API expõe esses dois cadastros como objetos REST separados. Os nomes exatos dos objetos e a relação entre eles estão descritos no dicionário oficial da sua instância.

Liberação prévia na retaguarda. Os verbos de escrita (POST, PUT, DELETE) sobre os objetos de pessoa e de contato precisam ter sido habilitados na retaguarda do ERP para a chave de API que será usada. Verbos não liberados resultam em rejeição da requisição.

Onde encontrar a definição do objeto: no dicionário oficial da sua API, na entrada do objeto pessoa. Lá estão os campos aceitos, tipos de dado, regras de obrigatoriedade e exemplos de payload completos.

Verbos típicos do ciclo de vida:

A lista de verbos efetivamente liberados para a sua chave aparece no próprio dicionário oficial da sua instância.

Dica — descobrir a tabela e o campo a partir da interface do ERP. Ao operar qualquer tela do ERP Spalla diretamente pela interface (Cadastro de Pessoa ou qualquer outra), pressione a combinação Ctrl + Alt + Shift + H. O sistema altera o título da janela indicando que o modo de identificação está ativo. A partir desse momento, ao parar o mouse sobre qualquer campo da tela, aparece uma dica com o nome da tabela e do campo a que ele está vinculado. É um recurso prático para mapear visualmente, durante o uso do ERP, qual tabela e qual coluna correspondem a cada campo da tela — e assim correlacionar essas referências com as chaves do JSON utilizadas na API.

Regras de validação e integridade referencial. As regras de validação aplicadas ao cadastro de pessoa via API são exatamente as mesmas que o ERP aplica quando o cadastro é feito diretamente pela operação na interface do sistema. Essas validações são executadas no servidor e atuam em todas as operações de inclusão (POST), alteração (PUT) e exclusão (DELETE), independentemente do canal de origem — interface gráfica do ERP, API REST ou procedure.

O sistema mantém integridade referencial entre os registros. Por isso, por exemplo, uma pessoa (cliente ou fornecedor) que já foi utilizada em um documento financeiro não pode ser excluída — a exclusão é rejeitada para preservar a consistência do histórico de movimentos. Restrições análogas se aplicam aos demais cadastros: qualquer registro referenciado por outro documento permanece bloqueado para exclusão enquanto a referência existir.

A mesma garantia vale para os passos de lançamento (APW_PRC_FINDOCADD) e baixa (APW_PRC_FINDOCADDBAIXA): todas as validações de negócio do sistema são aplicadas integralmente, qualquer que seja o canal de entrada. Mensagens de erro retornadas pela API são as mesmas geradas pelo servidor quando a mesma regra é violada na operação direta pelo ERP.

Procedure responsável por incluir um documento financeiro — tanto a pagar quanto a receber. O tipo de movimento é definido pela chave CF_TIPO do cabeçalho: "F" para documento de fornecedor (recebido, a pagar) e "C" para documento de cliente (emitido, a receber).

Forma de entrada

A procedure recebe um único parâmetro, pRawJson: uma string contendo um JSON serializado. Monte o objeto JSON, converta-o em texto e envie o texto como valor do parâmetro. A rotina é executada como PROCEDURE RESULT, com "method": "GET" no corpo e verbo HTTP PATCH. Apesar do GET, ela grava o documento: o tipo diz só que o retorno chega estruturado. Cada chamada bem-sucedida cria um documento novo, por isso não a repita para conferir: consulte o documento com a chave devolvida, pelas views de Consulta dos dados gerados. O objeto tem quatro partes:

Chaves do cabeçalho

ChaveEnvioConteúdo
FL_CODObrigatórioEmpresa/filial (Passo 1).
CF_TIPOObrigatório"F" a pagar, "C" a receber.
TD_CODObrigatórioTipo de operação (Passo 2).
ST_CODObrigatórioCentro de custo (Passo 3).
CF_CODObrigatórioPessoa: o fornecedor ou o cliente do documento (Passo 10).
MD_CODObrigatórioCódigo da moeda.
PZ_CODObrigatórioCondição de pagamento (Passo 5).
FT_VALSempreValor do documento, com ponto decimal.
FT_BRUTOSempreValor bruto do documento, com ponto decimal.
FT_NUMOpcionalNúmero do documento. Omitido ou 0: se o tipo de operação tem série, o servidor usa o próximo número da série; sem série, o documento a pagar ("F") recebe o próprio FT_COD como número. No documento a receber ("C") de tipo sem série, envie o número. Com série protegida no tipo de operação, o servidor numera mesmo que você envie FT_NUM.
FT_NR2OpcionalOutro número do documento, em texto (até 20 caracteres).
FT_EMIOpcionalData de emissão, com hora, no formato "AAAA-MM-DD HH:MM:SS". Omitida, vale a data atual. O documento guarda só a data.
FT_DATOpcionalData de movimento, no mesmo formato e com a mesma regra de FT_EMI.
ID_CODOpcionalÍndice / cotação (Passo 4).

O código do documento (FT_COD) não é enviado: o servidor o numera e o devolve no retorno.

Campos de cada parcela em TITULO

CampoEnvioConteúdo
PT_CODObrigatórioCarteira de cobrança (Passo 6). É a primeira chave de cada parcela: a rotina reconhece o início de uma parcela pela chave PT_COD.
TT_DVCObrigatórioData de vencimento, com hora, no formato "AAAA-MM-DD HH:MM:SS".
TT_VALSempreValor da parcela, em moeda nacional.
TT_VALMESTOpcionalValor da parcela em moeda estrangeira. Envie 0 quando não houver.
TT_HISOpcionalHistórico da parcela (até 250 caracteres).
TT_PJROpcionalPercentual de juros de mora.
TT_PMTOpcionalPercentual de multa.
TT_PDCOpcionalPercentual de desconto.

As parcelas são numeradas na ordem do array (TT_ORD 1, 2, 3…). Envie só os campos da tabela.

Cenário A — parcelas geradas automaticamente pelo Spalla

Quando TITULO é omitido, o Spalla utiliza a condição de pagamento referenciada no cabeçalho (PZ_COD) para calcular automaticamente a quantidade de parcelas, datas de vencimento e valores. É o caminho mais simples. O JSON antes da serialização:

{
    "FL_COD": 1
    ,"CF_TIPO": "F"
    ,"TD_COD": 5132
    ,"ST_COD": 58
    ,"CF_COD": 3326
    ,"FT_NR2": "NF 4512"
    ,"FT_EMI": "2026-10-01 00:00:00"
    ,"FT_DAT": "2026-10-01 00:00:00"
    ,"MD_COD": 1
    ,"PZ_COD": 2246
    ,"FT_VAL": 1500.00
    ,"FT_BRUTO": 1500.00
}

O mesmo JSON, serializado no parâmetro pRawJson da requisição:

{
    "method": "GET"
    ,"objectType": "PROCEDURE RESULT"
    ,"objectName": "APW_PRC_FINDOCADD"
    ,"params": [
        {
            "name": "pRawJson"
            ,"value": "{\"FL_COD\":1,\"CF_TIPO\":\"F\",\"TD_COD\":5132,\"ST_COD\":58,\"CF_COD\":3326,\"FT_NR2\":\"NF 4512\",\"FT_EMI\":\"2026-10-01 00:00:00\",\"FT_DAT\":\"2026-10-01 00:00:00\",\"MD_COD\":1,\"PZ_COD\":2246,\"FT_VAL\":1500.00,\"FT_BRUTO\":1500.00}"
        }
    ]
}

Cenário B — parcelas controladas manualmente pelo integrador

Quando TITULO é enviado, o Spalla descarta o parcelamento automático e grava exatamente as parcelas descritas. Use este cenário quando precisar de controle total sobre datas, valores, históricos individuais e percentuais de juros, multa e desconto por parcela.

{
    "FL_COD": 1
    ,"CF_TIPO": "F"
    ,"TD_COD": 5132
    ,"ST_COD": 58
    ,"CF_COD": 3326
    ,"FT_EMI": "2026-10-01 00:00:00"
    ,"FT_DAT": "2026-10-01 00:00:00"
    ,"MD_COD": 1
    ,"PZ_COD": 2246
    ,"FT_VAL": 1500.00
    ,"FT_BRUTO": 1500.00
    ,"TITULO": [
        {
            "PT_COD": 1001
            ,"TT_VAL": 750.00
            ,"TT_VALMEST": 0
            ,"TT_DVC": "2026-10-31 00:00:00"
            ,"TT_HIS": "Parcela 1 de 2"
            ,"TT_PJR": 1
            ,"TT_PMT": 2
            ,"TT_PDC": 0
        }
        ,{
            "PT_COD": 1001
            ,"TT_VAL": 750.00
            ,"TT_VALMEST": 0
            ,"TT_DVC": "2026-11-30 00:00:00"
            ,"TT_HIS": "Parcela 2 de 2"
            ,"TT_PJR": 1
            ,"TT_PMT": 2
            ,"TT_PDC": 0
        }
    ]
}

Cenário C — lançamento vinculado a processo de importação

Despesa de um processo de importação: o cabeçalho, com ou sem TITULO, mais a chave CEIPROCESRATEIO. No exemplo, o documento é atribuído a dois tipos financeiros do mesmo processo; PIM_CUSTO e PIM_REEMBOLSO foram omitidos e vêm do tipo financeiro. Os campos e as validações do rateio estão no Passo 9.

{
    "FL_COD": 1
    ,"CF_TIPO": "F"
    ,"TD_COD": 5132
    ,"ST_COD": 58
    ,"CF_COD": 3326
    ,"FT_EMI": "2026-10-01 00:00:00"
    ,"FT_DAT": "2026-10-01 00:00:00"
    ,"MD_COD": 1
    ,"PZ_COD": 2246
    ,"FT_VAL": 1500.00
    ,"FT_BRUTO": 1500.00
    ,"CEIPROCESRATEIO": [
        {
            "PIM_COD": 6
            ,"TDP_COD": 254
            ,"PIM_VALMNACIO": 1200.00
            ,"PIM_VALMDOLAR": 0
        }
        ,{
            "PIM_COD": 6
            ,"TDP_COD": 260
            ,"PIM_VALMNACIO": 300.00
            ,"PIM_VALMDOLAR": 0
        }
    ]
}

Retorno

A procedure devolve uma linha com as colunas abaixo.

ColunaConteúdo
FL_COD, CF_TIPO, FT_CODChave do documento. Pode vir preenchida também na recusa: use-a só quando DOC_ERRO estiver vazio.
DOC_RETORNOTexto com um array JSON, um item por parcela gravada, com FL_COD, CF_TIPO, FT_COD, TT_ORD (número da parcela) e TT_ORDEM (número de identificação único da parcela).
DOC_ERROVazio quando o lançamento é gravado. Na recusa, traz a mensagem do servidor, e DOC_RETORNO fica vazio.
DOC_JSONO JSON recebido em pRawJson.

Conteúdo de DOC_RETORNO de um documento com duas parcelas, depois de convertido de texto para JSON:

[
    { "FL_COD": 1, "CF_TIPO": "F", "FT_COD": 7037, "TT_ORD": 1, "TT_ORDEM": 124583 }
    ,{ "FL_COD": 1, "CF_TIPO": "F", "FT_COD": 7037, "TT_ORD": 2, "TT_ORDEM": 124584 }
]

Guarde FL_COD, CF_TIPO, FT_COD e TT_ORD de cada parcela: são eles que identificam a parcela na baixa (Passo 12). Verifique DOC_ERRO em toda resposta: é ali que chega a recusa do lançamento.

Pré-requisitos cumpridos antes deste passo

Todos os cadastros relevantes para o cabeçalho e para as chaves opcionais de rateio (passos 1 a 9) e o cadastro da pessoa (passo 10) precisam estar concluídos.

Procedure responsável por registrar o pagamento (no caso de contas a pagar) ou o recebimento (no caso de contas a receber) de um título previamente lançado. A diferenciação entre baixa de título a pagar e baixa de título a receber é feita pelo mesmo indicador de tipo de movimento usado no lançamento.

Forma de entrada

A procedure recebe um conjunto de parâmetros distintos para identificar o título (chave devolvida pelo lançamento) e descrever a baixa (data de pagamento, valor, forma de pagamento, conta corrente, histórico, e os valores complementares de desconto, juros, multa e acréscimo).

Para a assinatura completa, com nome de cada parâmetro, tipo, obrigatoriedade e ordem, consulte o dicionário oficial da sua API na entrada APW_PRC_FINDOCADDBAIXA.

Pré-requisito obrigatório

O título precisa existir antes da baixa. A baixa é executada sobre uma parcela já gravada por APW_PRC_FINDOCADD (passo 11) ou já existente no ERP. A chave de identificação devolvida pelo lançamento é o que conecta a baixa ao título correto.

Retorno

A procedure devolve a confirmação da baixa registrada. Os campos exatos do retorno e o comportamento em caso de baixa parcial estão descritos no dicionário oficial.

Validações e erros


As validações aplicadas ao lançamento e à baixa são as regras de negócio do ERP Spalla, executadas no servidor — restrições de integridade referencial e as validações próprias dos objetos envolvidos. Quando alguma dessas regras é violada, a mensagem original gerada pelo servidor é retornada no corpo da resposta da procedure.

No lançamento (APW_PRC_FINDOCADD), a recusa chega na coluna DOC_ERRO do retorno, com a mensagem do servidor, e DOC_RETORNO fica vazio (ver o Passo 11). As mensagens do rateio por processo de importação — processo cancelado ou encerrado, rateio entre processos com incidência no custo de entrada e nota fiscal de nacionalização já gerada — estão no Passo 9, com a causa e a ação de cada uma.

O integrador deve tratar a mensagem de erro retornada e exibi-la ou registrá-la conforme a necessidade da integração. Compare pelo trecho característico da mensagem, e não pelo texto inteiro: códigos de processo e de documento fazem parte dela.

Consulta dos dados gerados


Após o lançamento e a baixa, os títulos ficam disponíveis para consulta pelo módulo financeiro do ERP Spalla. Para que o integrador também possa consumir esses dados via API, o Spalla disponibiliza quatro views de leitura, expostas como objetos REST (verbo GET). Cada uma representa um recorte específico do ciclo do título:

View Conteúdo Quando consultar
SPA_CONTASAPAGAR Títulos a pagar — em aberto Listar obrigações financeiras pendentes com fornecedores (despesas ainda não liquidadas).
SPA_CONTASPAGAS Títulos pagos — histórico Auditar pagamentos já efetuados a fornecedores, com data, valor e forma de pagamento.
SPA_CONTASARECEBER Títulos a receber — em aberto Listar valores a receber de clientes (receitas ainda não liquidadas).
SPA_CONTASRECEBIDAS Títulos recebidos — histórico Auditar recebimentos já efetuados de clientes, com data, valor e forma de pagamento.

As quatro views consolidam dados do cabeçalho do documento (empresa, pessoa, tipo de operação, datas, valores) e da parcela (vencimento, número da parcela, status). As views SPA_CONTASPAGAS e SPA_CONTASRECEBIDAS incluem ainda os dados da baixa (data do pagamento, forma e banco), permitindo a reconciliação completa do ciclo lançamento → baixa.

Liberação na retaguarda. A consulta sobre cada uma dessas views precisa estar habilitada na retaguarda do ERP para a chave de API utilizada. Sem essa liberação, a view não aparece no dicionário da sua instância nem responde a requisições.

Como consultar: a forma exata de chamar cada view via API — endpoint, método HTTP, estrutura do corpo da requisição, parâmetros aceitos (filtros, limites, ordenação, seleção de campos) e exemplo de payload de retorno — está descrita no dicionário oficial da sua API, nas entradas correspondentes a cada uma das quatro views. Cada cliente do Spalla possui o seu próprio dicionário, refletindo a configuração e as liberações específicas da sua instância. Consulte-o sempre que precisar da especificação detalhada de uma consulta — esta documentação complementar não duplica essas informações para evitar conflito com o que está publicado no dicionário oficial.

Onde aprofundar


Esta página é um guia operacional — descreve o que fazer e em que ordem. Para como exatamente chamar cada procedure (nomes de chaves, tipos de dado, obrigatoriedade, exemplos completos de payload e de retorno), a fonte autoritativa é o dicionário oficial da sua instância, em https://<host>:<porta>/root/dicionario?userToken=<token>.

O dicionário oficial é gerado dinamicamente a partir da configuração da própria instalação, refletindo sempre o estado atual da API liberada para aquela chave. Manter o consumo da API baseado nele garante que a integração permaneça alinhada com a versão exata do ERP em produção.