# Atualização Orçamentária | 2025 ~

##### **Tipo Envio: Diário**

---

##### **Chave Unicidade**

\[ Exercício - Código Unidade Gestora - Código Unidade Orçamentária - Código Função - Código Subfunção - Código Programa - Código Ação - Código Categoria Econômica - Código Natureza Despesa - Código Modalidade Despesa - Código Elemento Despesa - Código Fonte Recurso - Exercício Fonte Recurso - Número Decreto Ofício - Tipo Decreto Ofício - Tipo Alteração \]

---

##### **Objeto Raiz**

<figure class="wp-block-table is-style-stripes" id="bkmrk-campo-informa%C3%A7%C3%B5es-ti"><table class="has-fixed-layout" style="width: 100%;"><thead><tr><td style="width: 26.3382%;">**Campo**</td><td style="width: 73.6618%;">**Informações**</td></tr></thead><tbody><tr><td style="width: 26.3382%;">`timestamp`</td><td style="width: 73.6618%;">Campo utilizado para **ordenar** a validação das informações enviadas. Caso sejam enviados **múltiplos payloads** do mesmo tipo, a ordenação ocorrerá da **<span style="color: rgb(186, 55, 42);">data mais antiga para a mais recente</span>**</td></tr><tr><td style="width: 26.3382%;">`elementos`</td><td style="width: 73.6618%;">–</td></tr></tbody></table>

</figure>---

##### **Item**  


<figure class="wp-block-table is-style-stripes" id="bkmrk-campo-chave-informa%C3%A7"><table class="has-fixed-layout" style="width: 100%; height: 678.813px;"><thead><tr style="height: 29.7969px;"><td style="width: 24.9089%; height: 29.7969px;">**Campo**</td><td class="has-text-align-left align-center" data-align="left" style="width: 7.03388%; height: 29.7969px;">**Chave**</td><td style="width: 68.0572%; height: 29.7969px;">**Informações**</td></tr></thead><tbody><tr style="height: 30.1094px;"><td style="width: 24.9089%; height: 30.1094px;">`codigoUnidadeGestora`  
</td><td class="has-text-align-left align-center" data-align="left" style="width: 7.03388%; height: 30.1094px;">✅</td><td style="width: 68.0572%; height: 30.1094px;">–</td></tr><tr style="height: 30.1094px;"><td style="width: 24.9089%; height: 30.1094px;">`codigoUnidadeOrcamentaria`</td><td class="has-text-align-left align-center" data-align="left" style="width: 7.03388%; height: 30.1094px;">✅</td><td style="width: 68.0572%; height: 30.1094px;">Código da **unidade orçamentária** cadastrada pela Unidade Gestora para o exercício</td></tr><tr style="height: 46.5938px;"><td style="width: 24.9089%; height: 46.5938px;">`codigoFuncao`</td><td class="has-text-align-left align-center" data-align="left" style="width: 7.03388%; height: 46.5938px;">✅</td><td style="width: 68.0572%; height: 46.5938px;">Definido pela Secretaria do Tesouro Nacional e disponibilizada pela Matriz de Saldos Contábeis - MSC </td></tr><tr style="height: 46.5938px;"><td style="width: 24.9089%; height: 46.5938px;">`codigoSubfuncao`</td><td class="has-text-align-left align-center" data-align="left" style="width: 7.03388%; height: 46.5938px;">✅</td><td style="width: 68.0572%; height: 46.5938px;">Definido pela Secretaria do Tesouro Nacional e disponibilizada pela Matriz de Saldos Contábeis - MSC </td></tr><tr style="height: 30.1094px;"><td style="width: 24.9089%; height: 30.1094px;">`codigoPrograma`</td><td class="has-text-align-left align-center" data-align="left" style="width: 7.03388%; height: 30.1094px;">✅</td><td style="width: 68.0572%; height: 30.1094px;">Código do **programa** cadastrado pela Unidade Gestora para o exercício</td></tr><tr style="height: 30.1094px;"><td style="width: 24.9089%; height: 30.1094px;">`codigoAcao`</td><td style="width: 7.03388%; height: 30.1094px;"> ✅</td><td style="width: 68.0572%; height: 30.1094px;">Código da **ação** cadastrado pela Unidade Gestora para o exercício</td></tr><tr style="height: 46.5938px;"><td style="width: 24.9089%; height: 46.5938px;">`codigoCategoriaEconomica`</td><td class="align-center" style="width: 7.03388%; height: 46.5938px;">✅</td><td style="width: 68.0572%; height: 46.5938px;">Definido pela Secretaria do Tesouro Nacional e disponibilizada pela Matriz de Saldos Contábeis - MSC </td></tr><tr style="height: 46.5938px;"><td style="width: 24.9089%; height: 46.5938px;">`codigoNaturezaDespesa`</td><td class="align-center" style="width: 7.03388%; height: 46.5938px;">✅</td><td style="width: 68.0572%; height: 46.5938px;">Definido pela Secretaria do Tesouro Nacional e disponibilizada pela Matriz de Saldos Contábeis - MSC </td></tr><tr style="height: 46.5938px;"><td style="width: 24.9089%; height: 46.5938px;">`codigoModalidadeDespesa`</td><td class="align-center" style="width: 7.03388%; height: 46.5938px;">✅</td><td style="width: 68.0572%; height: 46.5938px;">Definido pela Secretaria do Tesouro Nacional e disponibilizada pela Matriz de Saldos Contábeis - MSC </td></tr><tr style="height: 46.5938px;"><td style="width: 24.9089%; height: 46.5938px;">`codigoElementoDespesa`</td><td class="align-center" style="width: 7.03388%; height: 46.5938px;">✅</td><td style="width: 68.0572%; height: 46.5938px;">Definido pela Secretaria do Tesouro Nacional e disponibilizada pela Matriz de Saldos Contábeis - MSC </td></tr><tr style="height: 46.5938px;"><td style="width: 24.9089%; height: 46.5938px;">`codigoFonteRecurso`</td><td class="align-center" style="width: 7.03388%; height: 46.5938px;">✅</td><td style="width: 68.0572%; height: 46.5938px;">Definido pela Secretaria do Tesouro Nacional e disponibilizada pela Matriz de Saldos Contábeis - MSC </td></tr><tr style="height: 30.1094px;"><td style="width: 24.9089%; height: 30.1094px;">`exercicioFonteRecurso`</td><td class="align-center" style="width: 7.03388%; height: 30.1094px;">✅</td><td style="width: 68.0572%; height: 30.1094px;">`Atual` / `Anterior`

