DealPOS API (3.1.0)

Welcome Developer

This page lists the reference documentation for DealPOS APIs. For guides and tutorials.

Download OpenAPI description
Overview
URL https://www.dealpos.com
Customer Support info@dealpos.com
License
Languages
Servers
Production Server
https://{subdomain}/api/v3/

Token

Operations related to authentication tokens

Operations

Category

Operations related to category, including create, get, etc

Operations

Product

Operations related to product, including create, get, etc

Operations

Variant

Operations related to variant, including create, get, etc

Operations

Serial

Operation related to Serial product type

Operations

Estimate

Operations related to estimate, including create, get, etc

Operations

Sales Order

Operations related to sales order, including create, get, etc

Operations

Invoice

Operations related to invoice, including create, get, etc

Operations

Create an Invoice

Request

Create an Invoice

You must have "Create" role in "Sell" Module

Headers
UpdateCustomerstring(boolean)

Allow to update Customer Address when value is "true".

Default false
WriteOffstring(boolean)

Allow to WriteOff remaining of total amount payment when value is "true"

Default false
Bodyapplication/json
One of:
Outletstringrequired

Outlet.Name. Not required when Outlet.ID is provided.

Example: "Outlet1"
Numberstringrequired

Invoice Number.

Example: "20.05.00001"
Datestring(date)required

Date of customer invoice created (YYYY-MM-DD).

Example: "2020-05-27"
SalesPersonstring

Sales Person name.

Example: "Sales 1"
Tagstringrequired

Channel Tagging system. (ex: Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app. Backwards compatibility with property request "SalesType".

Example: "Tokopedia"
TaxTypestringrequired

Tax Type.

Example: "No Tax"
Registerstring

Register Name.

Example: "Outlet1"
Discount1integer

Discount 1 percentage.

Discount2integer

Discount 2 percentage.

DiscountAmountnumber

Discount amount.

Couponstring

Promotion Coupon Code. Balance will be deducted. Discount must exist in request PAYLOAD according to the discount value.

Example: 887799
Fulfillmentstring

Delivery Status. Backwards compatibility with property "Delivery". Default: Sent, Unsent.

Enum"Sent""Unsent"
Example: "Sent"
LogisticServiceCodestring

Code of Logistic Service Option.

Example: "JNE-R"
Notestring

Invoice note.

Example: "Invoice Note"
PointUsedinteger

The number of points to redeem (when redeemed points is > 0, DiscountAmount will be auto calculated by the system based on RedeemPointValue configuration).

Example: 5
ReferenceNumberstring

Number associated with a specific invoice issued to a customer from the marketplace channel. Backwards compatibility with property PurchaseOrderNumber.

Example: "TKP001"
Customerobject
Example: {"Name":"Hendry Wijaya","Email":"Hendry@dealpos.com","Mobile":81514515156,"Code":"HW021","Address":"Muara Karang no.88"}
VariantsArray of objects
Example: [{"Code":200535,"Quantity":20,"Price":50000,"Discount":0,"Note":"Item 1"},{"Code":"1315L","Quantity":10,"Price":50000,"Discount":0,"Note":"Item 2"}]
PaymentsArray of objects
Example: [{"Amount":145000,"Method":"Cash","Code":"C001","Note":"Complete payment"}]
curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Invoice \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'UpdateCustomer: false' \
  -H 'WriteOff: false' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "20.05.00001",
    "Date": "2020-05-27",
    "SalesPerson": "Sales 1",
    "Tag": "Tokopedia",
    "TaxType": "No Tax",
    "Register": "Outlet1",
    "Discount1": 0,
    "Discount2": 0,
    "DiscountAmount": 0,
    "Coupon": 887799,
    "Fulfillment": "Sent",
    "LogisticServiceCode": "JNE-R",
    "Note": "Invoice Note",
    "PointUsed": 5,
    "ReferenceNumber": "TKP001",
    "Customer": {
      "Name": "Hendry Wijaya",
      "Email": "Hendry@dealpos.com",
      "Mobile": 81514515156,
      "Code": "HW021",
      "Address": "Muara Karang no.88"
    },
    "Variants": [
      {
        "Code": 200535,
        "Quantity": 20,
        "Price": 50000,
        "Discount": 0,
        "Note": "Item 1"
      },
      {
        "Code": "1315L",
        "Quantity": 10,
        "Price": 50000,
        "Discount": 0,
        "Note": "Item 2"
      }
    ],
    "Payments": [
      {
        "Amount": 145000,
        "Method": "Cash",
        "Code": "C001",
        "Note": "Complete payment"
      }
    ]
  }'

Responses

Bodyapplication/json
IDstring

Invoice ID that has been made

Numberstring

Invoice number that has been made

Response
application/json
{ "ID": "bc85c04d-8e6d-4592-bc8d-85f3d854b156", "Number": "18.10.00009" }

Update an Invoice

Request

Update an Invoices based on Number

You must have "EDIT" role in "Orders" Module OR "EDIT" role in "Global" Module

Bodyapplication/json
One of:
Outletstringrequired

Outlet.Name. Not required when Outlet.ID is provided.

Example: "Outlet1"
Numberstringrequired

Invoice Number.

Example: "20.05.00001"
Datestring(date)required

Date of customer invoice created (YYYY-MM-DD).

Example: "2020-05-27"
DueDatestring(date)

Due date of invoice period (YYYY-MM-DD).

SalesPersonstring

Sales Person name.

Example: "Sales 1"
Tagstringrequired

