> ## 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.

# Discount

Discount represents an allowance applied to the complete document independent from the individual lines.

## Schema ID

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

## Properties

| Title      | Property  | Type                                      | Description                                                                                              |
| ---------- | --------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| UUID       | `uuid`    | string                                    | Universally Unique Identifier.                                                                           |
| Index      | `i`       | integer                                   | Line number inside the list of discounts (calculated)                                                    |
| Key        | `key`     | [cbc.Key](/draft-0/cbc/key)               | Key for identifying the type of discount being applied.                                                  |
| Code       | `code`    | [cbc.Code](/draft-0/cbc/code)             | Code to used to refer to the this discount by the issuer                                                 |
| Reason     | `reason`  | string                                    | Text description as to why the discount 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 base or invoice's sum.                                                        |
| 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 discount                                                                   |
| Extensions | `ext`     | [tax.Extensions](/draft-0/tax/extensions) | Extension codes that apply to the discount                                                               |
| Meta       | `meta`    | [cbc.Meta](/draft-0/cbc/meta)             | Additional semi-structured information.                                                                  |

## Key Values

| Value               | Description                       |
| ------------------- | --------------------------------- |
| `early-completion`  | Bonus for works ahead of schedule |
| `military`          | Military Discount                 |
| `work-accident`     | Work Accident Discount            |
| `special-agreement` | Special Agreement Discount        |
| `production-error`  | Production Error Discount         |
| `new-outlet`        | New Outlet Discount               |
| `sample`            | Sample Discount                   |
| `end-of-range`      | End of Range Discount             |
| `incoterm`          | Incoterm Discount                 |
| `pos-threshold`     | Point of Sale Threshold Discount  |
| `special-rebate`    | Special Rebate                    |
| `temporary`         | Temporary                         |
| `standard`          | Standard                          |
| `yearly-turnover`   | Yearly Turnover                   |

## 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-DISCOUNT-01`<br />Percent is required when base is set |
