# Create Invoice

This endpoint is used to create invoice details for invoice plugin

#### Method

<pre><code><strong>POST https://api.ninjapay.me/webextension/api/v1/fiat/invoice/create
</strong></code></pre>

#### Parameters

* **`business_logo`** (`string`): URL of the business logo.
* **`business_name`** (`string, required`): Name of the business.
* **`phone`** (`string`): Contact phone number (without country code).
* **`phone_code`** (`string`): Country code for the phone number.
* **`email`** (`string, required`): Contact email address.
* **`billing_address`** (`string`): Billing address.
* **`city`** (`string`): City of the business.
* **`state`** (`string`): State of the business.
* **`zipcode`** (`string`): Zipcode of the business.
* **`country`** (`string`): Country of the business.
* **`documents`** (`object`): Contains document details.
  * **`doc_1`** (`object`): First document.
    * **`title`** (`string`): Title of the document.
    * **`value`** (`string`): Value of the document.
  * **`doc_2`** (`object`): Second document.
    * **`title`** (`string`): Title of the document.
    * **`value`** (`string`): Value of the document.
* **`default_currency`** (`string`): Default currency for transactions.
* **`enable_qr`** (`boolean`): Enable or disable QR code generation.
* **`redirect_url`** (`string`): URL to redirect after payment.
* **`include_invoice_id`** (`boolean`): Include invoice ID in the documentation.
* **`webhook_url`** (`string`): URL for webhook callbacks.
* **`terms_condition_url`** (`string`): URL for terms and conditions.
* **`custom_thanks_message`** (`string`): Custom thank you message.
* **`custom_button_text`** (`string`): Custom text for the payment button.
* **`green_donation_link`** (`string`): URL for green donation link.
* **`donation_percentage`** (`number`): Percentage of donation.
* **`donation_message`** (`string`): Message regarding donations.
* **`tax_details`** (`object`): Contains tax details.
  * **`tax_title`** (`string`): Title for tax.
  * **`tax_percentage`** (`number`): Tax percentage.
  * **`tax_country`** (`string`): Country where the tax is applicable.
  * **`is_all_states`** (`boolean`): If tax is applicable to all states.
  * **`tax_states`** (`array`): List of states where tax is applicable (empty if all states).
* **`invoice_date`** (`string`): Date when the invoice was generated (ISO 8601 format).
* **`theme_color`** (`string`): Theme color for the invoice.
* **`client_details`** (`object`): Details of the client.
  * **`name`** (`string`): Name of the client.
  * **`phone_code`** (`string`): Country code for the client's phone number.
  * **`phone`** (`string`): Client's phone number.
  * **`email`** (`string`): Client's email address.
  * **`website`** (`string`): Client's website URL.
  * **`street_address`** (`string`): Street address of the client.
  * **`state`** (`string`): State of the client.
  * **`city`** (`string`): City of the client.
  * **`country`** (`string`): Country of the client.
  * **`zip_code`** (`string`): Zip code of the client.
  * **`details`** (`array`): Additional details of the client.
    * **`PAN`** (`string`): Client's PAN number.
    * **`GST`** (`string`): Client's GST number.
* **`product_details *`** (`array`): Details of the products or services.
  * **`name`** (`string`): Name of the product.
  * **`price`** (`string`): Price of the product.
  * **`description`** (`string`): Description of the product.
  * **`logo`** (`string`): Logo of the product.
  * **`product_created_at`** (`string`): Date when the product was created (ISO 8601 format).
  * **`currency`** (`string`): Currency for the product price.
  * **`quantity`** (`number`): Quantity of the product.
  * **`amount`** (`number`): Amount for the product (price \* quantity).
  * **`final`** (`number`): Final amount after any discounts or taxes.
* **`total`** (`number, required`): Total amount before any additional charges.
* **`total_details`** (`array`): Breakdown of additional charges or discounts.
  * **`title`** (`string`): Title for the charge or discount.
  * **`amount`** (`number`): Amount for the charge or discount.
  * **`percentage`** (`number`): Percentage for the charge or discount.
* **`net_total`** (`number`): Net total after all deductions and additions.
* **`allow_partial`** (`boolean`): Whether partial payments are allowed.
* **`allow_tip`** (`boolean`): Whether tips are allowed.
* **`due_date`** (`string`): Due date for the payment (ISO 8601 format).
* **`note_to_customer`** (`string`): Note to the customer regarding payment.
* **`terms_message`** (`string`): Additional terms or messages.
* **`tracking_number`** (`string`): Tracking number for the shipment.
* **`tracking_url`** (`string`): URL to track the shipment.
* **`extras`** (`object`): Additional key-value pairs.
  * **`key1`** (`string`): Extra key 1.
  * **`key2`** (`string`): Extra key 2.
* **`funding_source`** (`string`): Source of funding for the transaction.

