- Criado por Ramon Toledo Gomes, última alteração por Sergio Martins Vieira em 25 abr, 2024
Sumário
Objetivo
Esse documento tem o objetivo de exemplificar o uso da API de Lançamento Contábil utilizando todos os métodos implementados.
Importante
Recurso disponível a partir da release 12.1.2406.
1 - Campos e Parâmetros
Descrição detalhada dos campos da API de lançamento contábil.
As tabelas abaixo são divididas da seguinte maneira:
- Campo: Identificação do campo no Json.
- Identificador: Identificação do campo no banco de dados RM correspondente ao campo Json.
- Tipo: Tipo de valor aceito no campo, podendo ser numérico (Int, Decimal), condicionais (Boolean), texto (String, Datetime), além do tipo List, para esse último, é esperado uma nova sequência de dados (Bloco interno).
- Descrição: Fornece uma descrição do campo.
- Obrigatório: Especifica se a informação é obrigatória durante operações de envio (POST, PUT, PATCH). Caso a informação seja obrigatória condicionalmente essa informação será descrita no campo Observação.
- Observação: Informações condicionais ou importantes para o funcionamento da API serão apresentadas nesse campo.
| LANÇAMENTO | |||||
|---|---|---|---|---|---|
| Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
| operationId | IDOPERACAO | Int | Identificador de Operação | - | Uso interno do Sistema |
| reversal | ESTORNO | Boolean | Lançamento de Estorno | - | Uso interno do Sistema |
| companyId | CODCOLIGADA | Int | Coligada | POST, PUT, PATCH | |
| entryId | IDLANCAMENTO | Int | Id do Lançamento | POST, PUT, PATCH | No caso de Inserção de lançamento, o valor informado deve ser zero (0). |
| batchCode | CODLOTE | Int | Código do Lote | POST, PUT, PATCH | |
| description | DESCRICAO | String | Descrição do Lançamento | POST, PUT | |
| approvalUserId | CODUSUARIOAPROVACAO | String(20) | Código do usuário que aprovou o lançamento (para o lote 0[zero]) | - | Apenas informativo (seu valor é gerado por um processo dentro do TOTVS Gestão contábil). Caso tal campo seja informado para os métodos POST, PUT, PATCH o sistema o desconsiderará. |
| approvalDate | DATAAPROVACAO | DateTime | Data em que o lançamento foi aprovado (para o lote 0[zero]) | - | Apenas informativo (seu valor é gerado por um processo dentro do TOTVS Gestão contábil). Caso tal campo seja informado para os métodos POST, PUT, PATCH o sistema o desconsiderará. |
| accountEntry | PARTIDA | List | Partidas | POST, PUT | Não é possível inserir lançamento sem partidas. |
No método PUT (Alteração de lançamento), é possível realizar inclusões, alterações e exclusões de partidas. Para isso, é necessário seguir os seguintes procedimentos:
- Alteração: Deve-se informar a chave da partida (entryNumberId) que deseja modificar.
- Inclusão: Ao passar a chave (entryNumberId) com o valor zero (0), o sistema interpretará como uma inserção de nova partida.
- Exclusão: As partidas não incluídas na requisição do método PUT serão removidas do lançamento.
PARTIDA (accountEntry) | |||||
|---|---|---|---|---|---|
Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
| entryNumberId | IDPARTIDA | Int | Identificador da Partida | POST, PUT, PATCH | No caso de Inserção de lançamento (POST), ou inserção de nova partida em lançamento já existente (PUT) o valor do campo deve ser zero (0). |
| branchId | CODFILIAL | Int | Filial | POST, PUT | |
| branchName | NOMEFILIAL | String | Descrição Filial | - | Campo somente para leitura |
| costCenterCode | CODCCUSTO | String | Código do Centro de Custo | - | |
| document | DOCUMENTO | String | Documento | Condicional | Obrigatório quando parametrizado. |
| date | DATA | DateTime | Data | POST, PUT | A data deve estar dentro do período contábil atual. |
| dateInclusion | DATAINCLUSAO | DateTime | Data da inclusão do lançamento | - | Uso interno do sistema, a data será preenchida com a data da inclusão do lançamento. |
| companyIdDebitAccount | CodColDebito | Int | Coligada da Conta a Débito | Condicional | Obrigatório se tiver conta Débito |
| debitAccount | CodContaDebito | String | Cód. conta débito | Condicional | Obrigatório pelo menos uma conta de débito ou crédito |
| debitDescription | DescricaoDebito | String | Descrição da Conta Débito | - | Campo somente para leitura |
| companyIdCreditAccount | CodColCredito | Int | Coligada da Conta a Crédito | Condicional | Obrigatório pelo menos uma conta de débito ou crédito |
| creditAccount | CodContaCredito | String | Cód. conta crédito | Condicional | Obrigatório se tiver conta Crédito |
| creditDescription | DescricaoCredito | String | Descrição da Conta Crédito | - | Campo somente para leitura |
| companyIdAgainstEntry | CodColContraPartida | Int | Coligada da Conta Contra Partida | - | |
| value | VALOR | Decimal | Valor | POST, PUT | O valor informado deve ser maior que zero. |
| value2 | VALOR2 | Decimal | Segundo Valor | - | |
| date2 | DATA2 | Data | Data da Cotação do Segundo Valor | - | |
| integrateApplication | IntegraAplicacao | String | Aplicação que Gerou o Lançamento. | - | Campo de controle interno. |
| generationType | TipoGeracao | String | Tipo de Geração | - | Campo de controle interno. |
| historicCode | CODHISTP | String | Histórico | - | |
| user | Usuario | String | Usuário que incluiu lançamento | - | Será gravado o usuário que enviou a requisição. |
| complementaryFields | CamposComplementares | List | Complemento | - | |
| apportionmentDebit | RateioDebito | List | Rateio Debito | Condicional | Obrigatório para conta débito que exige rateio |
| apportionmentCredit | RateioCredito | List | Rateio Credito | Condicional | Obrigatório para conta crédito que exige rateio |
| valuesCurrencies | MoedaValores | List | MultiMoedas | - | |
| apportionmentValuesCurrencies | RateioMoedasValores | List | Rateio MultiMoedas | - | |
Os campos complementares são adaptados para atender às necessidades específicas de cada sistema.
Abaixo, listamos somente os campos obrigatórios que devem ser preenchidos quando há informações adicionais.
| CamposComplementares (complementaryFields) | |||||
|---|---|---|---|---|---|
| Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
| codlote | CODLOTE | Int | Código do lote atual | PUT, PATCH | Deve ser suprimido nas inserções, o sistema irá gerar automaticamente. Veja exemplo no método POST. |
| lctref | LCTREF | Int | Referência do Lançamento | PUT, PATCH | Deve ser suprimido nas inserções, o sistema irá gerar automaticamente. Veja exemplo no método POST. |
| idpartida | IDPARTIDA | Int | Identificador da Partida | PUT, PATCH | Deve ser suprimido nas inserções, o sistema irá gerar automaticamente. Veja exemplo no método POST. |
| ? | ? | ? | Campo Complementar | PUT, POST, PATCH | O campo complementar deve ser informado no arquivo JSON tal como está cadastrado no RM, o seu valor deve respeitar o tipo definido. |
Contas que exigem rateio devem ter a lista de rateio fornecida. Na inclusão (método POST), se uma conta possui um rateio padrão, o sistema utilizará esses dados automaticamente, caso a lista de rateio não seja enviada. No entanto, este comportamento não é aplicado durante alterações (método PUT). Portanto, o rateio deve ser explicitamente enviado na requisição para este caso.
No método PUT (Alteração de lançamento), é possível realizar inclusões, alterações e exclusões de rateios. Para isso, é necessário seguir os seguintes procedimentos:
- Alteração: Deve-se informar a chave do rateio (apportionmentId) que deseja modificar.
- Inclusão: Ao passar a chave (apportionmentId) com o valor zero (0), o sistema interpretará como uma inserção de novo rateio.
- Exclusão: Os rateios não incluídos na requisição do método PUT serão removidos do lançamento.
| RateioDebito (apportionmentDebit) / RateioCredito(apportionmentCredit) | |||||
|---|---|---|---|---|---|
| Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
| companyId | CODCOLIGADA | Int | Coligada do Rateio | POST, PUT | |
| date | DATA | DateTime | Data do Lançamento do Rateio | POST, PUT | |
| companyIdAccountManagement | CODCOLCONTA | Int | Código da Coligada da Conta Contábil | POST, PUT | |
| accountManagementInactive | ATIVO | Int | Status | - | |
| accountManagementCode | CODCONTA | String | Código da Conta | POST, PUT | |
| apportionmentId | IDRATEIO | Int | Identificador do Rateio | POST, PUT, PATCH | Na inserção, pode ser enviado como zero (0) ou suprimir. |
| entryNumberId | IDPARTIDA | Int | Identificador da Partida | PUT | Na inserção, pode ser enviado como zero (0) ou suprimir. |
| value | VALOR | Decimal | Valor | POST, PUT | |
| percentual | PERCENTUAL | String | Porcentagem do Rateio | - | Campo calculado pelo sistema. |
Para contas que possuem configurações de conversão de multimoeda, como Taxa Histórica, Taxa Média Histórica e Taxa de Fechamento, os valores de multimoeda são automaticamente gerados com base na cotação correspondente. No caso de conversão multimoeda do tipo Fixa, o valor deve ser informado manualmente.
| MoedaValores(valuesCurrencies) | |||||
|---|---|---|---|---|---|
| Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
| companyId | CODCOLIGADA | Int | Coligada Moeda | POST, PUT, PATCH | |
| entryNumberId | IDPARTIDA | Int | Identificador da Partida | POST, PUT, PATCH | |
| currency | MOEDA | String | Símbolo da Moeda | POST, PUT, PATCH | |
| value | VALOR | Decimal | Valor Moeda | POST, PUT, PATCH | |
Os campos abaixo não podem ser manipulados pelo requisitante, eles são calculados de acordo com o rateio gerencial da conta.
| RateioMoedasValores(apportionmentValuesCurrencies) | |||||
|---|---|---|---|---|---|
| Campo | Identificador | Tipo | Descrição | Obrigatório | Observação |
| companyId | CODCOLIGADA | Int | Coligada | - | Gerado pelo sistema |
| apportionmentId | IDMULTIMOEDA | Int | Identificador de MultiMoeda | - | Gerado pelo sistema |
| currency | MOEDA | String | Moeda utlizada no rateio multi moeda. | - | Gerado pelo sistema |
| value | VALOR | Decimal | Valor do rateio convertido para moeda cadastrada. | - | Calculado pelo sistema |
2 - Métodos
Métodos disponíveis na API de Lançamento Contábil:
GET: Exemplos de requisições que buscam e recuperam lançamentos no sistema.
GetAll
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}
Exemplo de Configuração
Exemplo de Resultado
{
"hasNext": true,
"items": [
{
"reversal": false,
"companyId": 6,
"entryId": 9,
"batchCode": 0,
"userId": "mestre",
"description": "GAS",
"accountEntry": [
{
"entryNumberId": 8,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2011-09-15T00:00:00-03:00",
"dateInclusion": "2017-09-15T11:44:42-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.892",
"debitDescription": "COLIG. 6 FILIAL 12",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.002",
"creditDescription": "Caixa Filial Rio de Janeiro",
"companyIdAgainstEntry": 0,
"value": 111.00,
"value2": 200.00,
"date2": "2011-09-15T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 8,
"idpartida": 8
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
},
{
"reversal": false,
"companyId": 6,
"entryId": 10,
"batchCode": 0,
"description": "ALTERADO VIA PUT API Alterado eae",
"accountEntry": [
{
"entryNumberId": 9,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T16:01:07-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.017",
"debitDescription": "BLOCO K 200 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.015",
"creditDescription": "200,00 C",
"companyIdAgainstEntry": 0,
"value": 300.00,
"value2": 400.00,
"date2": "2017-04-10T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 0,
"idpartida": 9
},
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 51,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2024-02-23T09:24:20-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.017",
"debitDescription": "BLOCO K 200 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.014",
"creditDescription": "IRRF",
"companyIdAgainstEntry": 0,
"value": 200.00,
"value2": 300.00,
"date2": "2017-04-11T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {},
"batchCodeOrigin": 0,
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
}
]
}
Parâmetros
Order: parâmetro responsável pela ordenação do resultado, podendo ser ascendente ou descendente. O resultado com a ordem descendente deve ser precedida do caractere "-" (menos).
Exemplo 1: ?order=campo1 (Ascendente)
Exemplo 2: ?order=-campo1 (Descendente)
Múltiplos campos de ordenação: ?order=[-]campo1, [-]campo2, [-]campo3 ...
Order (Asc)
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?order={campo}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: description
Tipo de Ordenação: Ascendente
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?order=description
Exemplo de Resultado
{
"hasNext": true,
"items": [
{
"reversal": false,
"companyId": 6,
"entryId": 10,
"batchCode": 0,
"description": "ALTERADO VIA PUT API Alterado eae",
"accountEntry": [
{
"entryNumberId": 9,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T16:01:07-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.017",
"debitDescription": "BLOCO K 200 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.015",
"creditDescription": "200,00 C",
"companyIdAgainstEntry": 0,
"value": 300.00,
"value2": 400.00,
"date2": "2017-04-10T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 0,
"idpartida": 9
},
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 51,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2024-02-23T09:24:20-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.017",
"debitDescription": "BLOCO K 200 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.014",
"creditDescription": "IRRF",
"companyIdAgainstEntry": 0,
"value": 200.00,
"value2": 300.00,
"date2": "2017-04-11T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {},
"batchCodeOrigin": 0,
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
},
{
"reversal": false,
"companyId": 6,
"entryId": 11,
"batchCode": 0,
"description": "BLOCO K",
"accountEntry": [
{
"entryNumberId": 10,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T17:06:56-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "2.1.1.1.016",
"debitDescription": "585,76 D",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.018",
"creditDescription": "585,76 C",
"companyIdAgainstEntry": 0,
"value": 585.76,
"value2": 1171.52,
"date2": "2017-04-11T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 10,
"idpartida": 10
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 11,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"costCenterCode": "211",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T18:10:39-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "2.1.1.1.017",
"debitDescription": "1122,12 D",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.019",
"creditDescription": "1122,12 C",
"companyIdAgainstEntry": 0,
"value": 1122.12,
"value2": 2244.24,
"date2": "2017-04-11T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "X",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 11,
"idpartida": 11
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 12,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T18:26:03-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.020",
"debitDescription": "6,00 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.018",
"creditDescription": "6,00 C",
"companyIdAgainstEntry": 0,
"value": 6.00,
"value2": 12.00,
"date2": "2017-04-11T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 12,
"idpartida": 12
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 13,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"costCenterCode": "211",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T18:36:57-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "2.1.1.1.019",
"debitDescription": "256,00 D",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.021",
"creditDescription": "256,00 C",
"companyIdAgainstEntry": 0,
"value": 256.00,
"value2": 512.00,
"date2": "2017-04-11T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 13,
"idpartida": 13
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
}
]
}
Order (Desc)
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?order=[-]{campo}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: description
Tipo de Ordenação: Descendente
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?order=-description
Exemplo de Resultado
{
"hasNext": true,
"items": [
{
"reversal": false,
"companyId": 6,
"entryId": 10,
"batchCode": 0,
"description": "ALTERADO VIA PUT API Alterado eae",
"accountEntry": [
{
"entryNumberId": 9,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T16:01:07-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.017",
"debitDescription": "BLOCO K 200 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.015",
"creditDescription": "200,00 C",
"companyIdAgainstEntry": 0,
"value": 300.00,
"value2": 400.00,
"date2": "2017-04-10T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 0,
"idpartida": 9
},
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 51,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2024-02-23T09:24:20-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.017",
"debitDescription": "BLOCO K 200 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.014",
"creditDescription": "IRRF",
"companyIdAgainstEntry": 0,
"value": 200.00,
"value2": 300.00,
"date2": "2017-04-11T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {},
"batchCodeOrigin": 0,
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
},
{
"reversal": false,
"companyId": 6,
"entryId": 11,
"batchCode": 0,
"description": "BLOCO K",
"accountEntry": [
{
"entryNumberId": 10,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T17:06:56-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "2.1.1.1.016",
"debitDescription": "585,76 D",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.018",
"creditDescription": "585,76 C",
"companyIdAgainstEntry": 0,
"value": 585.76,
"value2": 1171.52,
"date2": "2017-04-11T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 10,
"idpartida": 10
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 11,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"costCenterCode": "211",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T18:10:39-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "2.1.1.1.017",
"debitDescription": "1122,12 D",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.019",
"creditDescription": "1122,12 C",
"companyIdAgainstEntry": 0,
"value": 1122.12,
"value2": 2244.24,
"date2": "2017-04-11T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "X",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 11,
"idpartida": 11
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 12,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T18:26:03-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.020",
"debitDescription": "6,00 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.018",
"creditDescription": "6,00 C",
"companyIdAgainstEntry": 0,
"value": 6.00,
"value2": 12.00,
"date2": "2017-04-11T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 12,
"idpartida": 12
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 13,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"costCenterCode": "211",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T18:36:57-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "2.1.1.1.019",
"debitDescription": "256,00 D",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.021",
"creditDescription": "256,00 C",
"companyIdAgainstEntry": 0,
"value": 256.00,
"value2": 512.00,
"date2": "2017-04-11T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 13,
"idpartida": 13
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
}
]
}
Filter
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?{campo}={valor}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo: entryId
Valor: 9
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?entryId=9
Exemplo de Resultado
{
"hasNext": false,
"items": [
{
"reversal": false,
"companyId": 6,
"entryId": 9,
"batchCode": 0,
"userId": "mestre",
"description": "GAS",
"accountEntry": [
{
"entryNumberId": 8,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2011-09-15T00:00:00-03:00",
"dateInclusion": "2017-09-15T11:44:42-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.892",
"debitDescription": "COLIG. 6 FILIAL 12",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.002",
"creditDescription": "Caixa Filial Rio de Janeiro",
"companyIdAgainstEntry": 0,
"value": 111.00,
"value2": 200.00,
"date2": "2011-09-15T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 8,
"idpartida": 8
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
}
]
}
Filtros Complexos - OData
Para realizar filtros complexos na API de Lançamento e Partida é possível adotar o padrão OData. Para entender melhor sobre a utilização desse padrão, acesse o link da documentação Utilizando filtros complexos - Exemplos do guia de API - ODATA.
Parâmetros
Page: Página que será apresentada.
PageSize: Quantidade máxima de registros por página que serão apresentados.
Exemplo: ?page=1&pageSize=1
Valores padrão: Caso não sejam preenchidos os parâmetros evidenciados acima serão preenchidos com valores padrão.
Page: 1
PageSize: 20
Paginação
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?page={valor1}&pageSize={valor2}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Valor1: 1
Valor2: 3
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?page=1&pageSize=3
Exemplo de Resultado
{
"hasNext": true,
"items": [
{
"reversal": false,
"companyId": 6,
"entryId": 9,
"batchCode": 0,
"userId": "mestre",
"description": "GAS",
"accountEntry": [
{
"entryNumberId": 8,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2011-09-15T00:00:00-03:00",
"dateInclusion": "2017-09-15T11:44:42-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.892",
"debitDescription": "COLIG. 6 FILIAL 12",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.002",
"creditDescription": "Caixa Filial Rio de Janeiro",
"companyIdAgainstEntry": 0,
"value": 111.00,
"value2": 200.00,
"date2": "2011-09-15T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 8,
"idpartida": 8
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
},
{
"reversal": false,
"companyId": 6,
"entryId": 10,
"batchCode": 0,
"description": "ALTERADO VIA PUT API Alterado eae",
"accountEntry": [
{
"entryNumberId": 9,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T16:01:07-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.017",
"debitDescription": "BLOCO K 200 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.015",
"creditDescription": "200,00 C",
"companyIdAgainstEntry": 0,
"value": 300.00,
"value2": 400.00,
"date2": "2017-04-10T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 0,
"idpartida": 9
},
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 51,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2024-02-23T09:24:20-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.017",
"debitDescription": "BLOCO K 200 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.014",
"creditDescription": "IRRF",
"companyIdAgainstEntry": 0,
"value": 200.00,
"value2": 300.00,
"date2": "2017-04-11T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {},
"batchCodeOrigin": 0,
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
},
{
"reversal": false,
"companyId": 6,
"entryId": 11,
"batchCode": 0,
"description": "BLOCO K",
"accountEntry": [
{
"entryNumberId": 10,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T17:06:56-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "2.1.1.1.016",
"debitDescription": "585,76 D",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.018",
"creditDescription": "585,76 C",
"companyIdAgainstEntry": 0,
"value": 585.76,
"value2": 1171.52,
"date2": "2017-04-11T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 10,
"idpartida": 10
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 11,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"costCenterCode": "211",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T18:10:39-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "2.1.1.1.017",
"debitDescription": "1122,12 D",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.019",
"creditDescription": "1122,12 C",
"companyIdAgainstEntry": 0,
"value": 1122.12,
"value2": 2244.24,
"date2": "2017-04-11T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "X",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 11,
"idpartida": 11
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 12,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T18:26:03-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.020",
"debitDescription": "6,00 D",
"companyIdCreditAccount": 6,
"creditAccount": "2.1.1.1.018",
"creditDescription": "6,00 C",
"companyIdAgainstEntry": 0,
"value": 6.00,
"value2": 12.00,
"date2": "2017-04-11T00:00:00-03:00",
"historicCode": "011",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 12,
"idpartida": 12
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
},
{
"entryNumberId": 13,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"costCenterCode": "211",
"date": "2017-04-11T00:00:00-03:00",
"dateInclusion": "2018-04-11T18:36:57-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "2.1.1.1.019",
"debitDescription": "256,00 D",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.021",
"creditDescription": "256,00 C",
"companyIdAgainstEntry": 0,
"value": 256.00,
"value2": 512.00,
"date2": "2017-04-11T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 13,
"idpartida": 13
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
}
]
}
Parâmetros
Fields: parâmetro responsável pela especialização de campos em um resultado, ou seja, o usuário define quais campos serão apresentados no resultado.
Exemplo: ?fields=campo1
Múltiplos campos de ordenação: ?fields=campo1, campo2, campo3 ...
Fields
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}?fields={campos}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
Campo 1: entryId
Campo 2: batchCode
Campo 3: description
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6?fields=entryId,batchCode,description
Exemplo de Resultado
{
"hasNext": false,
"items": [
{
"entryId": 9,
"batchCode": 0,
"description": "GAS"
},
{
"entryId": 10,
"batchCode": 0,
"description": "BLOCO K"
},
{
"entryId": 11,
"batchCode": 0,
"description": "BLOCO K"
},
{
"entryId": 12,
"batchCode": 0,
"description": "EQUIVALENCIA - AUTOMAÇÃO put"
},
{
"entryId": 14,
"batchCode": 50,
"description": "Contabilização aquisição do Patrimônio 01.01.001__1"
},
{
"entryId": 20,
"batchCode": 0,
"description": "GAS 2"
},
{
"entryId": 22,
"batchCode": 0,
"description": "GAS 2"
},
{
"entryId": 23,
"batchCode": 0,
"description": "GAS"
},
{
"entryId": 24,
"batchCode": 0,
"description": "GAS"
},
{
"entryId": 26,
"batchCode": 0,
"description": "GAS"
},
{
"entryId": 29,
"batchCode": 0,
"description": "EQUIVALENCIA - AUTOMAÇÃO"
}
]
}
Parâmetros
Nos parâmetros do GetOne é necessário passar uma chave composta ("id"), por isso informamos "companyId" (código da coligada), além do Lançamento que queremos selecionar, o "entryId"
(Id de Lançamento), o "batchCode" (código Lote), sendo eles separados pelo caractere "|" pipe.
GetOne
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}/{entryId}|{batchCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
companyId: 6
entryId: 9
batchCode: 0
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/6/9|0
Exemplo de Resultado
{
"reversal": false,
"companyId": 6,
"entryId": 9,
"batchCode": 0,
"userId": "mestre",
"description": "GAS",
"accountEntry": [
{
"entryNumberId": 8,
"branchId": 12,
"branchName": "ESCOLA EXEMPLO 1",
"date": "2011-09-15T00:00:00-03:00",
"dateInclusion": "2017-09-15T11:44:42-03:00",
"companyIdDebitAccount": 6,
"debitAccount": "1.1.1.1.892",
"debitDescription": "COLIG. 6 FILIAL 12",
"companyIdCreditAccount": 6,
"creditAccount": "1.1.1.1.002",
"creditDescription": "Caixa Filial Rio de Janeiro",
"companyIdAgainstEntry": 0,
"value": 111.00,
"value2": 200.00,
"date2": "2011-09-15T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 8,
"idpartida": 8
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [],
"apportionmentCredit": [],
"valuesCurrencies": [],
"apportionmentValuesCurrencies": []
}
]
}
POST: Cria um novo lançamento no sistema.
Post
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
CompanyId: 1
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/1
Exemplo de Entrada
O JSON abaixo contém os dados para incluir uma nova partida na coligada 1 (um). Além dos dados comuns, estamos enviando informações de rateio gerencial, valores de multimoeda e campo complementar.
No caso de campo complementar observe que na requisição de envio os campos chave são suprimidos.
{
"companyId": 1,
"entryId": 0,
"batchCode": 0,
"userId": "mestre",
"description": "Inclusão de Lançamento VIA API com rateio - POST",
"accountEntry": [
{
"entryNumberId": 0,
"branchId": 1,
"departmentCode": "05",
"costCenterCode": "02.2.2.5",
"date": "2020-03-02T00:00:00-03:00",
"dateInclusion": "2024-04-03T14:45:58-03:00",
"companyIdDebitAccount": 1,
"debitAccount": "1.1.1.1.004",
"companyIdCreditAccount": 1,
"creditAccount": "1.1.1.1.900",
"companyIdAgainstEntry": 0,
"value": 1000.00,
"value2": 300.00,
"date2": "2020-03-02T00:00:00-03:00",
"complementaryFields": {
"responsabilidade": "03"
},
"apportionmentDebit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "1.01.01.4",
"apportionmentId": 1094,
"entryNumberId": 0,
"value": 800.00
},
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "1.01.02.2",
"apportionmentId": 1095,
"entryNumberId": 0,
"value": 200.00
}
],
"apportionmentCredit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.01",
"apportionmentId": 1096,
"entryNumberId": 0,
"value": 680.00
},
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.02",
"apportionmentId": 0,
"entryNumberId": 12765,
"value": 320.00
}
],
"valuesCurrencies": [
{
"companyId": 1,
"entryNumberId": 12765,
"currency": "$",
"value": 5000.0000
},
{
"companyId": 1,
"entryNumberId": 12765,
"currency": "€",
"value": 7000.0000
}
]
}
]
}
Exemplo de Resultado Positivo
Na resposta do resultado, são retornadas algumas informações adicionais. Destacamos especialmente o cálculo do rateio de multimoeda, realizado pelo sistema, bem como o valor percentual do rateio gerencial.
{
"reversal": false,
"companyId": 1,
"entryId": 3001,
"batchCode": 0,
"description": "Inclusão de Lançamento VIA API com rateio - POST",
"accountEntry": [
{
"entryNumberId": 12768,
"branchId": 1,
"branchName": "TOTVS - Filial Belo Horizonte",
"departmentCode": "05",
"departmentName": "DCO - Depto Contabilidade",
"costCenterCode": "02.2.2.5",
"date": "2020-03-02T00:00:00-03:00",
"dateInclusion": "2024-04-03T14:45:58-03:00",
"companyIdDebitAccount": 1,
"debitAccount": "1.1.1.1.004",
"debitDescription": "Caixa Filial Belo Horizonte",
"companyIdCreditAccount": 1,
"creditAccount": "1.1.1.1.900",
"creditDescription": "ACOMPANHAMENTO ORÇAMENTÁRIO",
"companyIdAgainstEntry": 0,
"value": 1000.00,
"value2": 300.00,
"date2": "2020-03-02T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 13236,
"responsabilidade": "03",
"idpartida": 12768
},
"batchCodeOrigin": 0,
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "1.01.01.4",
"apportionmentId": 1106,
"entryNumberId": 12768,
"value": 800.00,
"percentual": "80,000000000000000000"
},
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "1.01.02.2",
"apportionmentId": 1107,
"entryNumberId": 12768,
"value": 200.00,
"percentual": "20,000000000000000000"
}
],
"apportionmentCredit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.01",
"apportionmentId": 1108,
"entryNumberId": 12768,
"value": 680.00,
"percentual": "68,000000000000000000"
},
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.02",
"apportionmentId": 1109,
"entryNumberId": 12768,
"value": 320.00,
"percentual": "32,000000000000000000"
}
],
"valuesCurrencies": [
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "$",
"value": 5000.0000
},
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "€",
"value": 7000.0000
}
],
"apportionmentValuesCurrencies": [
{
"companyId": 1,
"apportionmentId": 1108,
"currency": "$",
"value": 3400.0000
},
{
"companyId": 1,
"apportionmentId": 1108,
"currency": "€",
"value": 4760.0000
},
{
"companyId": 1,
"apportionmentId": 1109,
"currency": "$",
"value": 1600.0000
},
{
"companyId": 1,
"apportionmentId": 1109,
"currency": "€",
"value": 2240.0000
},
{
"companyId": 1,
"apportionmentId": 1106,
"currency": "$",
"value": 4000.0000
},
{
"companyId": 1,
"apportionmentId": 1106,
"currency": "€",
"value": 5600.0000
},
{
"companyId": 1,
"apportionmentId": 1107,
"currency": "$",
"value": 1000.0000
},
{
"companyId": 1,
"apportionmentId": 1107,
"currency": "€",
"value": 1400.0000
}
]
}
]
}
Exemplo de Resultado Negativo
{
"code": "FE006",
"message": "Chave duplicada\r\n\r\nPossíveis causas:\r\n - inclusão de registro cujo valor da chave primária já existe\r\n - inclusão de registro cujo valor do índice único já existe",
"detailedMessage": null,
"helpUrl": null,
"details": [
{
"code": "Exception",
"message": "Violation of PRIMARY KEY constraint 'PKCLCOMPL'. Cannot insert duplicate key in object 'dbo.CLCOMPL'. The duplicate key value is (6, 8).\r\nThe statement has been terminated.",
"detailedMessage": null,
"helpUrl": null,
"details": [
{
"code": "Exception",
"message": "INSERT INTO [CLCOMPL] ([CODCOLIGADA], [CODLOTE], [LCTREF], [DOCUMENTO], [DIGITADOR], [KWHORA], [DATA], [VALIDADE], [RESPONSABILIDADE], [IDPARTIDA], [RECCREATEDBY], [RECCREATEDON], [RECMODIFIEDBY], [RECMODIFIEDON], [SPEDFCONT], [IDDMPL], [IDINTEIRO]) VALUES (6, 0, 28, null, null, , null, null, null, 8, 'mestre', '26/03/2024 09:38:59', 'mestre', '26/03/2024 09:38:59', null, null, 0)",
"detailedMessage": null,
"helpUrl": null,
"details": null
}
]
},
{
"code": "Exception",
"message": "INSERT INTO [CLCOMPL] ([CODCOLIGADA], [CODLOTE], [LCTREF], [DOCUMENTO], [DIGITADOR], [KWHORA], [DATA], [VALIDADE], [RESPONSABILIDADE], [IDPARTIDA], [RECCREATEDBY], [RECCREATEDON], [RECMODIFIEDBY], [RECMODIFIEDON], [SPEDFCONT], [IDDMPL], [IDINTEIRO]) VALUES (6, 0, 28, null, null, , null, null, null, 8, 'mestre', '26/03/2024 09:38:59', 'mestre', '26/03/2024 09:38:59', null, null, 0)",
"detailedMessage": null,
"helpUrl": null,
"details": null
}
]
}
PATCH: Altera um lançamento no sistema, nesse caso apenas as chaves primárias e dados de alteração precisam ser enviados.
Patch
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}/{entryId}|{batchCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
CompanyId: 1
entryId: 3001
batchCode: 0
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/1/3001|0
Exemplo de Entrada
Nessa requisição, para exemplificar o uso do método PATCH, faremos as seguintes alterações:
- Descrição do lançamento de "Inclusão de Lançamento VIA API com rateio - POST" para "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PATCH" .
- Alteração do valor da partida de R$ 1.000,00 para R$ 2.000,00
- Alteração do rateio a débito, alteraremos o valor do primeiro item.
- Alteração do rateio a crédito para se adaptar ao novo valor da partida.
- Alteração dos valores de multimoeda para equalizar o novo valor da partida.
{
"companyId": 1,
"entryId": 3001,
"batchCode": 0,
"description": "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PATCH",
"accountEntry": [
{
"entryNumberId": 12768,
"value": 2000.00,
"apportionmentDebit": [
{
"apportionmentId": 1106,
"value": 1800.00
}
],
"apportionmentCredit": [
{
"apportionmentId": 1108,
"value": 1680.00
},
{
"apportionmentId": 1109,
"value": 320.00
}
],
"valuesCurrencies": [
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "$",
"value": 10000.0000
},
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "€",
"value": 14000.0000
}
]
}
]
}
Exemplo de Resultado Positivo
Observa-se que os valores calculados foram ajustados de acordo com o novo valor da partida.
{
"reversal": false,
"companyId": 1,
"entryId": 3001,
"batchCode": 0,
"description": "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PATCH",
"accountEntry": [
{
"entryNumberId": 12768,
"branchId": 1,
"branchName": "TOTVS - Filial Belo Horizonte",
"departmentCode": "05",
"departmentName": "DCO - Depto Contabilidade",
"costCenterCode": "02.2.2.5",
"date": "2020-03-02T00:00:00-03:00",
"dateInclusion": "2024-04-03T14:45:58-03:00",
"companyIdDebitAccount": 1,
"debitAccount": "1.1.1.1.004",
"debitDescription": "Caixa Filial Belo Horizonte",
"companyIdCreditAccount": 1,
"creditAccount": "1.1.1.1.900",
"creditDescription": "ACOMPANHAMENTO ORÇAMENTÁRIO",
"companyIdAgainstEntry": 0,
"value": 2000.00,
"value2": 300.00,
"date2": "2020-03-02T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 13236,
"responsabilidade": "03",
"idpartida": 12768
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "1.01.01.4",
"apportionmentId": 1106,
"entryNumberId": 12768,
"value": 1800.00,
"percentual": "90,000000000000000000"
},
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "1.01.02.2",
"apportionmentId": 1107,
"entryNumberId": 12768,
"value": 200.00,
"percentual": "10,000000000000000000"
}
],
"apportionmentCredit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.01",
"apportionmentId": 1108,
"entryNumberId": 12768,
"value": 1680.00,
"percentual": "84,000000000000000000"
},
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.02",
"apportionmentId": 1109,
"entryNumberId": 12768,
"value": 320.00,
"percentual": "16,000000000000000000"
}
],
"valuesCurrencies": [
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "$",
"value": 10000.0000
},
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "€",
"value": 14000.0000
}
],
"apportionmentValuesCurrencies": [
{
"companyId": 1,
"apportionmentId": 1108,
"currency": "$",
"value": 8400.0000
},
{
"companyId": 1,
"apportionmentId": 1108,
"currency": "€",
"value": 11760.0000
},
{
"companyId": 1,
"apportionmentId": 1109,
"currency": "$",
"value": 1600.0000
},
{
"companyId": 1,
"apportionmentId": 1109,
"currency": "€",
"value": 2240.0000
},
{
"companyId": 1,
"apportionmentId": 1106,
"currency": "$",
"value": 9000.0000
},
{
"companyId": 1,
"apportionmentId": 1106,
"currency": "€",
"value": 12600.0000
},
{
"companyId": 1,
"apportionmentId": 1107,
"currency": "$",
"value": 1000.0000
},
{
"companyId": 1,
"apportionmentId": 1107,
"currency": "€",
"value": 1400.0000
}
]
}
]
}
Exemplo de Resultado Negativo
{
"Code": "FE016",
"Message": "O Corpo da mensagem contêm valores inválidos.",
"DetailMessage": "",
"HelpUrl": "http://tdn.totvs.com/x/e0F0GQ",
"Details": null
}
PUT: Altera um lançamento no sistema.
Put
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}/{entryId}|{batchCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
CompanyId: 1
entryId: 3001
batchCode: 0
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/1/3001|0
Exemplo de Entrada
As alterações que serão passadas no PUT, seguem as regras da tela de Lançamento do sistema.
Nesse exemplo, retornamos o valor da partida para R$ 1.000,00, adaptamos os rateios, mas notem que apenas um dos itens do rateio a débito foi passado, isso informa ao sistema que os itens não passados serão excluídos.
{
"companyId": 1,
"entryId": 3001,
"batchCode": 0,
"description": "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PUT",
"accountEntry": [
{
"entryNumberId": 12768,
"branchId": 1,
"departmentCode": "05",
"costCenterCode": "02.2.2.5",
"date": "2020-03-02T00:00:00-03:00",
"dateInclusion": "2024-04-03T14:45:58-03:00",
"companyIdDebitAccount": 1,
"debitAccount": "1.1.1.1.004",
"companyIdCreditAccount": 1,
"creditAccount": "1.1.1.1.900",
"companyIdAgainstEntry": 0,
"value": 1000.00,
"value2": 300.00,
"date2": "2020-03-02T00:00:00-03:00",
"complementaryFields": {
"codlote": 0,
"lctref": 13236,
"responsabilidade": "03",
"idpartida": 12768
},
"apportionmentDebit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "1.01.01.4",
"apportionmentId": 1106,
"entryNumberId": 12768,
"value": 1000.00
}
],
"apportionmentCredit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.01",
"apportionmentId": 1108,
"entryNumberId": 12768,
"value": 680.00
},
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.02",
"apportionmentId": 1109,
"entryNumberId": 12768,
"value": 320.00
}
],
"valuesCurrencies": [
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "$",
"value": 5000.0000
},
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "€",
"value": 7000.0000
}
]
}
]
}
Exemplo de Resultado Positivo
{
"reversal": false,
"companyId": 1,
"entryId": 3001,
"batchCode": 0,
"description": "Inclusão de Lançamento VIA API com rateio - ALTERAÇÃO PUT",
"accountEntry": [
{
"entryNumberId": 12768,
"branchId": 1,
"branchName": "TOTVS - Filial Belo Horizonte",
"departmentCode": "05",
"departmentName": "DCO - Depto Contabilidade",
"costCenterCode": "02.2.2.5",
"date": "2020-03-02T00:00:00-03:00",
"dateInclusion": "2024-04-03T14:45:58-03:00",
"companyIdDebitAccount": 1,
"debitAccount": "1.1.1.1.004",
"debitDescription": "Caixa Filial Belo Horizonte",
"companyIdCreditAccount": 1,
"creditAccount": "1.1.1.1.900",
"creditDescription": "ACOMPANHAMENTO ORÇAMENTÁRIO",
"companyIdAgainstEntry": 0,
"value": 1000.00,
"value2": 300.00,
"date2": "2020-03-02T00:00:00-03:00",
"integrateApplication": "C",
"generationType": "O",
"user": "mestre",
"complementaryFields": {
"codlote": 0,
"lctref": 13236,
"responsabilidade": "03",
"idpartida": 12768
},
"batchCodeOrigin": 0,
"userModified": "mestre",
"operationId": 0,
"reversalAccountId": 0,
"groupAccountId": 0,
"accountId": 0,
"itemAmountRAS": 0,
"apportionmentDebit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "1.01.01.4",
"apportionmentId": 1106,
"entryNumberId": 12768,
"value": 1000.00,
"percentual": "100,000000000000000000"
}
],
"apportionmentCredit": [
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.01",
"apportionmentId": 1108,
"entryNumberId": 12768,
"value": 680.00,
"percentual": "68,000000000000000000"
},
{
"companyId": 1,
"date": "2020-03-02T00:00:00-03:00",
"companyIdAccountManagement": 1,
"accountManagementInactive": 0,
"accountManagementCode": "5.02",
"apportionmentId": 1109,
"entryNumberId": 12768,
"value": 320.00,
"percentual": "32,000000000000000000"
}
],
"valuesCurrencies": [
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "$",
"value": 5000.0000
},
{
"companyId": 1,
"entryNumberId": 12768,
"currency": "€",
"value": 7000.0000
}
],
"apportionmentValuesCurrencies": [
{
"companyId": 1,
"apportionmentId": 1108,
"currency": "$",
"value": 3400.0000
},
{
"companyId": 1,
"apportionmentId": 1108,
"currency": "€",
"value": 4760.0000
},
{
"companyId": 1,
"apportionmentId": 1109,
"currency": "$",
"value": 1600.0000
},
{
"companyId": 1,
"apportionmentId": 1109,
"currency": "€",
"value": 2240.0000
},
{
"companyId": 1,
"apportionmentId": 1106,
"currency": "$",
"value": 5000.0000
},
{
"companyId": 1,
"apportionmentId": 1106,
"currency": "€",
"value": 7000.0000
}
]
}
]
}
Exemplo de Resultados Negativo
{
"code": "FE013",
"message": "Os campos que compõem a chave primária não podem ser diferentes dos informados na requisição.",
"detailedMessage": "",
"helpUrl": "",
"details": null
}
{
"code": "FE019",
"message": "Erro durante a requisição de alteração do registro. A partida não foi incluída, pois a Conta Contábil 1.1.1.1.00 da Coligada 6 não foi encontrada no plano de Contas",
"detailedMessage": null,
"helpUrl": null,
"details": null
}
{
"code": "FE016",
"message": "O campo \"companyId - Código da Coligada\" deve ser preenchido no Lançamento e na Partida.",
"detailedMessage": "",
"helpUrl": "",
"details": null
}
{
"code": "FE006",
"message": "Chave duplicada\r\n\r\nPossíveis causas:\r\n - inclusão de registro cujo valor da chave primária já existe\r\n - inclusão de registro cujo valor do índice único já existe",
"detailedMessage": null,
"helpUrl": null,
"details": [
{
"code": "Exception",
"message": "Violation of PRIMARY KEY constraint 'PKCLCOMPL'. Cannot insert duplicate key in object 'dbo.CLCOMPL'. The duplicate key value is (6, 14).\r\nThe statement has been terminated.",
"detailedMessage": null,
"helpUrl": null,
"details": [
{
"code": "Exception",
"message": "INSERT INTO [CLCOMPL] ([CODCOLIGADA], [CODLOTE], [LCTREF], [DOCUMENTO], [DIGITADOR], [KWHORA], [DATA], [VALIDADE], [RESPONSABILIDADE], [IDPARTIDA], [RECCREATEDBY], [RECCREATEDON], [RECMODIFIEDBY], [RECMODIFIEDON], [SPEDFCONT], [IDDMPL], [IDINTEIRO]) VALUES (6, 0, 33, null, null, , null, null, null, 14, 'mestre', '26/03/2024 11:02:14', 'mestre', '26/03/2024 11:02:14', null, null, 0)",
"detailedMessage": null,
"helpUrl": null,
"details": null
}
]
},
{
"code": "Exception",
"message": "INSERT INTO [CLCOMPL] ([CODCOLIGADA], [CODLOTE], [LCTREF], [DOCUMENTO], [DIGITADOR], [KWHORA], [DATA], [VALIDADE], [RESPONSABILIDADE], [IDPARTIDA], [RECCREATEDBY], [RECCREATEDON], [RECMODIFIEDBY], [RECMODIFIEDON], [SPEDFCONT], [IDDMPL], [IDINTEIRO]) VALUES (6, 0, 33, null, null, , null, null, null, 14, 'mestre', '26/03/2024 11:02:14', 'mestre', '26/03/2024 11:02:14', null, null, 0)",
"detailedMessage": null,
"helpUrl": null,
"details": null
}
]
}
DELETE: Deleta um lançamento do sistema.
Delete
Máscara de Url: http://{domínio}:{porta}/api/ctb/v1/AccountingEntries/{companyId}/{entryId}|{batchCode}
Exemplo de Configuração
Domínio: localhost
Porta: 8051
CompanyId: 1
entryId: 3001
batchCode: 0
Url Utilizada: http://localhost:8051/api/ctb/v1/AccountingEntries/1/3001|0
Exemplo de Resultado Positivo Postman
Por fim deletamos o lançamento anteriormente criado e modificado. Em caso de sucesso, será retornado o respondeCode = 204 sem JSON de retorno.
Exemplo de Resultado Negativo
{
"code": "FE011",
"message": "Registro não encontrado na base de dados.",
"detailedMessage": "",
"helpUrl": "",
"details": null
}