Invoice Item

Invoice Item

The Invoice Item API is used to access information about the invoice items on the invoices on your business' account, as well as create and modify invoices. The Invoice Item API is connected to the Invoices and Quotes and Payments APIs, as invoice items appear on invoices that are used to document the payments and refunds incurred by clients. 

 


 

Invoice Item API Endpoints

These are the endpoints that are available under the /invoiceItem path, which lists all the different invoice items on the invoices on your business' account.

Endpoint

Description

Endpoint

Description

GET /invoiceItem/client/{clientId}/uninvoiced

Returns all invoiceItem objects assigned to specified client that do not have the invoiceId property filled in yet in array format.

GET /invoiceItem/product/{productId}

Returns all invoiceItem objects that document the change in stock levels for specified product in array format.

GET /invoiceItem/recurringAppointments/{recurringAppointmentId}

Returns all invoiceItem objects for the specified recurring appointment set.

GET /appointments/client/{clientId}/uninvoiced

Returns all appointment objects for a client that have not been assigned to an invoice yet in array format.

GET /recurringAppointments/client/{clientId}/uninvoiced

Returns all recurringAppointment objects for course sets that client has booked into but have not been invoiced yet in array format.

A course set is made up of individual class sessions that all combine to form a course set. If you want to charge someone for their enrollment into the course set, you would need to add an instance of that course set to an invoice. This API is used to find out which course sets a client has booked but not been invoiced for yet.

GET /invoiceItem/appointment/{calendarId}

Returns all invoiceItem objects for appointments on an invoice in array format.

GET /invoiceItemList/reportWithCount

Returns a list of all invoice items on an account in array format.

POST /invoiceItems

Creates a new line item on an invoice.

Request body/payload: Must pass an array of invoiceItem objects in request body/payload. 

For these calls, you need to pass an array of invoiceItem objects with all required fields and any fields you want to set filled in the body of the payload. We have an example of an invoiceItem object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

POST /invoiceItem

Creates an invoiceItem object. 

Request body/payload: Must pass an invoiceiIem object in request body/payload. 

For these calls, you need to pass an invoiceItem object with all required fields and any fields you want to set filled in the body of the payload. We have an example of an invoiceItem object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

PUT /invoiceItem

Updates an existing invoiceItem object.

Request body/payload: Must pass an invoiceItem object in request body/payload-make sure to include the correct invoiceId.

For these calls, you need to pass an invoiceItem object with all required fields and any fields you want to update filled in the body of the payload. We have an example of an invoiceItem object in the responses section below and have indicated the required fields in the object values table at the bottom of this page.

DELETE /invoiceItem/{invoiceItemId}

Removes an invoiceItem object from view by setting its active property to false.

 


 

Invoice Item API Parameters

 

Data points passed on in the request URL portion of the API call that are used to filter the data being requested. 

Parameter

Type

Endpoints to be used with

Description

Parameter

Type

Endpoints to be used with

Description

pageNumber

integer

GET /invoiceItemList/reportWithCount

Works with the pageSize parameter to determine how data gets returned following a GET call. The pageNumber value represents the number of pages on which the invoice items that get returned appear.

pageSize

integer

 

Works with the pageNumber parameter to determine how data gets returned following a GET call. The pageSize value represents the number of invoice items appearing on each page of invoice items that gets returned.

 


 

Invoice Item API Request Body/Payloads

The objects below represent the minimum viable objects to pass that are needed to create or update an invoiceItems or invoiceItem object. Check whether or not a property can be written to by looking at the Object Values table below to see if the property is writable.

"pageNumber": 1, "pageSize": 25
{ "clientId": 10575898, "description": "test", "discountAmount": null, "discountPercentage": 15, "invoiceId": 2472628, "quantity": 2, "rate": 5 }
{ "businessId": 43111, "clientId": 5146945, "description": "Advanced Dog Training - doggy", "grossAmount": 25, "netAmount": 25, "quantity": 1, "rate": 25, "recurringAppointmentId": 742510, "taxable": false }
{ "active": true, "businessId": 43111, "calendarId": null, "client": null, "clientId": 5146945, "coupon": null, "couponError": null, "createdDate": 1686761942198, "createdUser": "JoeSchmo", "depositAmount": null, "description": "Advanced Dog Training - doggy", "discountAmount": null, "discountPercentage": 25, "editing": true, "giftCardUUID": null, "grossAmount": 25, "invoiceId": 2515124, "invoiceItemId": 2685481, "invoiceItemName": null, "invoiceStatus": null, "modifiedUser": "JoeSchmo", "netAmount": 25, "noDescriptionError": false, "packageSoldId": null, "productId": null, "quantity": 1, "rate": 25, "reasonId": null, "recurringAppointmentId": 742510, "taxable": false }

 


 