#### Request Body

```javascript
Body (application/json)
{
    "business_logo": "https://awesomecompany.com", // URL of the business logo
    "business_name": "Awesome Company", // Name of the business
    "phone": "234567890", // Contact phone number (without country code)
    "phone_code": "+1", // Country code for the phone number
    "email": "sample@gmail.com", // Contact email address
    "billing_address": "123 Main Street", // Billing address
    "city": "Hyderabad", // City of the business
    "state": "Telangana", // State of the business
    "zipcode": "12345", // Zipcode of the business
    "country": "USA", // Country of the business
    "documents": {
        "doc_1": {
            "title": "PAN", // Title of the document
            "value": "HG297323" // Value of the document
        },
        "doc_2": {
            "title": "GST", // Title of the document
            "value": "76YHGF67656" // Value of the document
        }
    },
    "default_currency": "USD", // Default currency for transactions
    "enable_qr": true, // Enable or disable QR code generation
    "redirect_url": "", // URL to redirect after payment
    "include_invoice_id": true, // Include invoice ID in the documentation
    "webhook_url": "", // URL for webhook callbacks
    "terms_condition_url": "https://google.com", // URL for terms and conditions
    "custom_thanks_message": "Thank you for your payment!", // Custom thank you message
    "custom_button_text": "", // Custom text for the payment button
    "green_donation_link": "", // URL for green donation link
    "donation_percentage": 0.0, // Percentage of donation
    "donation_message": "", // Message regarding donations
    "tax_details": {
        "tax_title": "GST", // Title for tax
        "tax_percentage": 18, // Tax percentage
        "tax_country": "India", // Country where the tax is applicable
        "is_all_states": true, // If tax is applicable to all states
        "tax_states": [] // List of states where tax is applicable (empty if all states)
    },
    "invoice_date": "2024-08-08T05:55:14.981Z", // Date when the invoice was generated
    "theme_color": "", // Theme color for the invoice
    "client_details": { // Details of the client
        "name": "Aman A", // Name of the client
        "phone_code": "91", // Country code for the client's phone number
        "phone": "9876543211", // Client's phone number
        "email": "aman2@gmail.com", // Client's email address
        "website": "https://amanwebsite.com", // Client's website URL
        "street_address": "1234 Elm Street", // Street address of the client
        "state": "Maharashtra", // State of the client
        "city": "Mumbai", // City of the client
        "country": "India", // Country of the client
        "zip_code": "400001", // Zip code of the client
        "details": [ // Additional details of the client
            {
                "PAN": "ABCDE1234F" // Client's PAN number
            },
            {
                "GST": "27ABCDE1234F1Z5" // Client's GST number
            }
        ]
    },
    "product_details": [ // Details of the products or services
        {
            "name": "Orange Gift Box", // Name of the product
            "price": "599.50", // Price of the product
            "description": "", // Description of the product
            "logo": "", // Logo of the product
            "product_created_at": "2024-08-07T11:53:03.000Z", // Date when the product was created
            "currency": "INR", // Currency for the product price
            "quantity": 1, // Quantity of the product
            "amount": 599.5, // Amount for the product (price * quantity)
            "final": 599.5 // Final amount after any discounts or taxes
        }
    ],
    "total": 599.5, // Total amount before any additional charges
    "total_details": [ // Breakdown of additional charges or discounts
        {
            "title": "Discount", // Title for the discount
            "amount": 0, // Discount amount
            "percentage": 0 // Discount percentage
        },
        {
            "title": "Shipping", // Title for the shipping charge
            "amount": 0, // Shipping amount
            "percentage": 0 // Shipping percentage
        },
        {
            "title": "Total GST", // Title for the GST charge
            "amount": 0, // GST amount
            "percentage": 0 // GST percentage
        },
        {
            "title": "TDS", // Title for the TDS deduction
            "amount": 0, // TDS amount
            "percentage": 0 // TDS percentage
        }
    ],
    "net_total": 599.5, // Net total after all deductions and additions
    "allow_partial": false, // Whether partial payments are allowed
    "allow_tip": false, // Whether tips are allowed
    "due_date": "2024-08-10T05:55:14.981Z", // Due date for the payment
    "note_to_customer": "Kindly pay before due date!", // Note to the customer regarding payment
    "terms_message": "", // Additional terms or messages
    "tracking_number": "", // Tracking number for the shipment
    "tracking_url": "", // URL to track the shipment
    "extras": { // Additional key-value pairs
        "key1": "value1", 
        "key2": "value2"
    },
    "funding_source": "" // Source of funding for the transaction
}
```

#### Response

```jsx
{
    "status": true,
    "data": {
        "invoice_uuid": "89691435"
    },
    "message": "Invoice template and details added successfully"
}
```

#### Code Example

