> For the complete documentation index, see [llms.txt](https://docs.samesystem.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.samesystem.dev/business-guides/absence/absence-balances/balance-transfer.md).

# Balance transfer

{% hint style="info" %}
Only available in API v2.
{% endhint %}

The Balance Transfer endpoint lets you re-run a balance transfer for employees whose balances have changed after their salary periods were already confirmed and closed. You do not need to reopen, unconfirm, or reconfirm any salary periods.

{% hint style="info" %}
In most cases, you won't need this endpoint. Balance transfers happen automatically when a salary period is fully confirmed. This endpoint is for rare cases where data in an already-confirmed period is changed afterwards.
{% endhint %}

### How balance transfers normally work

When every day in a salary period is confirmed, the system automatically transfers the employee's closing balance to the next period. After this, the confirmed period is treated as final and is not expected to change.

### When to use this endpoint

Some changes can reach a period after it has been confirmed and closed. A common example is an absence that is registered and approved retroactively, such as a sickness registration imported after the fact.

For example, a day that first counted **0 hours** toward the balance might later count **8 hours**. This creates a positive balance adjustment. By then, the balance may already have been carried forward into later periods. Those stored balances then no longer match the actual balance.

Use this endpoint to recalculate and carry forward the corrected balance, so that stored balances match actual balances again.

### Example scenario

Suppose it is September. All days in July and August have been confirmed, and both salary periods are closed. An approved sickness absence is then imported for a day in July.

**Without the API (manual process):**

1. Reopen the salary periods for July and August.
2. Unconfirm and reconfirm the affected day in July.
3. Transfer the updated balance from July to August.
4. Repeat the transfer from August onwards, if the balance was already carried further.
5. Close the salary periods again.

**With the API:**

1. Call the Balance Transfer endpoint for the affected employee(s) and period(s).
2. The corrected balance is carried forward. The closed periods stay closed.

### Business rules

* **Locked data is not changed.** Information already locked in *Approved Hours Salary* stays exactly as it is.
* **Balances are updated going forward only.** The transfer updates the employee's balance for the following periods. It does not rewrite payroll results for closed periods.
* **Prerequisites must be met.** The transfer only runs when the usual conditions for a balance transfer are met.

### Endpoint

[POST /{clientToken}/calendar/balance\_transfers](/api-v2-reference/balance-transfers.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.samesystem.dev/business-guides/absence/absence-balances/balance-transfer.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