Channel Tagging system. (ex: Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app. Backwards compatibility with property request "SalesType".

Example: "Tokopedia"
TaxTypestringrequired

Tax Type.

Example: "No Tax"
Registerstring

Register Name.

Discount1integer

Discount 1 percentage.

Discount2integer

Discount 2 percentage.

DiscountAmountnumber

Discount amount.

Salesnumber

Total sales.

Surchargenumber

Surcharge amount.

SalesNTaxnumber

Total amount.

Couponstring

Promotion Coupon Code. Balance will be deducted. Discount must exist in request PAYLOAD according to the discount value.

Fulfillmentstring

Delivery Status. Backwards compatibility with property "Delivery". Default: Sent, Unsent.

Enum"Sent""Unsent"
Example: "Sent"
LogisticServiceCodestring

Code of Logistic Service Option.

Notestring

Invoice note.

PointUsedinteger

The number of points to redeem (when redeemed points is > 0, DiscountAmount will be auto calculated by the system based on RedeemPointValue configuration).

FulfillmentOutletstring

Where fulfillment is done from a different Outlet. When this property is null or not specified, it will get data from property "Outlet".

Customerobject
Example: {"Name":"Hendry Wijaya","Email":"Hendry@dealpos.com","Phone":"02165498468","Mobile":"081514515156","Code":"HW021"}
VariantsArray of objects
Example: [{"Code":"200535","Quantity":"10","Price":"50000","Discount":0,"Note":"Item 1"},{"Code":"1315L","Quantity":"10","Price":"50000","Discount":0,"Note":"Item 2"}]
PaymentsArray of objects
Example: [{"Amount":"100000","Method":"Cash","Code":null,"Note":null}]
Recipientobject

Input when choosing later fulfillment.

curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Invoice \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "20.05.00001",
    "Date": "2020-05-27",
    "SalesPerson": "Sales 1",
    "Tag": "Tokopedia",
    "TaxType": "No Tax",
    "Discount1": 0,
    "Discount2": 0,
    "DiscountAmount": 0,
    "Fulfillment": "Sent",
    "PurchaseOrderNumber": "TKP001",
    "Customer": {
      "Name": "Hendry Wijaya",
      "Email": "Hendry@dealpos.com",
      "Phone": "02165498468",
      "Mobile": "081514515156",
      "Code": "HW021"
    },
    "Variants": [
      {
        "Code": "200535",
        "Quantity": "10",
        "Price": "50000",
        "Discount": 0,
        "Note": "Item 1"
      },
      {
        "Code": "1315L",
        "Quantity": "10",
        "Price": "50000",
        "Discount": 0,
        "Note": "Item 2"
      }
    ],
    "Payments": [
      {
        "Amount": "100000",
        "Method": "Cash",
        "Code": null,
        "Note": null
      }
    ]
  }'

Responses

Bodyapplication/json
IDstring

Invoice ID that has been edited

Response
application/json
{ "ID": "e9e1edbd-3e37-4845-b243-e680fbd4b30c" }

Delete an Invoice

Request

Delete an Invoice based on Number

You must have "DELETE" role in "Orders" Module

Bodyapplication/json

Request can be send with payload Outlet+Number / OutletID + Number /InvoiceID only

One of:
Outletstringrequired

Outlet Name.

Example: "Outlet1"
Numberstringrequired

Invoice Number. this is primary key for the object

Example: "LM3002"
curl -i -X DELETE \
  https://subdomain.dealpos.net/api/v3/Invoice \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "LM3002"
  }'

Responses

Bodyapplication/json
string

Invoice has been deleted

Response
application/json
"Invoice has been delete!{}"

List Invoice Multiple Outlet

Request

Also available as HTTP POST with the same endpoint

Get Invoice List by Multiple Outlet

Bodyapplication/json
One of:
PageNumbernumberrequired

The number of page data to be displayed

Example: 1
PageSizenumberrequired

The size of one page. Max=500

Example: 20
OutletArray of stringsrequired

Outlet name. (Only for access outlet Read/Write that given to the user)

Example: ["Outlet1","Outlet2"]
TagArray of stringsrequired

Channel Tagging system.(ex: Tokopedia, Shopee)

Example: ["Tokopedia","Shopee"]
PaymentStatestring

Payment status / progress of the invoice

Enum"Paid""Partial""Unpaid"
Example: "Paid"
Fulfillmentstring

Delivery status / progres of the invoice

Enum"Sent""Unsent"
Example: "Sent"
Emailstringrequired

Email address of customer

Example: "johndoe@email.com"
Mobilestringrequired

Phone or mobile phone number of customer

Example: "08112345"
Binboolean

Invoice in bin or not

Default false
Notestring

Invoice Note

Example: "Invoice Note"
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/MultipleOutlet \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "PageNumber": 1,
    "PageSize": 20,
    "Outlet": [
      "Outlet1",
      "Outlet2"
    ],
    "Tag": [
      "Tokopedia",
      "Shopee"
    ],
    "PaymentState": "Paid",
    "Fulfillment": "Sent",
    "Email": "johndoe@email.com",
    "Mobile": "08112345",
    "Bin": false,
    "Note": "Invoice Note"
  }'

Responses