Invoice Item API Responses

[{ "active": true, "businessId": 43111, "calendarId": null, "client": null, "clientId": 5143212, "coupon": null, "couponError": null, "createdDate": 1536770974005, "createdUser": "JoeSchmo", "depositAmount": null, "description": "Need more $", "discountAmount": 4.5, "discountPercentage": 10, "giftCardUUID": null, "grossAmount": 10, "invoiceId": null, "invoiceItemId": 455016, "invoiceItemName": null, "invoiceStatus": null, "modifiedUser": "JoeSchmo", "netAmount": 10, "packageSoldId": null, "productId": null, "quantity": 2, "rate": 5, "reasonId": null, "recurringAppointmentId": null, "taxable": false }]
[{ "active": true, "businessId": 43111, "calendarId": null, "client": null, "clientId": null, "coupon": null, "couponError": null, "createdDate": 1536869585107, "createdUser": "JoeSchmo", "depositAmount": null, "description": "Collars: Bought new collars and came in shipment", "discountAmount": null, "discountPercentage": null, "giftCardUUID": null, "grossAmount": 0, "invoiceId": 469508, "invoiceItemId": 458960, "invoiceItemName": null, "invoiceStatus": null, "modifiedUser": "JoeSchmo", "netAmount": 0, "packageSoldId": null, "productId": 6183, "quantity": -50, "rate": 0, "reasonId": null, "recurringAppointmentId": null, "taxable": true }]
[{ "active": true, "businessId": 43111, "calendarId": null, "client": null, "clientId": 5146945, "coupon": null, "couponError": null, "createdDate": 1686761942198, "createdUser": "JoeSchmo", "depositAmount": null, "description": "Advanced Dog Training - doggy", "discountAmount": 6.25, "discountPercentage": 25, "giftCardUUID": null, "grossAmount": 25, "invoiceId": 2515124, "invoiceItemId": 2685481, "invoiceItemName": null, "invoiceStatus": null, "modifiedUser": "JoeSchmo", "netAmount": 18.75, "packageSoldId": null, "productId": null, "quantity": 1, "rate": 25, "reasonId": null, "recurringAppointmentId": 742510, "taxable": false }]
[{ "addOnReasonIdList": null, "addOnReasonList": null, "additionalStaffIdList": null, "address": null, "appointmentIdHash": "xqmrSN1n3N", "appointmentDateTimeClient": "Monday, Sep 3, 2018 at 11:35 AM EDT", "appointmentDateTimeStaff": null, "apptTZ": null, "batchAppointmentId": null, "blockResourceIdList": null, "blockStaffIdList": null, "blockedStaffList": null, "businessId": 43111, "calTimeSlot": null, "calendarId": 17713652, "cancelReason": null, "cancelUser": null, "changeReason": null, "classScheduleId": null, "classroom": null, "client": {Client object for client of appointment - for more info, see Clients API page}, "clientConfirmDate": null, "clientConfirmed": true, "clientEndDate": "2018-09-03", "clientEndDateTime": 1543829400000, "clientEndDateTimeUTC": 1543829400000, "clientEndTime": 1505, "clientReminderHours": 24, "clientRescheduleCount": 0, "clientStartDate": "2018-09-03", "clientStartDateTime": 1543827600000, "clientStartDateTimeUTC": 1543827600000, "clientStartTime": 1335, "color": null, "completedReason": null, "coordinatorStaff": null, "coupon": null, "couponId": null, "createddate": "2018-08-28 17:29:09", "createduser": "", "customField1": null, "customField2": null, "customField3": null, "customFieldData": null, "customFieldDesc": "Comments : ", "date": "2018-09-03", "dateCheckedIn": null, "dateCompleted": 1536580616496, "dateStarted": null, "discount": null, "duration": null, "endDate": "2018-09-03", "endDateTimeUTC": null, "endTime": 1500, "externalEventId": null, "fields": {Scheduler fields object for fields of fields of appointment - for more info, see Scheduler Fields API page}, "invitationUUId": null, "jobRequisitionId": null, "location": {Location object for location of appointment - for more info, see Locations API page}, "locationGroup": null, "locationSuperGroup": null, "modifieddate": "2023-06-14 15:13:57", "modifieduser": "SYSTEM_CLOSER", "noPrefSelected": null, "noShowReason": null, "note": "", "packageSoldId": 0, "paid": null, "price": 8, "reason": {Reason object for service of appointment - for more info, see Services API page}, "reasonBatchSeriesId": null, "reasonDesc": null, "reasonGroup": null, "recall": null, "recallDate": null, "recallStatus": null, "recurringAppointmentId": 0, "remindClientSmsHrs": null, "remindStaffSmsHours": null, "resource": {Resource object for resource of appointment - for more info, see Resources API page}, "seats": 1, "sendConfirmationToClient": false, "sendConfirmationToStaff": false, "showAs": "Busy", "staff": {Staff object for staff of appointment - for more info, see Staff API page}, "staffReminderHours": 24, "staffRescheduleCount": 0, "staffTimeText": null, "startDate": "2018-09-03", "startDateTimeUTC": null, "startTime": 1330, "status": "COMPLETED", "subStatus": "COMPLETED", "subject": null, "tax1Amount": null, "ticket": null, "transactionFee": null, "waitlistId": null }]
[{ "additionalStaffIdList": null, "address": null, "adhoc": null, "blockStaffIdList": null, "blockedStaffList": null, "businessId": 43111, "cancelReason": null, "changeReason": null, "classScheduleIdList": [45553889, 45553890, 45553891], "classScheduleList": null, "client": {Client object for client of course set - for more info, see Clients API page}, "clientEndTime": 1200, "clientId": 5147353, "clientReminderHours": 24, "clientStartTime": 1000, "color": null, "coordinatorStaff": null, "createdBy": null, "customFieldData": [], "dateCreated": null, "dateModified": null, "dates": null, "discount": null, "endDate": "2018-09-21", "endTime": 1200, "everyXMonths": 0, "everyXWeeks": 0, "fields": {Fields object for scheduler fields of course set - for more info, see Scheduler Fields API page}, "fri": true, "getSendConfirmationToClient": null, "location": {Location object for location of course set - for more info, see Locations API page}, "locationGroup": null, "locationId": 81129, "locationSuperGroup": null, "modifiedBy": null, "mon": false, "note": null, "paid": null, "price": 25, "reason": {Reason object for service of course set - for more info, see Services API page}, "reasonId": 240127, "recurringAppointmentId": 179108, "recurringSchedule": {Recurring schedule object for recurring class schedule of course set - for more info, see Recurring Class Schedule API page}, "remindClientSmsHours": 1, "remindStaffSmsHours": 0, "repeatStaffIds": null, "resource": null, "sat": false, "seats": null, "sendConfirmationToClient": null, "sendConfirmationToStaff": null, "staff": {Staff object for staff of course set - for more info, see Staff API page}, "staffId": 81988, "staffReminderHours": 24, "startDate": "2018-09-19", "startTime": 1000, "status": "Open", "sun": false, "tax1Amount": null, "thu": true, "timeSlotList": null, "tue": false, "waitListId": null, "waitListOrigRecurringAppointmentId": null, "wed": true }
[{ "active": true, "businessId": 43111, "calendarId": 17927840, "clientId": 5147404, "coupon": null, "createdDate": 1536855019903, "createdUser": "JoeSchmo", "depositAmount": null, "description": "For Dog Training with Major Hay on Saturday, Sep 15, 2018 at 10:10 AM EDT", "discountAmount": null, "discountPercentage": null, "giftCardUUID": null, "grossAmount": 0, "invoiceId": 469475, "invoiceItemId": 458568, "modifiedUser": "JoeSchmo", "netAmount": 0, "packageSoldId": null, "productId": null, "quantity": 1, "rate": 0, "recurringAppointmentId": null, "taxable": false }]
[{ "active": true, "businessId": 43111, "calendarId": 16470837, "client": {Client object for client of Invoice Item - for more info, see Clients API page}, "clientId": 4761823, "coupon": null, "couponError": null, "createdDate": 1526492308900, "createdUser": "WebClient", "depositAmount": 0, "description": "For Dog grooming with Titus Bigly on Wednesday, Jun 6, 2018 at 12:05 PM EDT", "discountAmount": 0, "discountPercentage": 0, "giftCardUUID": null, "grossAmount": 8, "invoiceId": 312165, "invoiceItemId": 295813, "invoiceItemName": 0, "invoiceStatus": "OPEN", "modifiedUser": null, "netAmount": 8, "packageSoldId": null, "productId": null, "quantity": 1, "rate": 8, "reasonId": null, "recurringAppointmentId": null, "taxable": false }]
{ "active": true, "businessId": 43111, "calendarId": 17466100, "client": {Client object for client of invoice item - for more info, see Clients API page}, "clientId": 4658091, "coupon": null, "couponError": null, "createdDate": 1536759463375, "createdUser": "JoeSchmo", "depositAmount": null, "description": "For Dog Training with Jay Morgan on Thursday, Sep 13, 2018 at 8:00 AM EDT", "discountAmount": 2.25, "discountPercentage": 15, "giftCardUUID": null, "grossAmount": 15, "invoiceId": 465804, "invoiceItemId": 455016, "invoiceItemName": null, "invoiceStatus": null, "modifiedUser": "JoeSchmo", "netAmount": 12.75, "packageSoldId": null, "productId": null, "quantity": 1, "rate": 15, "reasonId": null, "recurringAppointmentId": null, "taxable": false }
{ "active": true, "businessId": 43111, "calendarId": null, "client": null, "clientId": 5146945, "coupon": null, "couponError": null, "createdDate": 1686761942198, "createdUser": "JoeSchmo", "depositAmount": null, "description": "Advanced Dog Training - doggy", "discountAmount": null, "discountPercentage": null, "giftCardUUID": null, "grossAmount": 25, "invoiceId": null, "invoiceItemId": 2685481, "invoiceItemName": null, "invoiceStatus": null, "modifiedUser": "JoeSchmo", "netAmount": 25, "packageSoldId": null, "productId": null, "quantity": 1, "rate": 25, "reasonId": null, "recurringAppointmentId": 742510, "taxable": false }
{ "active": true, "businessId": 43111, "calendarId": 17602802, "client": null, "clientId": 4761823, "coupon": null, "couponError": null, "createdDate": 1536761795057, "createdUser": "JoeSchmo", "depositAmount": null, "description": "Bought a book", "discountAmount": null, "discountPercentage": null, "giftCardUUID": null, "grossAmount": 10, "invoiceId": 437711, "invoiceItemId": 442802, "invoiceItemName": null, "invoiceStatus": null, "modifiedUser": "JoeSchmo", "netAmount": 10, "packageSoldId": null, "productId": null, "quantity": 1, "rate": 10, "reasonId": null, "recurringAppointmentId": null, "taxable": false }

 


 

Invoice Item Object Values

Property Name

Type

Required

Description

Property Name

Type

Required

Description

active

boolean

Yes

Indicates whether or not the specified invoice item should return on GET calls. 

businessId

integer

Yes

Provides unique numerical ID for the business to which the specified invoice item belongs.

calendarId

integer

 

Provides unique numeric ID for the calendar of the appointment from which the specified invoice item was created.

client

object

 

Displays the client object of any client connected to the specified invoice item - for more info, see Clients API page.

clientId

integer

Yes

Provides unique numeric ID for the client attached to the specified invoice item.

coupon

object

 

Displays the coupon object of any coupon being applied on the specified invoice item - for more info, see Coupon API page.

couponError

string

 

Displays as the error message for the coupon error.

createdDate

integer

 

Displays as the date the specified invoice item was created in milliseconds elapsed since January 1, 1970 00:00:00 UTC form. 

createdUser

string

 

Displays as username of the user who created specified invoice item.

depositAmount

integer

 

Displays the monetary amount of any deposit paid for the invoice to which the specified invoice item belongs.

description

string

 

Displays string representation of what the specified invoice item is for. Example: "For Dog Training with Titus Bigly on Thursday, Sep 13, 2018 at 8:00 AM EDT".

discountAmount

integer

 

Displays as monetary value of any discount applied to the specified invoice item.

discountPercentage

integer

 

Displays as percentage of any discount applied to the specified invoice item.

giftCardUUId

integer

 

Provides unique numeric ID for any giftcard used to create the specified invoice item.

grossAmount

integer

 

Displays as monetary value of payment/refund being applied before accounting for any discounts. Refunds show as negative numbers.

invoiceId

integer

Yes

Provides unique numeric ID for the invoice to which the specified invoice item belongs.

invoiceItemId

integer

Yes, on PUT calls

Provides unique numeric ID for the specified invoice item.

modifiedUser

string

 

Displays as username of the user who created the specified invoice item.

netAmount

integer

 

Displays as monetary value of payment/refund being applied after accounting for any discounts. Refunds show as negative numbers.

packageSoldId

integer

 

Provides unique numeric ID of any package sold as part of the specified invoice item.

productId

integer

 

Provides unique numeric ID of any product that is part of the specified invoice item.

quantity

integer

Yes

Displays as number of payments/refunds being applied.

rate

integer

Yes

Displays as monetary value of each individual payment/refund being applied. Refunds show as negative numbers.

reasonId

integer

 

Provides unique numeric ID of the reason related to the specified invoice item.

recurringAppointmentId

integer

 

Provides unique numeric ID of any recurring appointment related to the specified invoice item.

taxable

boolean

 

Indicates whether or not the specified invoice item is taxable, which would impact the overall balance of the invoice itself.