# ledger_vat_summary

## Description

<details>
<summary><strong>Table Definition</strong></summary>

```sql
CREATE TABLE `ledger_vat_summary` (
  `ledger_vat_summary_id` mediumint unsigned NOT NULL AUTO_INCREMENT,
  `statement_period_id` mediumint unsigned NOT NULL,
  `activity_statement_period_id` mediumint unsigned NOT NULL,
  `abacus_event_id` mediumint unsigned NOT NULL,
  `account_id` mediumint unsigned NOT NULL,
  `contract_id` mediumint unsigned NOT NULL,
  `vat_category` enum('gross_revenue','distribution_fee','closing_balance','commission') COLLATE utf8mb4_general_ci NOT NULL,
  `payee_currency_code` char(3) COLLATE utf8mb4_general_ci NOT NULL,
  `vat_currency_code` char(3) COLLATE utf8mb4_general_ci NOT NULL,
  `base_amount_payee_currency` decimal(20,2) NOT NULL,
  `vat_rate` decimal(5,2) DEFAULT NULL,
  `vat_amount_payee_currency` decimal(20,2) DEFAULT NULL,
  `vat_amount_vat_currency` decimal(20,2) DEFAULT NULL,
  `net_amount_payee_currency` decimal(20,2) NOT NULL,
  `wht_rate` decimal(5,2) DEFAULT NULL,
  `wht_amount_vat_currency` decimal(20,2) DEFAULT NULL,
  `wht_amount_payee_currency` decimal(20,2) DEFAULT NULL,
  `abacus_exempt_reason` varchar(180) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `description` mediumtext COLLATE utf8mb4_general_ci,
  `is_reporting_only` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'this entry is for reporting only and does not affect the ledger',
  `created_by` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `created_at` datetime NOT NULL,
  `last_modified_by` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `last_modified` datetime NOT NULL,
  PRIMARY KEY (`ledger_vat_summary_id`),
  KEY `fk_ledger_vat_summary_event` (`abacus_event_id`),
  KEY `fk_ledger_vat_summary_account` (`account_id`),
  KEY `fk_ledger_vat_summary_contract` (`contract_id`),
  KEY `fk_ledger_vat_summary_statement_period` (`statement_period_id`),
  KEY `fk_ledger_vat_summary_activity_statement_period` (`activity_statement_period_id`),
  CONSTRAINT `fk_ledger_vat_summary_account` FOREIGN KEY (`account_id`) REFERENCES `account` (`account_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_ledger_vat_summary_activity_statement_period` FOREIGN KEY (`activity_statement_period_id`) REFERENCES `statement_period` (`statement_period_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_ledger_vat_summary_contract` FOREIGN KEY (`contract_id`) REFERENCES `contract` (`contract_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_ledger_vat_summary_event` FOREIGN KEY (`abacus_event_id`) REFERENCES `abacus_event` (`abacus_event_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_ledger_vat_summary_statement_period` FOREIGN KEY (`statement_period_id`) REFERENCES `statement_period` (`statement_period_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=[Redacted by tbls] DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
