> For the complete documentation index, see [llms.txt](https://docs.xyb.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xyb.co/credit/getting-started/create-a-bnpl-product-tutorial.md).

# Create a BNPL Product - Tutorial

This tutorial walks you through the step-by-step process of configuring a Buy Now, Pay Later (BNPL) product using the XYB platform. BNPL is a popular financing model that lets customers split payments over time, typically interest-free, making it ideal for increasing conversion at checkout.

### STEP 1: Create a New Product in Product Configuration

Navigate to **Product Configuration > Products**, then click **Create New Product**.

#### Fields:

* **Product Name**: Internal and external display name.
* **Reference Code**: Unique identifier, often auto-generated.
* **Product Group**: Logical grouping such as `BNPL`, `Retail Loan`, `Microcredit`. Used for reporting and eligibility targeting.
* **Product Type**:
  * `CREDIT`: For any lending product.
  * `DEPOSIT`: For saving or wallet accounts.
* **Status**:
  * `Draft`: Editable.
  * `Active`: Available for contract creation.
  * `Inactive`: Not available for new usage.

***

### STEP 2: Add a Credit Contract Service

Attach the **Credit Contract v42** or latest available version.

#### General Configuration:

* **Group**: Logical identifier used to tag product family (e.g., `BNPL`, `POS-Finance`).
* **Type**:
  * `FIXED_INSTALLMENTS_WITH_INTEREST`: Predictable monthly payments with interest.
  * `FIXED_INSTALLMENTS_WITHOUT_INTEREST`: Zero-interest model.
  * `BULLET`: Principal paid at end.
  * `BALLOON`: Some principal paid monthly; large amount at end.
  * `FLEXIBLE_INSTALLMENTS`: Customer-defined repayment.
* **Merchant**: The party receiving the funds.
* **Account Number**: Merchant account to credit funds.
* **Currency**: Single or multiple allowed (inherited from global config).

#### Why it matters:

Defines structure of financial flows: disbursement, repayment, and accounting.

***

### STEP 3: Terms

* **Owner**: Entity issuing the credit contract (e.g., a lender).
* **Owner Account Number**: Where repayments are collected.
* **Length Type**:
  * `DAY`, `WEEK`, `MONTH`, `YEAR`: Determines how contract duration is measured.
* **First Interest Payback Period**: When interest begins to be repaid (e.g., period 1).
* **First Principal Payback Period**: When principal repayment begins.
* **Settlement Type**:
  * `ORDER_BY_DATE_AND_TYPE`: Prioritize earliest due items by component type.
  * `ORDER_BY_PRIORITY`: Custom-defined priority.
  * `CUSTOM`: Flexible ruleset (advanced use only).

***

### STEP 4: Settlement Order

Defines the order in which components are paid:

* **Components**:
  * `PRINCIPAL`
  * `INTEREST`
  * `FEE`
  * `PENALTY`
* You can reorder based on financial strategy: risk-first (principal), revenue-first (interest).

***

### STEP 5: Schedule Configuration

#### Schedule Types:

* `FIXED_PRINCIPAL`
* `FIXED_INTEREST`
* `FIXED_PRINCIPAL_AND_INTEREST`
* `EQUAL_INSTALLMENTS`
* `MANUAL`

Used to calculate installments.

#### Frequencies:

* `DAILY`, `WEEKLY`, `BIWEEKLY`, `MONTHLY`, `QUARTERLY`, `YEARLY`

Used for both **Principal Payment Frequency** and **Interest Payment Frequency**.

#### Agreement Length:

* Define **default**, **min**, **max**, and **step** for duration.
* Based on `Length Type` above.

#### Amount Configuration:

* **Default Amount**: Suggested default.
* **Min / Max**: Range of permitted loan size.
* **Step**: Increment allowed (e.g., steps of 5).

***

### STEP 6: Customer Eligibility

* **Customer Sector**:
  * `PRIVATE_CUSTOMER`, `BUSINESS`, `FREELANCER`, etc.
* **Customer Segment**:
  * Free-text based targeting (e.g., `Premium`, `Startup`)

Determines who can see and access the product.

***

### STEP 7: Interest Configuration

#### Interest Type:

* `PRINCIPAL`, `DISBURSED`, `OVERDUE`

#### Variable Type:

* `FIXED`: Static interest rate.
* `INDEXED`: Uses market index (e.g., ESTR).
* `TIERED`: Changes by amount or duration.

#### Interest Rate Values:

* **Default**, **Min**, **Max** (in decimal form, e.g., 0.15 = 15%)

#### Day Count Conventions:

* `E30_360`, `ACT_360`, `ACT_365`: Defines how interest is calculated based on actual or fixed day models.

#### Booking Period:

* `DAILY`, `MONTHLY`, `QUARTERLY`: Frequency of interest accrual entries.

#### Rounding Method:

* `UP`, `DOWN`, `NEAREST`

#### Frequency:

* How often interest is **paid** by the customer (typically `MONTHLY`)

#### Is Paid by Customer:

* Toggle to include interest as part of customer’s schedule.

***

### STEP 8: Fees

* **Calculation Method**:
  * `FIXED_AMOUNT`, `PERCENTAGE`, `TIERED`
* **Type**:
  * `ON_CONTRACT_CREATED`, `ON_OVERDUE`, `RECURRING`, etc.
* **Amount / Percentage**: Value of fee.
* **Recipient**: Can be lender, merchant, platform.

Fees increase monetization and cover operational costs.

***

### STEP 9: Contract Template

Attach an existing **Credit Agreement Template** for digital signing, downloadable PDF or regulatory compliance

### 10: Save and Activate

Once all sections are complete:

* Click **Save**
* Review product status
* Set to **Active** to use it in contracts

***

### Outcome

You’ve now built a complete BNPL product, fully equipped with:

* Logical fund flow
* Repayment rules
* Pricing strategy
* Customer eligibility
* Digital contract support

This product is now ready to be used when creating credit contracts.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xyb.co/credit/getting-started/create-a-bnpl-product-tutorial.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