Bodyapplication/jsonArray [
IDstring

Invoice ID

Outletstring

Outlet name

Numberstring

Number of Invoice No

Customerstring

customer name

Datestring

sell date

Duestring

invoice due date

Amountnumber

invoice transaction total amount

Paymentstring

delivery state of the invoice

Fulfillmentstring

delivery status of the sales invoice

Enum"Sent""Unsent""Partial"
Createdstring

sell date created by system

Tagstring

Channel Tagging system. (ex:Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app. Backwards Compatibility with property request "SalesOrderType"

]
Response
application/json
[ { "ID": "3c76f9b5-d1b8-4159-85a0-0630ac0caa47", "Outlet": "Outlet1", "Number": "20.08.00009", "Customer": "John", "Date": "2020-08-17T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 120000, "Payment": "Paid", "Fulfillment": "Sent", "Created": "2020-08-28T11:00:20.34", "Tag": "Tokopedia" }, { "ID": "3076b3af-1773-4bf9-9073-279be7b76327", "Outlet": "Outlet2", "Number": "20.09.00002", "Customer": "John", "Date": "2020-09-16T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 150000, "Payment": "Paid", "Fulfillment": "Sent", "Created": "2020-09-28T11:00:20.34", "Tag": "Shopee" } ]

List Invoice Multiple Outlet With Total Count

Request

Also available as HTTP POST with the same endpoint

Get Invoice List by Multiple Outlet with Total Count

Bodyapplication/json
One of:
PageNumbernumberrequired

The number of page data to be displayed

Example: 1
PageSizenumberrequired

The size of one page. Max=500

Example: 20
OutletArray of stringsrequired

List of multiple outlet names

Example: ["Outlet1","Outlet2"]
PaymentStateArray of strings

List of multiple payment status

Example: "Paid"
Fulfillmentstring

delivery status / progres of the invoice

Enum"Sent""Partial""Unsent"
Binboolean

Recycle Bin status (whether the invoice is in the Recycle Bin or Not)

Default false
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/MultipleOutlet/WithTotalCount \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "From": "2020-08-01",
    "To": "2020-09-30",
    "PageNumber": 1,
    "PageSize": 20,
    "Outlet": [
      "Outlet1",
      "Outlet2"
    ],
    "PaymentState": "Paid",
    "DeliveryState": "Sent",
    "Bin": false
  }'

Responses

Bodyapplication/json
DataArray of objects
TotalCountinteger

Total count of the result

Response
application/json
{ "Data": [ { … }, { … } ], "TotalCount": 100 }

List Invoices Return

Request

Also available as HTTP POST (endpoint: /api/v3/Invoice/p)


Get List of Invoices Return

Required Group Role: "Orders" - "View"

Bodyapplication/json
One of:
Fromstring

From Date. this is primary key for the object

Default "format : yyyy-mm-dd"
Example: "2018-09-07"
Tostring

To Date. this is primary key for the object

Default "format: yyyy-mm-dd"
Example: "2018-10-17"
PageNumberintegerrequired

The number of page data to be displayed

Example: 1
PageSizeintegerrequired

The size of one page. Max=500

Example: 20
Outletstring

Outlet name. (Only for access outlet Read/Write that given to the user)

Example: "Outlet1"
TagArray of objects

Channel Tagging system. (ex:Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app.

Example: ["Tokopedia","Shopee"]
Paymentstring

Payment State

Enum"Paid""Partial""Unpaid"
Example: "Paid"
Fulfillmentstring

Fulfillment State

Enum"Sent""Unsent"
Example: "Sent"
Emailstring

Email address of customer

Example: "Hendry@dealpos.com"
Mobilestring

Phone or mobile phone number of customer

Example: "08112345"
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/Return \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "From": "2018-09-07",
    "To": "2018-10-17",
    "PageNumber": 1,
    "PageSize": 20,
    "Outlet": "Outlet1",
    "Tag": [
      "Tokopedia",
      "Shopee"
    ],
    "Payment": "Paid",
    "Fulfillment": "Sent",
    "Email": "Hendry@dealpos.com",
    "Mobile": "08112345"
  }'

Responses

Bodyapplication/jsonArray [
IDstring

Invoice ID

Outletstring

Outlet Name

Numberstring

Number Of invoice info

Customerstring

Customer Name

Datestring

Invoice Date Transaction Date

EventDatestring

Due date of shipping delivery

Duestring

Due date of invoice

Amountnumber

Total amount transaction

Paymentstring

Payment State of invoice

Enum"Unpaid""Partial""Paid""Exceed"
Fulfillmentstring

Fulfillment Status of the invoice

Enum"Sent""Unsent"
Createdstring

Invoice created time

]
Response
application/json
[ { "ID": "3de705c4-53a0-4a66-8ab1-f9737e3ad6fb", "Outlet": "Outlet1", "Number": "18.10.00009", "Customer": "Ferdi", "Date": "2018-10-17T00:00:00", "EventDate": "0001-01-01T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 120000, "Payment": "Paid", "Fulfillment": "Sent", "Created": "2019-08-28T11:00:20.34" }, { "ID": "3de7eve4-53a0-tsw6-8ab1-f9737e3adweb", "Outlet": "Outlet1", "Number": "18.10.00002", "Customer": "Ferdi", "Date": "2018-10-16T00:00:00", "EventDate": "0001-01-01T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 150000, "Payment": "Paid", "Fulfillment": "Sent", "Created": "2019-08-28T11:00:20.34" } ]

List Invoice With Total Count

Request

Also available as HTTP POST with the same endpoints


List Invoices with Total Count

Required Group Role: "Orders" - "View"

Bodyapplication/json
One of:
Fromstring

Selected start of a date range

Example: "2018-09-07"
Tostring

Selected end of a date range

Example: "2018-10-17"
PageNumbernumberrequired

The number of page data to be displayed

Example: 1
PageSizenumberrequired

The size of one page. Max=500

Example: 20
Outletstringrequired

Outlet name

Example: "Outlet1"
Emailstring