</td></tr><tr style="height: 30.1094px;"><td style="width: 24.9089%; height: 30.1094px;">`numeroDecretoOficio`</td><td class="align-center" style="width: 7.03388%; height: 30.1094px;">✅</td><td style="width: 68.0572%; height: 30.1094px;">–</td></tr><tr style="height: 30.1094px;"><td style="width: 24.9089%; height: 30.1094px;">`tipoDecretoOficio`</td><td class="align-center" style="width: 7.03388%; height: 30.1094px;">✅</td><td class="align-left" style="width: 68.0572%; height: 30.1094px;">`Decreto` / `Oficio`</td></tr><tr style="height: 35.3906px;"><td style="width: 24.9089%; height: 35.3906px;">`tipoAlteracao`</td><td class="align-center" style="width: 7.03388%; height: 35.3906px;">✅</td><td style="width: 68.0572%; height: 35.3906px;">**[Tabela Tipo Alteração](https://docs.tcepb.tc.br/books/tabelas-de-dominio/page/tipo-alteracao-orcamentaria)**</td></tr><tr style="height: 30.1094px;"><td style="width: 24.9089%; height: 30.1094px;">`valorAtualizacao`</td><td class="align-center" style="width: 7.03388%; height: 30.1094px;">–</td><td style="width: 68.0572%; height: 30.1094px;">–</td></tr><tr style="height: 46.5938px;"><td style="width: 24.9089%; height: 46.5938px;">`action`</td><td class="has-text-align-left align-center" data-align="left" style="width: 7.03388%; height: 46.5938px;">–</td><td style="width: 68.0572%; height: 46.5938px;">Define a operação a ser realizada com a informação, seja ela **criação, atualização ou exclusão**</td></tr></tbody></table>

</figure>---

##### **Schema**

```
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Alterações Orçamentárias",
  "description": "Schema para envio de alterações orçamentárias por ação",
  "type": "object",
  "properties": {
    "timestamp": {
      "type": "string",
      "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)\\.\\d{3,6}$",
      "examples": ["2025-09-11T15:30:00.123456"]
    },
    "elementos": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "type": "object",
        "properties": {
          "codigoUnidadeGestora": {
            "type": "string",
            "minLength": 6,
            "maxLength": 6,
            "pattern": "^[0-9]+$"
          },
          "codigoUnidadeOrcamentaria": {
            "type": "string",
            "minLength": 5,
            "maxLength": 5,
            "pattern": "^[0-9]+$"
          },
          "codigoFuncao": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[0-9]+$"
          },
          "codigoSubfuncao": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "pattern": "^[0-9]+$"
          },
          "codigoPrograma": {
            "type": "string",
            "minLength": 4,
            "maxLength": 4,
            "pattern": "^[0-9]+$"
          }
          "codigoAcao": {
            "type": "string",
            "minLength": 4,
            "maxLength": 4,
            "pattern": "^[0-9]+$"
          },
          "codigoCategoriaEconomica": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1,
            "pattern": "^[0-9]+$"
          },
          "codigoNaturezaDespesa": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1,
            "pattern": "^[0-9]+$"
          },
          "codigoModalidadeDespesa": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[0-9]+$"
          },
          "codigoElementoDespesa": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "pattern": "^[0-9]+$"
          },
          "codigoFonteRecurso": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "pattern": "^[0-9]+$"
          },
          "exercicioFonteRecurso": {
            "type": "string",
            "enum": [
              "ATUAL",
              "ANTERIOR"
            ]
          },
          "numeroDecretoOficio": {
            "type": "string",
            "minLength": 9,
            "maxLength": 9,
            "pattern": "^[0-9]+$"
          },
          "tipoDecretoOficio": {
            "type": "integer",
            "enum": [
              "DECRETO", 
              "OFICIO"
            ],
          },
          "tipoAlteracao": {
            "type": "string",
            "minLength": 1,
            "maxLength": 1,
            "pattern": "^[0-9]+$"
          },
          "valorAtualizacao": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "action": {
            "type": "string",
            "enum": [
              "CREATE", 
              "UPDATE", 
              "DELETE"
            ]
          }
        },
        "required": [
          "codigoUnidadeGestora",
          "codigoUnidadeOrcamentaria",
          "codigoFuncao",
          "codigoSubfuncao",
          "codigoPrograma",
          "codigoAcao",
          "codigoCategoriaEconomica",
          "codigoNaturezaDespesa",
          "codigoModalidadeDespesa",
          "codigoElementoDespesa",
          "codigoFonteRecurso",
          "exercicioFonteRecurso",
          "numeroDecretoOficio",
          "tipoDecretoOficio",
          "tipoAlteracao",
          "dataAtualizacao",
          "valorAtualizacao",
          "action"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": ["timestamp", "elementos"],
  "additionalProperties": false
}
```

---

##### **Exemplo de Payload**

```
{
  "timestamp": "2026-03-02T11:32:45.123456",
  "elementos": [
    {
      "codigoUnidadeGestora": "123456",
      "codigoUnidadeOrcamentaria": "54321",
      "codigoFuncao": "10",
      "codigoSubfuncao": "301",
      "codigoPrograma": "2045",
      "codigoAcao": "1001",
      "codigoCategoriaEconomica": "3",
      "codigoNaturezaDespesa": "3",
      "codigoModalidadeDespesa": "90",
      "codigoElementoDespesa": "30",
      "codigoFonteRecurso": "500",
      "exercicioFonteRecurso": "ATUAL",
      "numeroDecretoOficio": "202600001",
      "tipoDecretoOficio": "DECRETO",
      "tipoAlteracao": "1",
      "valorAtualizacao": 150000.50,
      "action": "CREATE"
    },
    {
      "codigoUnidadeGestora": "123456",
      "codigoUnidadeOrcamentaria": "54321",
      "codigoFuncao": "12",
      "codigoSubfuncao": "361",
      "codigoPrograma": "3050",
      "codigoAcao": "2002",
      "codigoCategoriaEconomica": "4",
      "codigoNaturezaDespesa": "4",
      "codigoModalidadeDespesa": "90",
      "codigoElementoDespesa": "52",
      "codigoFonteRecurso": "501",
      "exercicioFonteRecurso": "ANTERIOR",
      "numeroDecretoOficio": "202600002",
      "tipoDecretoOficio": "OFICIO",
      "tipoAlteracao": "2",
      "valorAtualizacao": 82500.00,
      "action": "UPDATE"
    }
  ]
}
```

---

### Regras

<table id="bkmrk-id-regra-atualizacao" style="width: 100%;"><thead><tr><td style="width: 61.3791%;">ID</td><td style="width: 38.6209%;">Regra</td></tr></thead><tbody><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_DUPLICIDADE\_NAO\_PERMITIDA**</td><td style="width: 38.6209%;">Não é permitido cadastrar registros duplicados pela chave de unicidade</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_UNIDADE\_GESTORA\_MUNICIPIO**</td><td style="width: 38.6209%;">É permitido informar apenas unidades gestoras do mesmo município. O Consórcio só pode informar a si mesmo</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_RESPONSABILIDADE\_PROTOCOLO**</td><td style="width: 38.6209%;">Apenas **prefeituras** e **consórcios** podem enviar atualizações orçamentárias por **Decreto/Ofício** e as Câmaras atualizações quando o instrumento for **Ofício**</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_UNIDADE\_ORCAMENTARIA\_CADASTRADA**</td><td style="width: 38.6209%;">A **Unidade Orçamentária** deve ter sido criada para o exercício do envio</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_PROGRAMA\_CADASTRADO**</td><td style="width: 38.6209%;">**O Programa** deve ter sido criado para o exercício do envio</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_ACAO\_CADASTRADA**</td><td style="width: 38.6209%;">A **Ação** deve ter sido criada para o exercício do envio</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_FUNCAO\_STN**</td><td style="width: 38.6209%;">O código de **Função** deve seguir os códigos definidos pela Secretaria do Tesouro Nacional, disponibilizados pela Matriz de Saldos Contábeis (MSC)</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_SUBFUNCAO\_STN**</td><td style="width: 38.6209%;">O código de **Subfunção** deve seguir os códigos definidos pela Secretaria do Tesouro Nacional, disponibilizados pela Matriz de Saldos Contábeis (MSC)</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_CATEGORIA\_ECONOMICA\_STN**</td><td style="width: 38.6209%;">O código de **Categoria Econômica** deve seguir os códigos definidos pela Secretaria do Tesouro Nacional, disponibilizados pela Matriz de Saldos Contábeis (MSC)</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_NATUREZA\_DESPESA\_STN**</td><td style="width: 38.6209%;">O código de **Natureza Despesa** deve seguir os códigos definidos pela Secretaria do Tesouro Nacional, disponibilizados pela Matriz de Saldos Contábeis (MSC)</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_ELEMENTO\_DESPESA\_STN**</td><td style="width: 38.6209%;">O código de **Elemento Despesa** deve seguir os códigos definidos pela Secretaria do Tesouro Nacional, disponibilizados pela Matriz de Saldos Contábeis (MSC)</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_FONTE\_RECURSO\_STN**</td><td style="width: 38.6209%;">O código de **Fonte Recurso** deve seguir os códigos definidos pela Secretaria do Tesouro Nacional, disponibilizados pela Matriz de Saldos Contábeis (MSC)</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_SUPLEMENTACAO\_ANULACAO**</td><td style="width: 38.6209%;">Para atualizações do tipo **4** e **8**, o valor suplementado deve ser igual ao valor das atualizações do tipo **11** por decreto</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_TIPO\_14\_15**</td><td style="width: 38.6209%;">Para atualizações do tipo **14**, deve existir uma atualização do tipo **15** com o mesmo valor</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_DECRETO\_OFICIO\_OBRIGATORIO**</td><td style="width: 38.6209%;">Se houver atualização, deve existir um registro de decreto/ofício vinculado</td></tr><tr><td style="width: 61.3791%;">***ATUALIZACAO\_ORCAMENTARIA\_TIPO\_6\_7\_8\_9\_16\_DOTACAO\_INEXISTENTE***</td><td style="width: 38.6209%;">Para as atualizações dos tipos **6, 7,** **8, *9* e 16**, só é permitido inserir se a dotação não existir.   
  
<span style="color: rgb(53, 152, 219);">***A dotação será criada automaticamente pelo sistema.***</span></td></tr><tr><td style="width: 61.3791%;">***ATUALIZACAO\_ORCAMENTARIA\_TIPO\_2***</td><td style="width: 38.6209%;">Para o Tipo **2**, o exercício da fonte de recurso deve ser **ANTERIOR**.

A Dotação com exercício da fonte de recurso **ATUAL** deve existir previamente. Caso contrário, deverá falhar.

Se a Dotação com exercício da fonte de recurso **ANTERIOR** não existir, uma nova deverá ser criada automaticamente.

</td></tr><tr><td style="width: 61.3791%;">***ATUALIZACAO\_ORCAMENTARIA\_TIPO\_10***</td><td style="width: 38.6209%;">Caso a dotação não exista, o sistema a criará automaticamente. Se já existir, deverá inserir apenas a atualização. </td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_TIPO\_7\_16\_EXERCICIO\_FONTE**</td><td style="width: 38.6209%;">Para atualizações do tipo **7** ou **16**, o exercício da fonte deve ser anterior.  
  
O sistema irá criar uma dotação igual com exercício da fonte recurso **ATUAL** e valor inicial **ZERO**.  
</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_TIPO\_6\_8\_9\_EXERCICIO\_FONTE**</td><td style="width: 38.6209%;">Para atualizações dos tipos **6, 8 e 9 ,** o exercício da fonte recurso deve ser **ATUAL**.</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_TIPO\_REQUER\_DOTACAO\_EXISTIR**</td><td style="width: 38.6209%;">Atualizações dos tipos **1, 3, 4, 11, 12** e **14** devem possuir Dotação já cadastrada.</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_TIPO\_15\_DOTACAO**</td><td style="width: 38.6209%;">Para atualizações do tipo **15**, a dotação informada deve ser igual à do tipo **14**, diferindo apenas pelo elemento de despesa. **A soma dos valores por ofício deve ser igual à do Tipo 14.** *Caso a dotação do tipo **15** não exista, ela será criada automaticamente pelo sistema*</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_TIPO\_13\_DOTACAO**</td><td style="width: 38.6209%;">O valor da atualizações do tipo **13** deve ser igual à soma das atualizações do tipo **12**, considerando  
***\[ Código Fonte Recurso + Exercício da Fonte Recurso \]***  
  
Caso a dotação do tipo **13** não exista, ela será criada automaticamente pelo sistema  
</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_TIPO\_11\_SOMA\_SUPLEMENTACAO**</td><td style="width: 38.6209%;">A soma dos valores das atualizações do tipo **11** agrupadas por decreto deve ser igual à soma dos valores das atualizações dos tipos **4** ou **8** correspondentes ao mesmo decreto.</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_DECRETO\_TIPO\_4\_8\_NAO\_PERMITIDO**</td><td style="width: 38.6209%;">Não é permitido incluir em um decreto atualizações orçamentárias dos tipos **4** e **8 simultaneamente.**</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_DECRETO\_TIPOS\_INCOMPATIVEIS**</td><td style="width: 38.6209%;">Um mesmo decreto não pode conter **simultaneamente** atualizações orçamentárias dos tipos **1, 2, 3 e 4** e atualizações dos tipos **6, 7, 8, 9, 10, 15**.</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_OFICIO\_TIPO\_OBRIGATORIO**</td><td style="width: 38.6209%;">Quando o tipo for **OFÍCIO**, o tipo de alteração deve ser **14** ou **15**</td></tr><tr><td style="width: 61.3791%;">**ATUALIZACAO\_ORCAMENTARIA\_TIPO\_ALTERACAO\_VALIDO**</td><td style="width: 38.6209%;">O Tipo de Alteração deve ser válido conforme a **[Tabela de Tipo de Alteração Orçamentária](https://docs.tcepb.tc.br/books/tabelas-de-dominio/page/tipo-alteracao-orcamentaria)**</td></tr></tbody></table>

---