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

# Ezypay as a data source

> Bring data from Ezypay to Nekt.

Ezypay is a subscription billing and payment platform that helps businesses automate recurring payments and manage customer subscriptions. It provides tools for invoicing, payment collection, and financial reporting to streamline revenue operations.

<img height="50" src="https://mintcdn.com/nekt/3MFKt2g7jzqFpztO/assets/logo/logo-ezypay.png?fit=max&auto=format&n=3MFKt2g7jzqFpztO&q=85&s=c11a3d0834b0222d6adc4183893e8a52" data-path="assets/logo/logo-ezypay.png" />

## Configuring Ezypay as a Source

In the [Sources](https://app.nekt.ai/sources) tab, click on the "Add source" button located on the top right of your screen. Then, select the **Ezypay** option from the list of connectors.

Click **Next** and you'll be prompted to add your access.

### 1. Add account access

You'll need to provide your Ezypay credentials to authorize Nekt to access your data. Check the [linked documentation](https://developer.ezypay.com/reference/about-us) if you need help finding any of the credentials.

The following configurations are available:

* **Client ID**: Your Ezypay application Client ID.
* **Client Secret**: Your Ezypay application Client Secret.
* **Merchant ID**: Your unique Ezypay Merchant ID.
* **Username**: The username for your Ezypay account.
* **Password**: The password for your Ezypay account.
* **Start Date**: The date of the first record you want to sync with. We will extract every record created or updated after this date. Format: `YYYY-MM-DD`.

Once you're done, click **Next**.

### 2. Select streams

Choose which data streams you want to sync. A stream is an entity and you can select the whole entity (meaning all available attributes will come in each table) or only a subset of them.

> Tip: The stream can be found more easily by typing its name.

Select the streams and click **Next**.

### 3. Configure data streams

Customize how you want your data to appear in your catalog. Select the desired layer where the data will be placed, a name for each table (which will effectively contain the fetched data) and the type of sync.

* **Layer**: Choose between the existing layers on your catalog. This is where you will find your new extracted tables once the extraction runs successfully.
* **Table name**: We suggest a name, but feel free to customize it. You have the option to add a **prefix** to all tables at once to speed up configuration.
* **Sync Type**: You can choose between **INCREMENTAL** and **FULL\_TABLE**.
  * **Incremental**: Each run fetches only new or updated data since the last replication.
  * **Full table**: Each run gets the current state of the entire dataset.

Once you are done configuring, click **Next**.

### 4. Configure data source

Describe your data source for easy identification within your organization, not exceeding 140 characters.

To define your [Trigger](https://docs.nekt.com/get-started/core-concepts/triggers), consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times).

Optionally, you can define some additional settings:

* **Delta Log Retention**: Determine how long we should store old states of this table as it gets updated. Read more about this resource [here](https://docs.nekt.com/get-started/core-concepts/resource-control).
* **Additional Full Sync**: Determine when to execute an [Additional Full Sync](https://docs.nekt.com/get-started/core-concepts/types-of-sync#additional-full-sync). This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while.

When you are ready, click **Next** to finalize the setup.

### 5. Check your new source

You can view your new source on the [Sources](https://app.nekt.ai/sources) page. If needed, manually trigger the source extraction by clicking on the arrow button. Once the run completes successfully, your data will appear in your Catalog.

<Warning>You need at least one successful source run to see the table in your [Catalog](https://app.nekt.ai/catalog).</Warning>

# Streams and Fields

Below you'll find the available data streams from Ezypay.

*(Note: Data is automatically formatted so that all field names are converted to snake\_case.)*

<AccordionGroup>
  <Accordion title="Merchants">
    Stream containing details about your Ezypay merchants, including details for any supplementary merchants defined in your connection settings.
  </Accordion>

  <Accordion title="Settlement List Summary">
    Stream containing summary records and overviews of your settlements.
  </Accordion>

  <Accordion title="Settlement Report Details">
    Stream containing highly detailed settlement information, dynamically fetched and parsed from Ezypay CSV settlement reports.

    **Key Fields:**

    | Field             | Type   | Description                                       |
    | :---------------- | :----- | :------------------------------------------------ |
    | `document_id`     | String | Unique identifier for the settlement document.    |
    | `settlement_date` | String | The relevant date associated with the settlement. |
  </Accordion>
</AccordionGroup>

# Implementation Notes

### Incremental Sync and Settlement Reports Lookback

EzyPay generates settlement report files asynchronously. This means a settlement that recently appeared in the API might not have its detailed report ready to download yet, which would ordinarily cause the connector to silently skip those records.

To prevent missing data, the Ezypay connector is designed with a **7-day lookback window** during incremental syncs (specifically for settlement-related endpoints). On every incremental run, the connector will automatically subtract 7 days from your starting timestamp to re-request recent settlements. This ensures that any recent settlements are retried and successfully fetched once EzyPay has finished generating their reports.

* **Data Integrity and Error Handling**: When fetching data for the `Settlement Report Details` stream, any row missing a `document_id` in the underlying CSV report is automatically skipped. This prevents the sync from crashing and ensures data integrity.

## Skills for agents

<Snippet file="agent-skills-intro.mdx" />

<Card title="Download Ezypay skills file" icon="wand-magic-sparkles" href="/sources/ezypay.md">
  Ezypay connector documentation as plain markdown, for use in AI agent contexts.
</Card>
