Add Sale

Adding new sales may be obtained using this endpoint. For emphasis on specific results, you can add the following parameters when creating new sales.

Endpoint

POST https://app.xtrakit.com/api/v1/sales/add

Headers

Authorization: Bearer API_KEY

Body Parameters

Parameters
Type
Description

invoice_code

string

Required

An invoice code is a unique 6-digit code to generate.

invoice_number

string

Required

An invoice number is a unique 6-digit code to generate. Prefix depends on the one you set on the system which would be appended automatically. Example: INV-000001

customer_id

int

Required

You can retrieve customer IDs from customers created and pull their primary ID here.

sub_total_amount

decimal (10,2)

Required

Subtotal amount of your sales in this format: 10.00

total_amount

decimal (10,2)

Required

The total amount of your sales after adding everything including tax, discount, etc. In this format: 10.00

amount_paid

decimal (10,2)

Required

The amount received from the customer when creating this sale. If the amount is zero (0) and the payment method is none, it means the invoice status is DRAFT

discount

decimal (10,2)

Optional

Discounts given to the customer on sale can be null. Discount is in value not percentage. Example: 10.00

invoice_type

string

Required

We have 3 types of invoices in our system, with 3 Statuses: main, pos, and order. So, the main is the XtraKit dashboard, pos is the XtraPOS, and order is the Storefront.

invoice_colour

string

Optional

To set your custom invoice colour, you need to put colour by using a colour code like this: #FFFFFF

invoice_note

string

Optional

If you want to add a message to your invoice.

invoice_terms

string

Optional

What terms and conditions do you want to add to the invoice? Maybe half payment should be made before work.

payment_type

string

Required

Payment method or type can be of these options: None, Mobile Money, Cash, Bank Transfer / Deposit, Cheque, Card Payment, Digital Payment and Other Payment

payment_internal_note

string

Optional

You want to add any payment message for internal use only. The customer won't see this message.

issued_by

string

Optional

Name of the person who issued the invoice. Example: Jones Nathal

due_date

string

Required

The latest date for when you must pay your invoice. Date format: 2024-08-30

reminder_date

string

Optional

The date you want us to send a reminder to the client on invoice payment. Date format: 2024-08-30

reminder_message

string

Optional

The reminder message you want us to send to the customer on the reminder date.

Sample Requests

<?php

$curl = curl_init();

$data = [
    "invoice_number" => "INV-000001",
    "customer_id" => "42",
    "sub_total_amount" => "100.00",
    "total_amount" => "200.00",
    "amount_paid" => "200.00",
    "discount" => "0.00",
    "invoice_type" => "pos",
    "invoice_colour" => "#FFFFFF",
    "invoice_note" => "Thanks for doing business",
    "invoice_terms" => "60% payment before work commerce",
    "payment_date" => "2024-08-04",
    "payment_type" => "None",
    "payment_status" => "paid",
    "issued_by" => "Jones Nathal",
    "due_date" => "2024-08-30",
    "reminder_date" => "2024-08-25",
    "reminder_message" => ""
];
$url = 'https://app.xtrakit.com/api/v1/sales/add';

curl_setopt_array($curl, array(
  CURLOPT_URL => $url,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => $data,
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer API_KEY', // Replace 'API_KEY' with your actual API key
    'Content-Type: application/json'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

?>

Sample Response

{
    "status": 200,
    "message": "Sale added successfully",
    "data": {
        "sales": {
            "id": 32,
            "invoice_code": 324232,
            "invoice_number": "INV-000001",
            "customer_id": "42",
            "sub_total_amount": "100.00",
            "total_amount": "200.00",
            "amount_paid": "200.00",
            "discount": "0.00",
            "invoice_type": "pos",
            "invoice_colour": "#FFFFFF",
            "invoice_note": "Thanks for doing business",
            "invoice_terms": null,
            "payment_internal_note": null,
            "payment_date": "2024-08-04",
            "payment_type": "None",
            "payment_status": "paid",
            "issued_by": "Jones Nathal",
            "due_date": "2024-08-30",
            "reminder_date": "2024-08-25",
            "reminder_message": null,
            "created_at": "2024-08-04 08:23:45",
            "updated_at": "2024-08-04 02:00:43"
        },
        "sales-item": [
            {
                "id": 45,
                "invoice_code": "324232",
                "invoice_number": "INV-000001",
                "item_name": "Web Design",
                "description": "Including hosting",
                "unit_price": "100.00",
                "quantity": "2",
                "tax": "0.00",
                "created_at": "2024-08-04 08:23:45",
                "updated_at": "2024-08-04 02:00:43"
            },
            ...
        ],
        "sales-payment": [
            {
                "invoice_code": "324232",
                "customer_name": "Peter Amos",
                "amount_paid": "200.00",
                "payment_method": "Cash",
                "internal_payment_note": null,
                "issued_by": "Jones Nathal",
                "payment_at": "2024-08-04 08:23:45",
                "created_at": "2024-08-04 08:23:45",
                "updated_at": "2024-08-04 02:00:43"
            },
            ...
        ]
    }
}

Last updated