Estrutura da conta e mappings
Campos da conta DeRE, hierarquia, desdobramento, vigência e mappings de codTrib, COSIF e ISS para o D-1011.
Prepare o JSON de cada conta com os campos e mappings necessários para gerar o D-1011 (Plano Geral de Contas Comentado, ou PGCC) da DeRE (Declaração de Regimes Específicos).
Estrutura de uma conta DeRE
Exemplo de uma conta analítica não desdobrada, com codTrib (código de tributação do IBS e da CBS), conta COSIF e indicador de ISS, com POST /accounts:
{
"account_external_id": "1101000",
"company_account_external_id": "CLI-98765",
"location": "BR",
"name": "Caixa e equivalentes de caixa",
"description": "Disponibilidades em caixa e em contas de liquidez imediata",
"type": "A",
"level": 3,
"order_id": 3,
"nature": 1,
"sub_nature": "D",
"parent_account": "11000",
"split_code": "000",
"status": "ACTIVE",
"valid_from": "2026-10-01T00:00:00Z",
"account_mappings": [
{ "group": "CodTrib IBS/CBS - DeRe", "account": "118915099" },
{ "group": "COSIF", "account": "1.1.1.10.00.00-8" }
],
"code_mappings": [
{ "type": "dere_ind_trib_iss", "value": "0" }
]
}Uma resposta 200 confirma que a conta foi gravada, não que ela cumpre as regras da DeRE. Essas regras são verificadas quando a Brinta gera o D-1011. Consulte Validações, erros e checklist para distinguir as validações da API das regras do evento.
Os demais campos da Accounts API (name_alt, account_alt, hierarchy_code, centers e outros) podem ser enviados no mesmo formato. Eles não entram no D-1011.
Campos da conta
| Campo | Obrigatório para a API | Obrigatório para a DeRE | Descrição |
|---|---|---|---|
account_external_id | Sim | Sim | Código completo da conta (interno + desdobramento). Único por empresa. Veja Código, desdobramento e conta pai |
company_account_external_id ou company_id | Um dos dois | Sim | A empresa declarante: o ID no seu sistema ou o UUID na Brinta. Nunca os dois |
location | Sim | Sim | BR |
name | Sim | Sim | Nome da conta. Até 100 caracteres na DeRE |
description | Sim | Sim, nas analíticas | Descrição da conta. Até 300 caracteres na API |
type | Sim | Sim | S sintética ou A analítica. Veja Tipo da conta |
level | Sim | Sim | Nível de 1 a 99 |
order_id | Sim | Não | Ordem de exibição. A Brinta ordena as contas do D-1011 pelo código, não por este campo |
nature | Não | Sim | Natureza da conta, de 1 a 5. Veja Natureza da conta e do saldo |
sub_nature | Não | Sim | Natureza do saldo: C, D ou V. Veja Natureza da conta e do saldo |
parent_account | Não | Sim, se level > 1 | Código completo da conta pai. Veja Código, desdobramento e conta pai |
split_code | Não | Sim | Código de desdobramento, de 000 a 999. Veja Código, desdobramento e conta pai |
status | Não | Não | ACTIVE (padrão) ou INACTIVE |
valid_from | Não | Sim | Início da vigência da conta (ISO 8601). Veja Datas |
valid_until | Não | Não | Fim da vigência. Não pode ser anterior ao início |
account_mappings | Não | Sim | O codTrib e a conta COSIF. Veja Mappings para a DeRE |
code_mappings | Não | Sim, nas analíticas | O indicador de ISS. Veja Mappings para a DeRE |
Vários campos são opcionais para a API, mas obrigatórios para a DeRE. Se faltarem, a API cria a conta mesmo assim, mas o D-1011 sai com erros e a Brinta não o transmite até que sejam corrigidos.
Tipo da conta
Envie S em type para as contas sintéticas (que agrupam outras) e A para as analíticas (que recebem saldo).
- Uma conta é sintética se, e somente se, outra conta a tiver como pai.
- Toda conta de nível 1 é sintética.
- Uma conta analítica não pode ser pai de outra.
A API aceita qualquer texto em type e o grava como recebido, porque o campo é usado em outras obrigações. Para a DeRE, a Brinta reconhece S e A (também SYNTHETIC e ANALYTIC). Se chegar outro valor, ela deduz o tipo a partir da hierarquia.
Natureza da conta e do saldo
nature e sub_nature são dois dados diferentes, que não devem ser confundidos.
| Campo | O que representa | Valores para a DeRE |
|---|---|---|
nature | O grupo contábil da conta (codNat no D-1011) | 1 ativo · 2 passivo · 3 patrimônio líquido · 4 receita · 5 despesa |
sub_nature | De que lado o saldo costuma ficar (natCta no D-1011) | C credor · D devedor · V variável |
- A API aceita qualquer inteiro em
nature. Para a DeRE, o valor precisa estar entre1e5. sub_naturesó aceitaC,DouV. Se você não tiver o dado, não envie o campo: enviá-lo vazio ou comonullgera erro.- A Brinta verifica se o primeiro dígito do codTrib é coerente com
nature:1ativo,2passivo ou patrimônio líquido,3receita,4despesa. Uma divergência é informada como alerta.
Código, desdobramento e conta pai
account_external_id: o código completo da conta (cCta): o código interno mais o código de desdobramento, sem pontos nem hífens (1101+000=1101000). Precisa ser único no plano.split_code: o código de desdobramento, enviado também separado.000em toda conta não desdobrada e na conta original de uma conta mista;001,002, … em cada filha. Sempre três dígitos, como texto.- O código completo precisa terminar com o
split_code: a Brinta obtém o código interno (cCtaInterna) removendo osplit_codedo final (1101000−000→1101). parent_account: o código completo da conta pai, que já precisa existir na mesma empresa, ser sintética e estar ativa.level: precisa ser maior que o nível da conta pai. Use o nível do pai + 1.
Para desdobrar uma conta mista (uma conta analítica com mais de um codTrib), transforme a original em sintética e crie uma filha analítica por codTrib. As filhas compartilham a conta COSIF da original. Veja os payloads em Exemplos de carga e consulta.
Datas
valid_fromé o início da vigência da conta (iniVig) e é obrigatório para a DeRE. Envie a data a partir da qual a conta está em uso.valid_untilé o fim da vigência (fimVig). Envie apenas se a conta deixou de ser usada.- Se você não enviar
start_date, a API atribui a ele o valor devalid_from, e vice-versa. - O fim nunca pode ser anterior ao início: a API rejeita.
Mappings para a DeRE
A DeRE usa três dados que não são campos simples da conta, e sim correspondências.
| Dado | Como é enviado | Aplica-se a | Regra |
|---|---|---|---|
| codTrib | account_mappings: { "group": "CodTrib IBS/CBS - DeRe", "account": "<codTrib>" } | Só analíticas | Um único codTrib por conta, de 9 dígitos, existente na Tabela 11 |
| Conta COSIF | account_mappings: { "group": "COSIF", "account": "<código COSIF>" } | Todas as contas | Uma única conta COSIF por conta. As filhas de um desdobramento usam a mesma da original |
| Indicador de ISS | code_mappings: { "type": "dere_ind_trib_iss", "value": "0" } ou "1" | Só analíticas | Proibido nas sintéticas |
- O código COSIF é enviado exatamente como aparece no plano, com pontos e hífen (
1.1.1.10.00.00-8). Só com dígitos (1111000008) a API respondeAccount … not found in group COSIF. - A API rejeita uma conta de um grupo que não existe, um grupo repetido e mais contas do que o grupo admite.
- A resposta da API não devolve
account_mappingsnemcode_mappings. Para conferi-los depois da carga, use Account Management no dashboard.
Do JSON ao evento D-1011
| Campo do D-1011 | Campo na API |
|---|---|
cCta | account_external_id (código completo) |
cCtaInterna | account_external_id sem o split_code do final |
cDbrMista | split_code |
nomeCta | name |
indCta | type |
descCta | description |
cCtaSup | parent_account |
cCtaRef | account_mappings, grupo COSIF |
nivelCta | level |
natCta | sub_nature |
codNat | nature |
codTrib | account_mappings, grupo CodTrib IBS/CBS - DeRe |
indTribISS | code_mappings, tipo dere_ind_trib_iss |
iniVig | valid_from |
fimVig | valid_until |
A Brinta gera o restante: o CNPJ raiz da empresa (nrInsc), o plano referencial e a frequência de encerramento do cabeçalho, o período de vigência do evento, a ordem das contas, o identificador do evento e a assinatura.
Próximo passo
Consulte Fluxo de integração e autenticação para ordenar a carga, autenticar as chamadas e criar as contas.
Updated 2 days ago
