---
title: "Criar movimento com divisão por centros de custo"
method: POST
path: "/api/financeiro/movements/cost-center"
tags: ["Financeiro (Protected)"]
---

# Criar movimento com divisão por centros de custo

`POST /api/financeiro/movements/cost-center`

Create a cost movement split across multiple PVs as cost centers.

## Headers

- `x-api-token` string, nullable

## Request body

- CostCenterMovimentoCreate — Movement creation with cost center split. Unlike a regular movement, the parent's `Pago` flag is user-controlled (the dialog has a "Pagamento efetuado" checkbox that is independent of the payment method): a cost-center parent must always declare a method so restitutions know how to refund, but the user may register the movement before it is actually settled. `ValorTotal` may be negative (despesa split) or positive (receita split). The effective direction is rubrica-governed at create (FluxoPositivo sign enforcement, like the plain create path) and then stored immutably on the group (`Z_MovimentoCentroCusto.direction`) — later edits can never flip it.
  - `ValorTotal` number, required — Can be negative (cost) or positive (profit)
  - `ValorIva` number, nullable
  - `Descrição` string, required
  - `Matrícula` integer, nullable
  - `Fornecedor` integer, nullable
  - `MétodoPagamento` integer, nullable
  - `NrFatura` string, nullable
  - `DataFatura` string, date-time, nullable
  - `Rubrica` integer, required
  - `ATCUD` integer, nullable — Invoice ID (Faturas.ID) to link to this movement
  - `lucro` integer, nullable — Override lucro value (0 or 1). If None, backend auto-calculates based on vehicle status.
  - `cost_center_splits` CostCenterSplitItem[], required — List of DESTINATION PV splits
    - `pv_id` integer, required — Target PV ID
    - `value` number, nullable — Amount allocated to this PV (positive) - used in equal mode
    - `percentage` number, nullable — Percentage allocated to this PV - used in custom mode
  - `Pago` integer, nullable — 0 = parent registered but not yet paid, 1 = paid. When omitted, backend derives from MétodoPagamento.
  - `include_own_split` boolean — Also create a child movement in the ORIGIN PV for its own remaining share. Its value is derived by the backend from the total minus the destinations — never sent by the client.

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/multigest/apis/multigest-protected-api.md) · [All operations](https://skmtc.dev/multigest/apis/multigest-protected-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/multigest/multigest-protected-api/revisions/4b44eb76b3ee/schema)