```

</details>

## Columns

| Name                         | Type                                                                    | Default | Nullable | Extra Definition | Children | Parents                                 | Comment                                                         |
| ---------------------------- | ----------------------------------------------------------------------- | ------- | -------- | ---------------- | -------- | --------------------------------------- | --------------------------------------------------------------- |
| abacus_event_id              | mediumint unsigned                                                      |         | false    |                  |          | [abacus_event](abacus_event.md)         |                                                                 |
| abacus_exempt_reason         | varchar(180)                                                            |         | true     |                  |          |                                         |                                                                 |
| account_id                   | mediumint unsigned                                                      |         | false    |                  |          | [account](account.md)                   |                                                                 |
| activity_statement_period_id | mediumint unsigned                                                      |         | false    |                  |          | [statement_period](statement_period.md) |                                                                 |
| base_amount_payee_currency   | decimal(20,2)                                                           |         | false    |                  |          |                                         |                                                                 |
| contract_id                  | mediumint unsigned                                                      |         | false    |                  |          | [contract](contract.md)                 |                                                                 |
| created_at                   | datetime                                                                |         | false    |                  |          |                                         |                                                                 |
| created_by                   | varchar(255)                                                            |         | false    |                  |          |                                         |                                                                 |
| description                  | mediumtext                                                              |         | true     |                  |          |                                         |                                                                 |
| is_reporting_only            | tinyint(1)                                                              | 0       | false    |                  |          |                                         | this entry is for reporting only and does not affect the ledger |
| last_modified                | datetime                                                                |         | false    |                  |          |                                         |                                                                 |
| last_modified_by             | varchar(255)                                                            |         | false    |                  |          |                                         |                                                                 |
| ledger_vat_summary_id        | mediumint unsigned                                                      |         | false    | auto_increment   |          |                                         |                                                                 |
| net_amount_payee_currency    | decimal(20,2)                                                           |         | false    |                  |          |                                         |                                                                 |
| payee_currency_code          | char(3)                                                                 |         | false    |                  |          |                                         |                                                                 |
| statement_period_id          | mediumint unsigned                                                      |         | false    |                  |          | [statement_period](statement_period.md) |                                                                 |
| vat_amount_payee_currency    | decimal(20,2)                                                           |         | true     |                  |          |                                         |                                                                 |
| vat_amount_vat_currency      | decimal(20,2)                                                           |         | true     |                  |          |                                         |                                                                 |
| vat_category                 | enum('gross_revenue','distribution_fee','closing_balance','commission') |         | false    |                  |          |                                         |                                                                 |
| vat_currency_code            | char(3)                                                                 |         | false    |                  |          |                                         |                                                                 |
| vat_rate                     | decimal(5,2)                                                            |         | true     |                  |          |                                         |                                                                 |
| wht_amount_payee_currency    | decimal(20,2)                                                           |         | true     |                  |          |                                         |                                                                 |
| wht_amount_vat_currency      | decimal(20,2)                                                           |         | true     |                  |          |                                         |                                                                 |
| wht_rate                     | decimal(5,2)                                                            |         | true     |                  |          |                                         |                                                                 |

## Constraints

| Name                                            | Type        | Definition                                                                                   |
| ----------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------- |
| PRIMARY                                         | PRIMARY KEY | PRIMARY KEY (ledger_vat_summary_id)                                                          |
| fk_ledger_vat_summary_account                   | FOREIGN KEY | FOREIGN KEY (account_id) REFERENCES account (account_id)                                     |
| fk_ledger_vat_summary_activity_statement_period | FOREIGN KEY | FOREIGN KEY (activity_statement_period_id) REFERENCES statement_period (statement_period_id) |
| fk_ledger_vat_summary_contract                  | FOREIGN KEY | FOREIGN KEY (contract_id) REFERENCES contract (contract_id)                                  |
| fk_ledger_vat_summary_event                     | FOREIGN KEY | FOREIGN KEY (abacus_event_id) REFERENCES abacus_event (abacus_event_id)                      |
| fk_ledger_vat_summary_statement_period          | FOREIGN KEY | FOREIGN KEY (statement_period_id) REFERENCES statement_period (statement_period_id)          |

## Indexes

| Name                                            | Definition                                                                                     |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| PRIMARY                                         | PRIMARY KEY (ledger_vat_summary_id) USING BTREE                                                |
| fk_ledger_vat_summary_account                   | KEY fk_ledger_vat_summary_account (account_id) USING BTREE                                     |
| fk_ledger_vat_summary_activity_statement_period | KEY fk_ledger_vat_summary_activity_statement_period (activity_statement_period_id) USING BTREE |
| fk_ledger_vat_summary_contract                  | KEY fk_ledger_vat_summary_contract (contract_id) USING BTREE                                   |
| fk_ledger_vat_summary_event                     | KEY fk_ledger_vat_summary_event (abacus_event_id) USING BTREE                                  |
| fk_ledger_vat_summary_statement_period          | KEY fk_ledger_vat_summary_statement_period (statement_period_id) USING BTREE                   |

## Relations

![er](ledger_vat_summary.svg)

---

> Generated by [tbls](https://github.com/k1LoW/tbls)
