1. Home
  2. Docs
  3. Documentation
  4. Invoicing APIs – V1
  5. API: Create Credit Note

API: Create Credit Note

The purpose of this API is to create new credit note.

Request

URL https://your_account.modulus.biz/api/inv/v1/CreditNote=YOUR_TOKEN
API Name CreditNote
Method POST
Source Third Party Server
Recipient modulus® Server
Content Type application/json

Query String Parameters

Parameter Required Type Description
token Yes Text Your authentication token.

Payload Parameters

Parameter Required Type Description
customer_details Yes Text Refers to customer info the credit note issued to. The structure explained here.
branch_code Yes Text The code of an active branch.
date Yes Date Date format must be ISO 8601 (Example: “2020-01-10”).
book_id Yes Number Refers to invoice book used for the credit note. Must be For Credit Note.
status Yes Text May be STATUS_DRAFT or STATUS_SENT.
salesperson_id No Number Refers to salesperson linked to the branch of this Credit Note.
exchange_rate No Decimal Number The exchange rate when the credit note is issued. Mandatory if the customer has foreign currency.
reference No Text Credit Note reference.
description No Text Credit Note description.
items Yes Array An array that contains at least one item. The structure explained here.

Item Parameter Details

Parameter Required Type Description
item_code Yes Text Item code.
unit_id Yes Number Refer to the unit of the sent quantity.
quantity Yes Decimal Number The quantity of the item can not be less than or equal to 0.
unit_price No Decimal Number The price of the item. If not sent will defined price in the customer or branch default price list.

Customer Parameter Details

Parameter Required Type Description
code Yes Text The code of the customer the credit note is issued to.
name Yes Text The name of the customer the credit note is issued to.
type Yes Text The type of the customer the credit note is issued to. Possible values are: (individual/organization).
tax_registration_number No Number Customer’s Tax Registration Number.
account_code No Text The code of the cash account of the customer.
price_list_code (for counter parties of type customer) No Number The code of the price list of the customer. It must have the same currency as the customer and account.
address No Object The address of the customer. The structure is explained here.
contact No Object The contact of the customer. The structure is explained here.

Address Parameter Details

Parameter Required Type Description
label Yes Text The label of the address.
country_code Yes Text The country code of the address (Example: “EG”).
city Yes Text The name of the city in the specified country.
address No Text Additional info of the address.

Contact Parameter Details

Parameter Required Type Description
type Yes Text The type of the contact provided, possible values are: (mobile/phone/email/fax/website/other).
label Yes Text The label of the contact.
value Yes Text The value of the contact.

Responses

HTTP Status result title message object
Success Responses
200 OK true Success Credit Note added successfully.
{
    "credit_note_id": xxx,
    "credit_note_serial": "YYY_ZZZZ",
    "document_type": "Credit Note",
    "creation_date_time": "yyy-mm-dd hh:MM:ss"
}
Failure Responses
400 Bad Request false Error Error message as elaborated here.
{
    "error_code": xxx
}
500 Internal Server Error false Error Error message as elaborated here.
{
    "error_code": xxx
}

Example 1

Request
curl --request POST 'https://your_account.modulus.biz/api/inv/v1/CreditNote=YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{ 
    "customer_details":{ 
        "code":"1",
        "name":"Test name",
        "type": "individual",
        "account_code":"1.6.10.2",
        "price_list_code":"1",
        "tax_registration_number":"1",
        "contact": {
            "type": "mobile",
            "label": "القاهرة الجديدة",
            "value": "0102224791"
        },
        "address": {
            "label": "HEADOFFICE",
            "country_code": "EG",
            "city": "Alexandria",
            "address": "Test Address"
        }
    }, 
    "branch_code": "2",
    "date": "2024-01-15",
    "book_id": 1,
    "status": "STATUS_DRAFT",
    "items": [
        {
            "item_code": "451",
            "unit_id": 3,
            "quantity": 50,
            "unit_price": 100
        }
    ] 
}'
200 OK
{
    "result": true,
    "title": "Success",
    "message": "Credit Note added successfully.",
    "object": {
        "credit_note_id": 3439,
        "credit_note_serial": "CR_2024_01_15_03",
        "document_type": "Credit Note",
        "creation_date_time": "2023-01-14 00:09:00"
    }
}

Example 2

Request
curl --request POST 'https://your_account.modulus.biz/api/inv/v1/CreditNote=YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{ 
    "customer_details":{ 
        "code":"1",
        "name":"Test name",
        "type": "individual",
        "account_code":"1.6.10.2",
        "price_list_code":"1",
        "tax_registration_number":"1",
        "contact": {
            "type": "mobile",
            "label": "القاهرة الجديدة",
            "value": "0102224791"
        },
        "address": {
            "label": "HEADOFFICE",
            "country_code": "EG",
            "city": "Alexandria",
            "address": "Test Address"
        }
    }, 
    "branch_code": "2",
    "date": "2024-03-01",
    "book_id": 1,
    "status": "STATUS_SENT",
    "reference": "CR-0883",
    "items": [
        {
            "item_code": "6",
            "unit_id": 2,
            "unit_price": 100
        }
    ] 
}'
400 Bad Request
{
    "result": false,
    "title": "Error",
    "message": "Missing code, unit or quantity in item row with index 0.",
    "object": {
        "error_code": xxx
    }
}