> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gobl.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Charge

Charge represents a surchange applied to the complete document independent from the individual lines.

## Schema ID

`https://gobl.org/draft-0/bill/charge`

## Properties

| Title      | Property  | Type                                      | Description                                                                                                                              |
| ---------- | --------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| UUID       | `uuid`    | string                                    | Universally Unique Identifier.                                                                                                           |
| Index      | `i`       | integer                                   | Line number inside the list of charges (calculated).                                                                                     |
| Key        | `key`     | [cbc.Key](/draft-0/cbc/key)               | Key for grouping or identifying charges for tax purposes. A suggested list of keys is provided, but these may be extended by the issuer. |
| Code       | `code`    | [cbc.Code](/draft-0/cbc/code)             | Code to used to refer to the this charge by the issuer                                                                                   |
| Reason     | `reason`  | string                                    | Text description as to why the charge was applied                                                                                        |
| Base       | `base`    | [num.Amount](/draft-0/num/amount)         | Base represents the value used as a base for percent calculations instead of the invoice's sum of lines.                                 |
| Percent    | `percent` | [num.Percentage](/draft-0/num/percentage) | Percentage to apply to the sum of all lines                                                                                              |
| Amount     | `amount`  | [num.Amount](/draft-0/num/amount)         | Amount to apply (calculated if percent present)                                                                                          |
| Taxes      | `taxes`   | [tax.Set](/draft-0/tax/set)               | List of taxes to apply to the charge                                                                                                     |
| Extensions | `ext`     | [tax.Extensions](/draft-0/tax/extensions) | Extension codes that apply to the charge                                                                                                 |
| Meta       | `meta`    | [cbc.Meta](/draft-0/cbc/meta)             | Additional semi-structured information.                                                                                                  |

## Key Values

| Value        | Description    |
| ------------ | -------------- |
| `stamp-duty` | Stamp Duty     |
| `outlay`     | Outlay         |
| `tax`        | Tax            |
| `customs`    | Customs        |
| `delivery`   | Delivery       |
| `packing`    | Packing        |
| `handling`   | Handling       |
| `insurance`  | Insurance      |
| `storage`    | Storage        |
| `admin`      | Administration |
| `cleaning`   | Cleaning       |

## Validation Rules

| Field     | Test                                                                                      | Validation Code / Message                                       |
| --------- | ----------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| `percent` | <ul class="gobl-test"><li>Base != nil</li><li class="gobl-test-present">Present</li></ul> | `GOBL-BILL-CHARGE-01`<br />Percent is required when base is set |