Customer spesific email

Example: "Hendry@dealpos.com"
Mobilestring

Customer spesific mobile phone number

Example: "08112345678"
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/WithTotalCount \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "From": "2018-09-07",
    "To": "2018-10-17",
    "PageNumber": 1,
    "PageSize": 20,
    "Outlet": "Outlet1",
    "Email": "Hendry@dealpos.com",
    "Mobile": "08112345678"
  }'

Responses

Bodyapplication/json
DataArray of objects
TotalCountinteger

Total count of the result

Response
application/json
{ "Data": [ { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … } ], "TotalCount": 14 }

Create Multiple Invoice

Request

Create Multiples Invoices based on Number.

You must have "CREATE" role in "Orders" Module

Bodyapplication/json
One of:
Array [
Outletstringrequired

Outlet.Name
Not required when Outlet.ID is provided (required)

Numberstringrequired

Invoice number. this is primary key for the object

SalesPersonstring

Sales person name

TaxTypestring

Tax Type

Datestring

Date of sale(yyyy/mm/dd)

Discount1string

Discount 1 amount or percentage given

Discount2string

Discount 2 amount or percentage given

Deliverystring

Status of delivery

Enum"Sent""Unsent"
Customerobject
VariantsArray of objects
PaymentArray of objects
]
curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Invoice/List \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "Outlet": "Outlet1",
      "Number": "18.10.00009",
      "SalesPerson": "Sales 10",
      "TaxType": "PPN 10%",
      "Date": "2018-09-07",
      "Discount1": "5",
      "Discount2": "2",
      "Delivery": "Sent",
      "Customer": {
        "Name": "Hendry",
        "Email": "hendry@dealpos.com",
        "Phone": "085710977713",
        "Address": "JL. Pluit Karang Jelita b5 no.51",
        "Gender": "Male"
      },
      "Variants": [
        {
          "Code": "2014",
          "Quantity": "10",
          "Price": "3500",
          "Discount": 5,
          "Note": "Item 1"
        },
        {
          "Code": "2018",
          "Quantity": "10",
          "Price": "4000",
          "Discount": 10,
          "Note": "Item 2"
        }
      ],
      "Payment": [
        {
          "Amount": "80000",
          "Method": "Cash"
        }
      ]
    },
    {
      "Outlet": "Outlet1",
      "Number": "18.10.00009",
      "SalesPerson": "Sales 10",
      "TaxType": "PPN 10%",
      "Date": "2018-09-07",
      "Discount1": "5",
      "Discount2": "2",
      "Delivery": "Sent",
      "Customer": {
        "Name": "Hendry",
        "Email": "hendry@dealpos.com",
        "Phone": "085710977713",
        "Address": "JL. Pluit Karang Jelita b5 no.51",
        "Gender": "Male"
      },
      "Variants": [
        {
          "Code": "2014",
          "Quantity": "10",
          "Price": "3500",
          "Discount": 5,
          "Note": "Item 1"
        },
        {
          "Code": "2018",
          "Quantity": "10",
          "Price": "4000",
          "Discount": 10,
          "Note": "Item 2"
        }
      ],
      "Payment": [
        {
          "Amount": "70918.93",
          "Method": "Cash"
        }
      ]
    },
    {
      "Outlet": "Outlet1",
      "Number": "18.10.00009",
      "SalesPerson": "Sales 10",
      "TaxType": "PPN 10%",
      "Date": "2018-09-07",
      "Discount1": "5",
      "Discount2": "2",
      "Delivery": "Sent",
      "Customer": {
        "Name": "Hendry",
        "Email": "hendry@dealpos.com",
        "Phone": "085710977713",
        "Address": "JL. Pluit Karang Jelita b5 no.51",
        "Gender": "Male"
      },
      "Variants": [
        {
          "Code": "2014",
          "Quantity": "10",
          "Price": "3500",
          "Discount": 5,
          "Note": "Item 1"
        },
        {
          "Code": "2018",
          "Quantity": "10",
          "Price": "4000",
          "Discount": 10,
          "Note": "Item 2"
        }
      ],
      "Payment": [
        {
          "Amount": "70918.93",
          "Method": "Cash"
        }
      ]
    }
  ]'

Responses

Bodyapplication/jsonArray [
IDstring

Unique identifier of the invoice.

Outletstring

Name of the outlet.

Numberstring

Invoice number.

Customerstring

Name of the customer (null if not applicable).

Datestring(date-time)

Invoice creation date.

EventDatestring(date-time)

Event date related to the invoice.

Duestring(date-time)

Due date of the invoice.

Amountnumber

Total amount for the invoice.

Paymentstring

Payment status of the invoice.

Fulfillmentstring

Fulfillment status of the invoice.

Createdstring(date-time)

Creation timestamp of the invoice.

]
Response
application/json
[ { "ID": "3de705c4-53a0-4a66-8ab1-f9737e3ad6fb", "Outlet": "Outlet1", "Number": "18.10.00009", "Customer": "", "Date": "2018-10-17T00:00:00", "EventDate": "0001-01-01T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 120000, "Payment": "Paid", "Fulfillment": "Sent", "Created": "2019-08-28T11:00:20.34" }, { "ID": "3de7eve4-53a0-tsw6-8ab1-f9737e3adweb", "Outlet": "Outlet1", "Number": "18.10.00002", "Customer": "", "Date": "2018-10-16T00:00:00", "EventDate": "0001-01-01T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 150000, "Payment": "Paid", "Fulfillment": "Sent", "Created": "2019-08-28T11:00:20.34" } ]

