Create custom orders

Creates or updates orders with a non-Clover inventory and dynamically calculates taxes. Valid fields are: taxRemoved, note, title, state, testMode, manualTransaction, groupLineItems, and orderType. Use separate API calls to add line items. See the tutorial Create custom orders.
To create orders with Clover inventory and leverage real-time totals and tax calculation features, use the Create an atomic order endpoint and see the tutorial to Manage orders data.

Path Params
string
required

Merchant identifier.

Body Params
string

Unique identifier of the order.

string

Three-letter ISO 4217 currency code.
Format: Lower case
Length: Max 3

customers
array of objects

List of customers associated with this order.

customers
employee
object

Employee who took this order.

integer

Total price of the order in cents.

string

External reference identifier, if associated with the order.

integer

Net of orders with payment minus the amount collected. Includes refunds, manual refunds, tax, tip, service charge, non-revenue items, paid gift card activations and loads, and discounts.

string
enum

Indicates the state of the payment, whether paid, open, partially paid, and so on.

Allowed:
string

Title associated with the employee.

string

Information about the order that may be printed on the order receipt and displayed in apps.

orderType
object
boolean
Defaults to false

Indicates whether tax is removed and is not applicable to the order.

boolean

Indicates whether the order was created by a merchant that charges for value-added tax (VAT).

string

Order state.
Values:
. open or OPEN and locked - Automatically set by Clover, for example: when a line item is added to the order or a payment is taken.
. When an order is created using REST API, Clover recommends manually setting the order state value to Open.
. When an order is created using Android SDK, do not manually set the order state. The value must be left empty, and Clover automatically updates the value to open and locked.
. Null - Default value when no value is manually set. This indicates a hidden order. Hidden orders do not display on the screen but can be retrieved using order ID.

boolean

Indicates a manual transaction for the order. In a manual transaction:
An arbitrary amount is defined and not associated with any inventory items. For example, the Clover Sale app and Clover Manual Transaction app create manual transactions.
A single line item is associated to hold the sale amount, but the generated receipt displays this differently to indicate the order is not a typical order with inventory items.

boolean

Indicates whether similar line items are grouped together on the order receipt based on matching values for properties, such as price, modifiers, and discounts.

boolean

Indicates whether this order was created in test mode. Payments made against test orders are not processed. You can delete test mode orders from the Orders App on the merchant's device or web dashboard. Test mode orders are also deleted when the device sends a POST to the /v2/merchant/{mId}/orders/delete_all_tests endpoint.

string
enum

During the payment flow:
If the user chooses to split the payment for the order, this field is set to one of the Split values to indicate how to split the full amount.
If the user chooses to pay for the order in full with one payment, then this field value is Full.

Allowed:
int64

Time when the order was created on the server.

int64

Time when the client created the order.

int64

Last modified time of the order.

int64

Time when the order was deleted.

serviceCharge
object

Optional service charge (gratuity) applied to the order.

additionalCharges
array of objects
additionalCharges
discounts
array of objects

Amount or percentage discounts applied to the order subtotal. To retrieve discounts applied to individual items, use the Get all line items for an order endpoint with the discounts field expanded.

discounts
lineItems
array of objects

Line items associated with the order.

lineItems
payments
array of objects

Payments applicable to the order.
Note: If multiple payments were made, then the payType field displays the method to split the total amount.

payments
refunds
array of objects

Refunds that were made for this order.

refunds
credits
array of objects

Credits associated with this order.

credits
voids
array of objects

Voided payments associated with this order

voids
preAuths
array of objects

Pre-authorizations associated with this order

preAuths
device
object

Device which created the order, a 128-bit UUID, not a normal base-13 Clover ID.

authorizations
array of objects

Card authorizations associated with this order

authorizations
merchant
object
printGroups
array of objects

Print groups for line items of this order.

printGroups
orderFulfillmentEvent
object

Latest order fulfillment event of this order.

Response
200
Language
Credentials
Bearer
Response
Click Try It! to start a request and see the response here!