# Lançamentos com analítica

As rotas aqui descritas permitem gerir a distribuição por centros de custos das linhas de lançamentos em exercícios com contabilidade analítica.

Para haver linhas de distribuição por centro de custos de uma linha de lançamento, é necessário que essa linha de lançamento esteja configurada com uma rubrica. Esta configuração  aparece em duplicado no recurso  `"accounting_transaction_lines"`, podendo ser configurada ou consultada através do atributo `"cost_dimension_id"` ou da relação `"cost_dimension"`.\
A distribuição do montante, a débito ou a crédito, de uma linha de lançamento associada a uma rubrica, é efetuada usando a rota `/transaction_line_costs`.

## Consulta de linhas de centro de custos

A consulta de várias linhas, usando ou não filtros, pode ser efetuada com um pedido:

## GET /transaction\_line\_costs

>

```json
{"openapi":"3.0.1","info":{"title":"Cloudware API v0 Documentation","version":"1.0"},"tags":[{"name":"Contabilidade","description":"Rotas de Lançamentos de Contabilidade"}],"paths":{"/transaction_line_costs":{"get":{"tags":["Contabilidade"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction_line_costs-collection_response"}}}}}}}},"components":{"schemas":{"transaction_line_costs-collection_response":{"type":"object","properties":{"data":{"type":"array","items":{"properties":{"type":{"type":"string"},"id":{"type":"string"},"attributes":{"type":"object","properties":{"transaction_line_id":{"type":"integer","description":"Identificador da linha de lançamento"},"seqno":{"type":"integer","description":"Número de sequência (ordem) das linhas de lançamento (inicia no zero)"},"cost_center_id":{"type":"integer","description":"Identificador do centro de custos"},"percentage":{"type":"number","description":"Percentagem do montante atribuído ao centro de custo"},"amount":{"type":"number","description":"Valor atribuído ao centro de custo"}}},"relationships":{"type":"object","properties":{"transaction_line":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/accounting_transaction_lines-relationship"}}},"cost_center":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/cost_centers-relationship"}}}}}}}}}},"accounting_transaction_lines-relationship":{"type":"object","oneOf":[{"$ref":"#/components/schemas/basic-relationship"}]},"basic-relationship":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string"},"id":{"type":"string"}}},"cost_centers-relationship":{"type":"object","oneOf":[{"$ref":"#/components/schemas/basic-relationship"}]}}}}
```

Sendo a consulta de uma linha de custos específica efetuada de forma individual usando o identificador interno da linha de custos associada a uma linha de lançamento:

## GET /transaction\_line\_costs/{id}

>

```json
{"openapi":"3.0.1","info":{"title":"Cloudware API v0 Documentation","version":"1.0"},"tags":[{"name":"Contabilidade","description":"Rotas de Lançamentos de Contabilidade"}],"paths":{"/transaction_line_costs/{id}":{"get":{"tags":["Contabilidade"],"parameters":[{"name":"id","in":"path","description":"Identificador da linha de custos numa linha de lançamento","required":true,"style":"simple","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction_line_costs-individual_response"}}}}}}}},"components":{"schemas":{"transaction_line_costs-individual_response":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"attributes":{"type":"object","properties":{"transaction_line_id":{"type":"integer","description":"Identificador da linha de lançamento"},"seqno":{"type":"integer","description":"Número de sequência (ordem) das linhas de lançamento (inicia no zero)"},"cost_center_id":{"type":"integer","description":"Identificador do centro de custos"},"percentage":{"type":"number","description":"Percentagem do montante atribuído ao centro de custo"},"amount":{"type":"number","description":"Valor atribuído ao centro de custo"}}},"relationships":{"type":"object","properties":{"transaction_line":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/accounting_transaction_lines-relationship"}}},"cost_center":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/cost_centers-relationship"}}}}}}}}},"accounting_transaction_lines-relationship":{"type":"object","oneOf":[{"$ref":"#/components/schemas/basic-relationship"}]},"basic-relationship":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string"},"id":{"type":"string"}}},"cost_centers-relationship":{"type":"object","oneOf":[{"$ref":"#/components/schemas/basic-relationship"}]}}}}
```

## Criação de linhas de custos

## POST /transaction\_line\_costs

>