Get Invoice By Number

Request

Also available as HTTP POST with the same endpoint


Get an Invoice based on Number

Required Group Role: "Orders" - "View"

Bodyapplication/json
One of:
Outletstringrequired

Outlet name

Example: "Outlet1"
Numberstringrequired

Invoice number. this is primary key for the object

Example: "18.10.00009"
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/Number \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "18.10.00009"
  }'

Responses

Bodyapplication/json
IDstring

Unique ID of the invoice

Outletstring

Name of the outlet

Numberstring

Number of the invoice transasction

Datestring

Sell date of the invoice transaction

DueDatestring

Due date of the invoice transaction

Tagstring

Channel Tagging system. (ex:Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app. Backwards Compatibility with property request "SalesType"

SalesPersonstring

Sales person name of the invoice transaction

Customerobject
CreatorIDstring

Unique ID of the creator

Createdstring

Invoice created Transaction Date by system

Discount1integer

Percentage of discount 1

Discount2integer

Percentage of discount 2

DiscountAmountnumber

Amount of Discount amount-based

Grossnumber

Total amount of the transaction before discounted

DiscountTotalnumber

Total accumulation of the discounts

TaxTypestring

Type name of the tax

Taxnumber

Total amount of the taxes

TaxRatenumber

Rate of Tax in percentage

Salesnumber

Total amount of the sales after subtraction

Surchargenumber

Additional expense (ex: from credit card)

SalesNTaxnumber

Total amount of sales after taxes

Couponstring

Promotion Coupon Key

Notestring

Note of the invoice transaction

InvoiceIDstring

Unique ID of the invoice

PointUsedinteger

Total point used in the transaction

PointsEarnedinteger

Total point earned from the transaction

Fulfillmentstring

delivery status / progres of the invoice

Enum"Sent""Unsent""Partial"
LogisticServiceCodestring

Code of Logistic Service Option

Paymentstring

payment status / state of the invoice

Voidstring

Void state / status of the invoice

Binboolean

Recycle bin state/status of the invoice

ReferenceInvoiceNumberstring

Another Invoice that is associated with this Invoice ex: SalesReturn scenario, null when it is normal Sales transaction

VariantsArray of objects
OutboundLogisticsArray of objects
PaymentsArray of objects
Response
application/json
{ "ID": "aad4a789-b802-49c1-b66f-f45fbc7ce17f", "Outlet": "Outlet1", "Number": "20.05.00157", "Date": "2020-05-27T00:00:00", "DueDate": "0001-01-01T00:00:00", "Tag": "Offline", "SalesPerson": "Sales 1", "Customer": { "Code": "HW0001", "Email": "hendry@dealpos.com", "Mobile": "0815161688", "Name": "hendry", "Phone": "0815161688" }, "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c", "Created": "2020-05-27T11:10:50.57", "Discount1": 20, "Discount2": 0, "DiscountAmount": 20000, "Gross": 100000, "DiscountTotal": 48800, "TaxType": "No Tax", "Tax": 0, "TaxRate": 0, "Sales": 51200, "Surcharge": 1000, "SalesNTax": 51200, "Coupon": "889977", "Note": "Test Note", "InvoiceID": "aad4a789-b802-49c1-b66f-f45fbc7ce17f", "PointUsed": 0, "PointsEarned": 0, "Fulfillment": "Sent", "LogisticServiceCode": "JNE-R", "Payment": "Paid", "Void": "No", "Bin": false, "ReferenceInvoiceNumber": "20.05.00156", "Variants": [ { … } ], "OutboundLogistics": [ { … } ], "Payments": [ { … } ] }

Get Invoice By ID

Request

Also available as HTTP POST with the same endpoint


Get an Invoice based on Invoice ID

Required Group Role: "Orders" - "View"

Bodyapplication/json
IDstringrequired

ID of Invoice

curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/ID \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "ID": "aad4a789-b802-49c1-b66f-f45fbc7ce17f"
  }'

Responses

Bodyapplication/json
IDstring

Unique ID of the invoice

Outletstring

Name of the outlet

Numberstring

Number of the invoice transasction

Datestring

Sell date of the invoice transaction

DueDatestring

Due date of the invoice transaction

Tagstring