```jsx

const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': 'API_KEY' //Invoice key required
  },
  body:{
    "business_logo": "https://awesomecompany.com", // URL of the business logo
    "business_name": "Awesome Company", // Name of the business
    "phone": "234567890", // Contact phone number (without country code)
    "phone_code": "+1", // Country code for the phone number
    "email": "sample@gmail.com", // Contact email address
    "billing_address": "123 Main Street", // Billing address
    "city": "Hyderabad", // City of the business
    "state": "Telangana", // State of the business
    "zipcode": "12345", // Zipcode of the business
    "country": "USA", // Country of the business
    "documents": {
        "doc_1": {
            "title": "PAN", // Title of the document
            "value": "HG297323" // Value of the document
        },
        "doc_2": {
            "title": "GST", // Title of the document
            "value": "76YHGF67656" // Value of the document
        }
    },
    "default_currency": "USD", // Default currency for transactions
    "enable_qr": true, // Enable or disable QR code generation
    "redirect_url": "", // URL to redirect after payment
    "include_invoice_id": true, // Include invoice ID in the documentation
    "webhook_url": "", // URL for webhook callbacks
    "terms_condition_url": "https://google.com", // URL for terms and conditions
    "custom_thanks_message": "Thank you for your payment!", // Custom thank you message
    "custom_button_text": "", // Custom text for the payment button
    "green_donation_link": "", // URL for green donation link
    "donation_percentage": 0.0, // Percentage of donation
    "donation_message": "", // Message regarding donations
    "tax_details": {
        "tax_title": "GST", // Title for tax
        "tax_percentage": 18, // Tax percentage
        "tax_country": "India", // Country where the tax is applicable
        "is_all_states": true, // If tax is applicable to all states
        "tax_states": [] // List of states where tax is applicable (empty if all states)
    },
    "invoice_date": "2024-08-08T05:55:14.981Z", // Date when the invoice was generated
    "theme_color": "", // Theme color for the invoice
    "client_details": { // Details of the client
        "name": "Aman A", // Name of the client
        "phone_code": "91", // Country code for the client's phone number
        "phone": "9876543211", // Client's phone number
        "email": "aman2@gmail.com", // Client's email address
        "website": "https://amanwebsite.com", // Client's website URL
        "street_address": "1234 Elm Street", // Street address of the client
        "state": "Maharashtra", // State of the client
        "city": "Mumbai", // City of the client
        "country": "India", // Country of the client
        "zip_code": "400001", // Zip code of the client
        "details": [ // Additional details of the client
            {
                "PAN": "ABCDE1234F" // Client's PAN number
            },
            {
                "GST": "27ABCDE1234F1Z5" // Client's GST number
            }
        ]
    },
    "product_details": [ // Details of the products or services
        {
            "name": "Orange Gift Box", // Name of the product
            "price": "599.50", // Price of the product
            "description": "", // Description of the product
            "logo": "", // Logo of the product
            "product_created_at": "2024-08-07T11:53:03.000Z", // Date when the product was created
            "currency": "INR", // Currency for the product price
            "quantity": 1, // Quantity of the product
            "amount": 599.5, // Amount for the product (price * quantity)
            "final": 599.5 // Final amount after any discounts or taxes
        }
    ],
    "total": 599.5, // Total amount before any additional charges
    "total_details": [ // Breakdown of additional charges or discounts
        {
            "title": "Discount", // Title for the discount
            "amount": 0, // Discount amount
            "percentage": 0 // Discount percentage
        },
        {
            "title": "Shipping", // Title for the shipping charge
            "amount": 0, // Shipping amount
            "percentage": 0 // Shipping percentage
        },
        {
            "title": "Total GST", // Title for the GST charge
            "amount": 0, // GST amount
            "percentage": 0 // GST percentage
        },
        {
            "title": "TDS", // Title for the TDS deduction
            "amount": 0, // TDS amount
            "percentage": 0 // TDS percentage
        }
    ],
    "net_total": 599.5, // Net total after all deductions and additions
    "allow_partial": false, // Whether partial payments are allowed
    "allow_tip": false, // Whether tips are allowed
    "due_date": "2024-08-10T05:55:14.981Z", // Due date for the payment
    "note_to_customer": "Kindly pay before due date!", // Note to the customer regarding payment
    "terms_message": "", // Additional terms or messages
    "tracking_number": "", // Tracking number for the shipment
    "tracking_url": "", // URL to track the shipment
    "extras": { // Additional key-value pairs
        "key1": "value1", 
        "key2": "value2"
    },
    "funding_source": "" // Source of funding for the transaction
}
};

fetch('https://api.ninjapay.me/webextension/api/v1/fiat/invoice/create', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
  
```


---

# Agent Instructions: 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:

```
GET https://ninjapay.gitbook.io/ninjapay-api-docs/how-to/api-reference-upi/plugins/invoice/create-invoice.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