```json
{"openapi":"3.0.1","info":{"title":"Cloudware API v0 Documentation","version":"1.0"},"tags":[{"name":"Contabilidade","description":"Rotas de Lançamentos de Contabilidade"}],"paths":{"/transaction_line_costs":{"post":{"tags":["Contabilidade"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction_line_costs-post_request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction_line_costs-individual_response"}}}}}}}},"components":{"schemas":{"transaction_line_costs-post_request":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"attributes":{"type":"object","properties":{"transaction_line_id":{"type":"integer","description":"Identificador da linha de lançamento"},"seqno":{"type":"integer","description":"Número de sequência (ordem) das linhas de lançamento (inicia no zero)"},"cost_center_id":{"type":"integer","description":"Identificador do centro de custos"},"percentage":{"type":"number","description":"Percentagem do montante atribuído ao centro de custo"},"amount":{"type":"number","description":"Valor atribuído ao centro de custo"}}},"relationships":{"type":"object","properties":{"transaction_line":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/accounting_transaction_lines-relationship"}}},"cost_center":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/cost_centers-relationship"}}}}}}}}},"accounting_transaction_lines-relationship":{"type":"object","oneOf":[{"$ref":"#/components/schemas/basic-relationship"}]},"basic-relationship":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string"},"id":{"type":"string"}}},"cost_centers-relationship":{"type":"object","oneOf":[{"$ref":"#/components/schemas/basic-relationship"}]},"transaction_line_costs-individual_response":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"attributes":{"type":"object","properties":{"transaction_line_id":{"type":"integer","description":"Identificador da linha de lançamento"},"seqno":{"type":"integer","description":"Número de sequência (ordem) das linhas de lançamento (inicia no zero)"},"cost_center_id":{"type":"integer","description":"Identificador do centro de custos"},"percentage":{"type":"number","description":"Percentagem do montante atribuído ao centro de custo"},"amount":{"type":"number","description":"Valor atribuído ao centro de custo"}}},"relationships":{"type":"object","properties":{"transaction_line":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/accounting_transaction_lines-relationship"}}},"cost_center":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/cost_centers-relationship"}}}}}}}}}}}}
```

## Alteração de linhas de custos

## PATCH /transaction\_line\_costs/{id}

>

```json
{"openapi":"3.0.1","info":{"title":"Cloudware API v0 Documentation","version":"1.0"},"tags":[{"name":"Contabilidade","description":"Rotas de Lançamentos de Contabilidade"}],"paths":{"/transaction_line_costs/{id}":{"patch":{"tags":["Contabilidade"],"parameters":[{"name":"id","in":"path","description":"Identificador da linha de custos numa linha de lançamento a atualizar","required":true,"style":"simple","schema":{"type":"integer"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction_line_costs-patch_request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/transaction_line_costs-individual_response"}}}}}}}},"components":{"schemas":{"transaction_line_costs-patch_request":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["type","id","attributes"],"properties":{"type":{"type":"string"},"id":{"type":"string"},"attributes":{"type":"object","properties":{"transaction_line_id":{"type":"integer","description":"Identificador da linha de lançamento"},"seqno":{"type":"integer","description":"Número de sequência (ordem) das linhas de lançamento (inicia no zero)"},"cost_center_id":{"type":"integer","description":"Identificador do centro de custos"},"percentage":{"type":"number","description":"Percentagem do montante atribuído ao centro de custo"},"amount":{"type":"number","description":"Valor atribuído ao centro de custo"}}},"relationships":{"type":"object","properties":{"transaction_line":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/accounting_transaction_lines-relationship"}}},"cost_center":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/cost_centers-relationship"}}}}}}}}},"accounting_transaction_lines-relationship":{"type":"object","oneOf":[{"$ref":"#/components/schemas/basic-relationship"}]},"basic-relationship":{"type":"object","required":["type","id"],"properties":{"type":{"type":"string"},"id":{"type":"string"}}},"cost_centers-relationship":{"type":"object","oneOf":[{"$ref":"#/components/schemas/basic-relationship"}]},"transaction_line_costs-individual_response":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string"},"id":{"type":"string"},"attributes":{"type":"object","properties":{"transaction_line_id":{"type":"integer","description":"Identificador da linha de lançamento"},"seqno":{"type":"integer","description":"Número de sequência (ordem) das linhas de lançamento (inicia no zero)"},"cost_center_id":{"type":"integer","description":"Identificador do centro de custos"},"percentage":{"type":"number","description":"Percentagem do montante atribuído ao centro de custo"},"amount":{"type":"number","description":"Valor atribuído ao centro de custo"}}},"relationships":{"type":"object","properties":{"transaction_line":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/accounting_transaction_lines-relationship"}}},"cost_center":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/cost_centers-relationship"}}}}}}}}}}}}
```

## Eliminação de linhas de custos

## DELETE /transaction\_line\_costs/{id}

>

```json
{"openapi":"3.0.1","info":{"title":"Cloudware API v0 Documentation","version":"1.0"},"tags":[{"name":"Contabilidade","description":"Rotas de Lançamentos de Contabilidade"}],"paths":{"/transaction_line_costs/{id}":{"delete":{"tags":["Contabilidade"],"parameters":[{"name":"id","in":"path","description":"Identificador da linha de custos numa linha de lançamento a eliminar","required":true,"style":"simple","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}
```