Channel Tagging system. (ex:Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app. Backwards Compatibility with property request "SalesType"

SalesPersonstring

Sales person name of the invoice transaction

Customerobject
CreatorIDstring

Unique ID of the creator

Createdstring

Invoice created Transaction Date by system

Discount1integer

Percentage of discount 1

Discount2integer

Percentage of discount 2

DiscountAmountnumber

Amount of Discount amount-based

Grossnumber

Total amount of the transaction before discounted

DiscountTotalnumber

Total accumulation of the discounts

TaxTypestring

Type name of the tax

Taxnumber

Total amount of the taxes

Salesnumber

Total amount of the sales after subtraction

Surchargenumber

Additional expense (ex: from credit card)

SalesNTaxnumber

Total amount of sales after taxes

Couponstring

Registered Coupon Name/Code

Notestring

Note of the invoice transaction

InvoiceIDstring

Unique ID of the invoice

PointUsedinteger

Total point used in the transaction

PointsEarnedinteger

Total point earned from the transaction

Fulfillmentstring

delivery status / progres of the invoice

Enum"Sent""Unsent""Partial"
Paymentstring

payment status / state of the invoice

Voidstring

Void state / status of the invoice

Binboolean

Recycle bin state/status of the invoice

ReferenceInvoiceNumberstring

Another Invoice that is associated with this Invoice ex: SalesReturn scenario, null when it is normal Sales transaction

ReferenceNumberstring

Reference Number of the Sales Order: ex PurchaseOrderNumber or Marketplace.OrderID

VariantsArray of objects
OutboundLogisticsArray of objects
PaymentsArray of objects
Response
application/json
{ "ID": "aad4a789-b802-49c1-b66f-f45fbc7ce17f", "Outlet": "Outlet1", "Number": "20.05.00157", "Date": "2020-05-27T00:00:00", "DueDate": "0001-01-01T00:00:00", "Tag": "Offline", "SalesPerson": "Sales 1", "Customer": { "Code": "HW0001", "Email": "hendry@dealpos.com", "Mobile": "0815161688", "Name": "hendry", "Phone": "021234567" }, "CreatorID": "ff7848c9-21f1-4c05-ac9e-1e71d829cc9c", "Created": "2020-05-27T11:10:50.57", "Discount1": 20, "Discount2": 0, "DiscountAmount": 20000, "Gross": 100000, "DiscountTotal": 48800, "TaxType": "No Tax", "Tax": 0, "Sales": 51200, "Surcharge": 1000, "SalesNTax": 51200, "Coupon": "223388", "Note": "Paid", "InvoiceID": "aad4a789-b802-49c1-b66f-f45fbc7ce17f", "PointUsed": 0, "PointsEarned": 0, "Fulfillment": "Sent", "Payment": "Paid", "Void": "No", "Bin": false, "ReferenceInvoiceNumber": "20.05.00156", "ReferenceNumber": "TKPD-001", "Variants": [ { … } ], "OutboundLogistics": [ { … } ], "Payments": [ { … } ] }

Get Invoice ID By Number

Request

Also available as HTTP POST with the same endpoint


Get Invoice ID by Number to check that available in POS

Required Group Role: "Orders" - "View"

Bodyapplication/json
One of:
Outletstringrequired

Outlet Name

Example: "Outlet1"
Numberstringrequired

Invoice number. this is primary key for the object

Example: "18.10.00009"
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/IDByNumber \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "18.10.00009"
  }'

Responses

Bodyapplication/json
IDstring

Unique ID from Invoice

Response
application/json
{ "ID": "aad4a789-b802-49c1-b66f-f45fbc7ce17f" }

Send Receipt By Email

Request

Send Receipt to customer by email

You must have "View" role in "Orders" Module

Bodyapplication/json
One of:
Outletstringrequired

Outlet Name

Example: "Outlet1"
Numberstringrequired

Invoice number

Example: "18.10.00009"
Emailstringrequired

Email Customer will be sent the email. This is primary of the API

Example: "ezzan212@dealpos.com"
curl -i -X POST \
  https://subdomain.dealpos.net/api/v3/Invoice/SendReceiptByEmail \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "18.10.00009",
    "Email": "ezzan212@dealpos.com"
  }'

Responses

Bodyapplication/json
Messagestring

Success message

Response
application/json
{ "Message": "Sent to email success" }

Invoice Count

Request

Count total invoice with multiple outlet

Also available as HTTP POST with the same endpoint

Bodyapplication/json
One of:
Fromstringrequired

yyyy/mm/dd

Example: "2022-09-01"
Tostringrequired

yyyy/mm/dd

Example: "2022-09-06"
OutletArray of stringsrequired

List of multiple outlets

Example: ["Outlet1","Outlet2"]
TagArray of stringsrequired

Channel Tagging system. (ex: Tokopedia, Shopee)

Example: ["Tokopedia","Shopee"]
PaymentStatestring

Payment status / progress of the invoice

Enum"Paid""Partial""Unpaid"
Example: "Paid"
Fulfillmentstring

Delivery status / progres of the invoice

Enum"Sent""Unsent"
Example: "Sent"
Binboolean

Invoice in bin or not

Default false
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/GetCountMultipleOutlet \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "From": "2022-09-01",
    "To": "2022-09-06",
    "Outlet": [
      "Outlet1",
      "Outlet2"
    ],
    "Tag": [
      "Tokopedia",
      "Shopee"
    ],
    "PaymentState": "Paid",
    "Fulfillment": "Sent",
    "Bin": false
  }'

Responses

Bodyapplication/json
Countnumber

Total invoice count

Response
application/json
{ "Count": 37 }

List Invoice by Number

Request

Also available as HTTP POST with the same endpoint

Get List Invoices By Number

Required Group Role: "Orders" - "View"

Bodyapplication/json
One of:
Outletstringrequired

Outlet name

Example: "Outlet1"
NumberArray of stringsrequired

Number of Invoices

Example: ["20.10.00087","20.10.00086"]
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/GetByListNumber \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": [
      "20.10.00087",
      "20.10.00086"
    ]
  }'

Responses

Bodyapplication/jsonArray [
Outletstring

the outlet name where the invoice has been made

Numberstring

invoice number

Customerstring

customer name

Datestring

sell date

EventDatestring
Duestring

due date of the invoice

Amountinteger

invoice transaction total amount

Paymentstring

payment state of the invoice

Fulfillmentstring

delivery status of the invoice

Enum"Sent""Unsent""Partial"
Createdstring

sell date created by system

]
Response
application/json
[ { "Outlet": "Outlet1", "Number": "20.10.00087", "Customer": "Achmad raizaldi", "Date": "2020-10-14T00:00:00", "EventDate": "2020-10-14T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 24310, "Payment": "Paid", "Fulfillment": "Sent", "Created": "2020-10-14T14:53:01.79" }, { "Outlet": "Outlet1", "Number": "20.10.00086", "Customer": "", "Date": "2020-10-14T00:00:00", "EventDate": "2020-10-14T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 22100, "Payment": "Paid", "Fulfillment": "Sent", "Created": "2020-10-14T14:51:42.603" } ]

