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

# Compliance Calendar

> Track regulatory deadlines and never miss a filing again.

Nigerian businesses face dozens of recurring regulatory obligations — CAC annual returns, VAT filings, PAYE remittances, pension contributions, licence renewals. Missing a deadline means penalties, and in some cases, deregistration.

The Compliance Calendar tracks these deadlines automatically, sends reminders, and marks obligations as complete when you're done.

## How it works

<Steps>
  <Step title="Seed the standards">
    Seed a company's calendar with the standard Nigerian obligations via `POST /v1/compliance/seed`. Due dates are computed from the company's registration date and the statutory deadlines.
  </Step>

  <Step title="Add custom obligations">
    Add internal or sector-specific deadlines that aren't covered by the defaults (e.g. insurance renewals, board resolutions). Use the `custom` category.
  </Step>

  <Step title="Get reminders">
    Upcoming obligations surface in your dashboard and trigger notification alerts at configurable lead times before the due date.
  </Step>

  <Step title="Mark complete">
    When you've filed or paid, mark the obligation complete with `POST /v1/compliance/obligations/:obligationId/complete`. For recurring items, the next due date is rolled forward.
  </Step>
</Steps>

## Standard Nigerian obligations

`POST /v1/compliance/seed` creates these six obligations (any already present are skipped):

| Obligation                    | Category            | Frequency |
| ----------------------------- | ------------------- | --------- |
| CAC annual return             | `cac_annual_return` | `annual`  |
| VAT filing                    | `vat`               | `monthly` |
| Companies Income Tax (CIT)    | `cit`               | `annual`  |
| PAYE remittance               | `paye`              | `monthly` |
| Pension contribution (PenCom) | `pension`           | `monthly` |
| ITF contribution              | `itf`               | `annual`  |

Anything outside this set — sector-specific permits, internal deadlines — is added as a `custom` obligation.

Valid `category` values: `cac_annual_return`, `vat`, `cit`, `paye`, `pension`, `itf`, `custom`. Valid `frequency` values: `monthly`, `annual`, `one_off`, `custom`.

## API

The full compliance API lets you:

* List obligations (`GET /v1/compliance/obligations`)
* Get upcoming deadlines (`GET /v1/compliance/obligations/upcoming`)
* Create a custom obligation (`POST /v1/compliance/obligations`)
* Update or delete an obligation (`PATCH`/`DELETE /v1/compliance/obligations/:obligationId`)
* Mark an obligation complete (`POST /v1/compliance/obligations/:obligationId/complete`)
* Seed the standard obligations (`POST /v1/compliance/seed`)

See [Compliance API Reference](/api-reference/compliance/list-obligations).

## Where to go next

<CardGroup cols={2}>
  <Card title="Compliance API" icon="calendar" href="/api-reference/compliance/list-obligations">
    Manage obligations programmatically.
  </Card>

  <Card title="Smart Sentinel" icon="radar" href="/concepts/smart-sentinel">
    Continuous monitoring beyond compliance deadlines.
  </Card>
</CardGroup>