List Invoice Multiple Outlet and Payment

Request

Also available as HTTP POST with the same endpoint

Get Invoice List by Multiple Outlet and Payment

Bodyapplication/json
One of:
PageNumbernumberrequired

The number of page data to be displayed

Example: 1
PageSizenumberrequired

The size of one page. Max=500

Example: 20
OutletArray of stringsrequired

List of multiple outlet names

Example: ["Outlet1","Outlet2"]
PaymentStateArray of stringsrequired

List of multiple payment status

Example: ["Paid","Unpaid"]
TagArray of stringsrequired

Channel Tagging system. (ex: Tokopedia, Shopee)

Example: ["Tokopedia","Shopee","Offline"]
Fulfillmentstringrequired

delivery status / progres of the invoice

Enum"Sent""Partial""Unsent"
Binboolean

Recycle Bin status (whether the invoice is in the Recycle Bin or Not)

Default false
curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/MultipleOutletNPayment \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "PageNumber": 1,
    "PageSize": 20,
    "Outlet": [
      "Outlet1",
      "Outlet2"
    ],
    "PaymentState": [
      "Paid",
      "Unpaid"
    ],
    "Tag": [
      "Tokopedia",
      "Shopee",
      "Offline"
    ]
  }'

Responses

Bodyapplication/jsonArray [
IDstring

Invoice ID

Outletstring

Name of the outlet

Numberstring

Number of the invoice

Customerstring

Name of the customer

Datestring

Invoice Transaction Date

EventDatestring
Duestring

due date of the invoice

Amountnumber

Total amount transaction of the invoice

Paymentstring

payment status / progress of the invoice

Fulfillmentstring

delivery status / progres of the invoice

Enum"Sent""Unsent""Partial"
Createdstring

Invoice created Transaction Date by system

Tagstring

Channel Tagging system. (ex:Offline / Whatsapp / Shopee / Tokopedia) used in marketplace.dealpos.app.

]
Response
application/json
[ { "ID": "3c76f9b5-d1b8-4159-85a0-0630ac0caa47", "Outlet": "Outlet1", "Number": "20.03.00336", "Customer": "adera simalungun", "Date": "2020-03-27T00:00:00", "EventDate": "2020-03-27T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 11250000, "Payment": "Paid", "Fulfillment": "Partial", "Created": "2020-03-27T13:50:16.627", "Tag": "Tokopedia" }, { "ID": "3076b3af-1773-4bf9-9073-279be7b76327", "Outlet": "Outlet1", "Number": ".20.02.00080", "Customer": "", "Date": "2020-02-06T00:00:00", "EventDate": "2020-02-06T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 75000, "Payment": "Paid", "Fulfillment": "Partial", "Created": "2020-02-06T09:43:25.163", "Tag": "Shopee" }, { "ID": "3076b3af-1773-4bf9-9883-279be7b76as7", "Outlet": "Outlet2", "Number": "19.12.00088", "Customer": "", "Date": "2019-12-18T00:00:00", "EventDate": "2019-12-18T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 2655000, "Payment": "Paid", "Fulfillment": "Partial", "Created": "2019-12-18T11:34:41.947", "Tag": "Offline" }, { "ID": "6576b3af-1773-4bf4-9073-279be7b76789", "Outlet": "Outlet2", "Number": "19.12.00087", "Customer": "", "Date": "2019-12-18T00:00:00", "EventDate": "2019-12-18T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 30000, "Payment": "Paid", "Fulfillment": "Partial", "Created": "2019-12-18T10:16:40.623", "Tag": "Tokopedia" }, { "ID": "307628af-1993-4bf9-9573-279be7b76555", "Outlet": "Outlet1", "Number": "19.12.04.000000020", "Customer": "", "Date": "2019-12-04T00:00:00", "EventDate": "2019-12-04T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 92500, "Payment": "Paid", "Fulfillment": "Partial", "Created": "2019-12-04T16:02:28.897", "Tag": "Tokopedia" }, { "ID": "3076b3af-1723-4bf9-9011-279be7b76123", "Outlet": "Outlet1", "Number": "19.12.00019", "Customer": "", "Date": "2019-12-04T00:00:00", "EventDate": "2019-12-04T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 150000, "Payment": "Paid", "Fulfillment": "Partial", "Created": "2019-12-04T16:45:54.507", "Tag": "Whatsapp" }, { "ID": "307ab3af-1cd3-4bf9-9073-279be7b763ef", "Outlet": "Outlet1", "Number": "19.09.24.000000039", "Customer": "", "Date": "2019-09-23T00:00:00", "EventDate": "2019-09-23T00:00:00", "Due": "0001-01-01T00:00:00", "Amount": 5500, "Payment": "Paid", "Fulfillment": "Partial", "Created": "2019-09-24T16:27:22.767", "Tag": "Offline" } ]

Void Invoice

Request

Void Invoice to recycle bin

You must have "EDIT" role in "Sell" Module OR "VoidInvoice" role in "Orders" Module

Bodyapplication/json

Request can be send with payload Outlet+Number / OutletID + Number /InvoiceID only

One of:
Outletstringrequired

Outlet's name

Example: "Outlet1"
Numberstringrequired

Invoice number

Example: "2020.06.00005"
Notestring

Note for the voided invoice

Example: "Void invoice"
curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Invoice/Void \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "2020.06.00005",
    "Note": "Void invoice"
  }'

Responses

Bodyapplication/json
Messagestring

Success message

Response
application/json
{ "Message": "Invoice has been Updated!" }

Restore Invoice

Request

Restore Invoice from recycle bin

You must have "EDIT" role in "Sell" Module OR "EDIT" role in "Global" Module

Bodyapplication/json
One of:
Outletstringrequired

Outlet's name

Example: "Outlet1"
Numberstringrequired

Invoice number

Example: "2020.06.00005"
Notestring

Note for the voided invoice

Example: "Restore invoice"
curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Invoice/Restore \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "2020.06.00005",
    "Note": "Restore invoice"
  }'

Responses

Bodyapplication/json
Messagestring

Success message

Response
application/json
{ "Message": "Invoice has been Updated!" }

Erase Invoice

Request

Please keep in mind that erased Invoice cannot be restored

Permanently Delete Invoice if its already on Recycle Bin

You must have "DELETE" role in "ORDER" Module OR "DELETE" role in "Global" Module

Bodyapplication/json

Request can be send with payload Outlet+Number / OutletID + Number /InvoiceID only

One of:
Outletstringrequired

Outlet Name

Example: "Offline"
Numberstringrequired

Invoice Number

Example: "B1.22.08.00003"
curl -i -X DELETE \
  https://subdomain.dealpos.net/api/v3/Invoice/Erase \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Offline",
    "Number": "B1.22.08.00003"
  }'

Responses

Bodyapplication/json
Messagestring

Success message

Response
application/json
{ "Message": "Invoice has been Erased!" }

Get Reference Number By Invoice ID

Request

Get List Reference Number by Invoice ID

Bodyapplication/json
ListIDArray of strings

Array of List Invoice ID

curl -i -X GET \
  https://subdomain.dealpos.net/api/v3/Invoice/GetReferenceNumber \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "ListID": [
      "1e9c45af-9916-4131-a138-01ffd0ec1eba",
      "0b9657f4-5e12-4d4a-89d6-c104a55c6c49"
    ]
  }'

Responses

OK

Bodyapplication/jsonArray [
IDstring

ID of Invoice

ReferenceNumberstring

Number that associated with a specific invoice issued to a customer which gets from invoice Marketplace channel

]
Response
application/json
[ { "ID": "1e9c45af-9916-4131-a138-01ffd0ec1eba", "ReferenceNumber": "TKPD-001" }, { "ID": "0b9657f4-5e12-4d4a-89d6-c104a55c6c49", "ReferenceNumber": "TKPD-002" } ]

Update Note in Invoice

Request

Add / edit Invoice note

You must have "EDIT" role in "Sell" Modul

Bodyapplication/json
Outletstringrequired

Outlet Name

Numberstringrequired

Number Invoice

Notestringrequired

Invoice Note. (If send the request with empty string will replace invoice note to null value)

curl -i -X PUT \
  https://subdomain.dealpos.net/api/v3/Invoice/Note \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "Outlet": "Outlet1",
    "Number": "2020.06.00005",
    "Note": "Invoice Note"
  }'

Responses

Success response

Bodyapplication/json
Messagestring

Success message

Response
application/json
{ "Message": "Invoice note has been Updated!" }

Shift

Operation related to shift, including create, get, etc

Operations

Report

Operations related to report page, including create, get, etc

Operations

Customer

Operations related to customer data, including create, get, etc

Operations

Comment

Operations related to comment (Contact Feedback), including create, get, etc

Operations

Supplier

Operations related to supplier data, including create, get, etc

Operations

Invoice Payment

Operations related to invoice payment, including create, get, etc

Operations

Bill Payment

Operations related to bill payment, including create, get, etc

Operations

Invoice Write Off

Operations related to invoice write off, including create, get, etc

Operations

Inventory

Operations related to inventory, including create, get, etc

Operations

Inventory Log

Operations related to inventory log, including create, get, etc

Operations

Inventory Adjustment

Operations related to inventory adjustment, including create, get, etc

Operations

Bill

Operations related to bill, including create, get, etc

Operations

OutboundLogistic

Operations related to outbound logistic, including create, get, etc

Operations

InboundLogistic

Operations related to inbound logistic, including create, get, etc

Operations

TransferOrder

Operations related to transfer order, including create, get, etc

Operations

Fulfillment

Operations related to fulfillment, including create, get, etc

Operations

Prepaid Package

Operations related to prepaid package, including create, get, etc

Operations

Promotion Coupon

Operations related to promotion coupon, including create, get, etc

Operations

Promotion Event

Operations related to promotion event, including create, get, etc

Operations

Outlet

Operations related to outlet, including create, get, etc

Operations

Outlet Price

Operations related to outlet price, including create, get, etc

Operations

Loyalty Point

Operations related to loyalty point, including create, get, etc

Operations

Notification

Operations related to notification, including create, get, etc

Operations

Payment Method

Operations related to payment method, including create, get, etc

Operations

Invoice Write Off Option

Operations related to invoice write off option, including create, get, etc

Operations

Tax

Operations related to tax, including create, get, etc

Operations

Logistics Service

Operations related to logistics service, including create, get, etc

Operations

Midtrans Payment Gateway

Operations related to Midtrans Payment Gateway, including create, get, etc

Operations

Apps

Operations related to Apps, including create, get, etc

Operations

Barcode

Operations related to barcode, including create, get, etc

Operations

Client Secret

Operations related to client secret, including create, get, etc

Operations

Rate Limit

Operations related to rate limit, including create, get, etc

Operations

Deprecated API

Operations