Invoice
The invoice record exposes an invoice to REST web services.
To access this record in NetSuite, go to Transactions > Sales > Create Invoices.
For information about the invoice record user interface, see Invoices.
This record has the following subrecords:
-
Accounting Books (accountingbookdetail)
-
Applied Rules (appliedrules)
-
Billable Expenses (expcost)
-
Billable Items (itemcost)
-
Billable Time (time)
-
Gift Certificate Redemption (giftcertredemption)
-
Item Line Address (iladdrbook)
-
Installments (installment)
-
Invoice Item (item)
-
Partner (partner)
-
Promotions (promotions)
-
Sales Team (salesteam)
-
Shipment (shipgroup)
-
Taxes (taxdetails)
The REST API Browser includes information about the field names and field types of the invoice record, and about the HTTP methods, request parameters, and operations available for this record.
For details, see the REST API Browser's invoice reference page.
For information about using the REST API Browser, see The REST API Browser.
This record has fields related to taxation features. Refer to the following table for details:
|
Tax Feature |
ID |
Label |
Type |
|---|---|---|---|
|
TAX_OVERHAULING |
handlingtaxamount |
Handling Tax Amount |
CURRENCY |
|
shippingtaxamount |
Shipping Tax Amount |
CURRENCY |
|
|
subsidiarytaxregnum |
Subsidiary Tax Reg. Number |
SELECT |
|
|
taxdetails |
Taxes |
SUBLIST |
|
|
taxdetailsoverride |
Tax Details Override |
CHECKBOX |
|
|
taxpointdate |
Tax Point Date |
DATE |
|
|
taxpointdateoverride |
Tax Point Date Override |
CHECKBOX |
|
|
taxregoverride |
Tax Registration Override |
CHECKBOX |
|
|
totalaftertaxes |
Total After Taxes |
CURRENCY |
|
|
entitytaxregnum |
Customer Tax Reg. Number |
SELECT |
|
|
NOTTAX_OVERHAULING |
expcostdisctax1amt |
Tax Amt |
CURRENCY |
|
expcostdisctaxable |
Taxable |
CHECKBOX |
|
|
expcosttaxcode |
Tax Code |
SELECT |
|
|
expcosttaxrate1 |
Tax Rate |
PERCENT |
|
|
expcosttaxrate2 |
PST |
PERCENT |
|
|
handlingtax1rate |
Tax Rate |
RATE |
|
|
handlingtax2rate |
Tax Rate |
RATE |
|
|
handlingtaxcode |
Handling Tax Code |
SELECT |
|
|
istaxable |
Taxable |
CHECKBOX |
|
|
itemcostdisctax1amt |
Tax Amt |
CURRENCY |
|
|
itemcostdisctaxable |
Taxable |
CHECKBOX |
|
|
itemcosttaxcode |
Tax Code |
SELECT |
|
|
itemcosttaxrate1 |
Tax Rate |
PERCENT |
|
|
itemcosttaxrate2 |
PST |
PERCENT |
|
|
shippingtax1rate |
Tax Rate |
RATE |
|
|
shippingtax2rate |
Tax Rate |
RATE |
|
|
shippingtaxcode |
Shipping Tax Code |
SELECT |
|
|
tax2total |
PST |
CURRENCY |
|
|
taxitem |
Tax Item |
SELECT |
|
|
taxrate |
Tax Rate |
FLOAT |
|
|
timedisctax1amt |
Tax Amt |
CURRENCY |
|
|
timedisctaxable |
Taxable |
CHECKBOX |
|
|
timetaxcode |
Tax Code |
SELECT |
|
|
timetaxrate1 |
Tax Rate |
PERCENT |
|
|
timetaxrate2 |
PST |
PERCENT |
|
|
vatregnum |
VAT Registration |
TEXT |
To view the complete list of fields, go to Invoice in the SuiteScript Records Browser.
REST web services do not support legacy tax features. To work with taxation through REST web services, you must have the SuiteTax feature enabled. For more information about using SuiteTax, see SuiteTax.
Record ID
The record ID for an invoice REST record is invoice.
Prerequisites
Before you can use this record through REST web services, you must first enable the Accounts Receivable feature. Go to Setup > Company > Setup Tasks > Enable Features. On the Accounting subtab, check the A/R box, and then click Save.
Usage Notes
To use the Choose Team and Update Customer fields in the Sales Team subtab, an administrator must first enable the Team Selling feature. Go to Setup > Company > Enable Features. Select the CRM subtab. Under Sales, check the Team Selling box, and then click Save.
To use the Update Customer field in the Relationships subtab, an administrator must first enable the Multi-Partner Management feature. Go to Setup > Company > Setup Tasks > Enable Features. Select the CRM subtab. Under Partners, check the Multi-Partner Management box, and then click Save.
Code Samples
These samples show common use cases for invoices.
In the following examples,
-
<accountID> represents your account ID.
-
<recordKey> represents the database key for the invoice.
Create an Invoice with an Item
POST: https://demo123.suitetalk.api.netsuite.com/services/rest/record/v1/invoice { "asofdate": "2021-03-15", "enddate": "2021-06-15", "entity": { "id": "220" }, "item": { "items": [ { "amount": 1000.0, "item": { "id": "144" } } ] }, "startdate": "2021-03-15", "subsidiary": { "id": "1" }, "terms": { "id": "1" }
Create an Invoice with a Billable Item
POST: https://demo123.suitetalk.api.netsuite.com/services/rest/record/v1/invoice { "asofdate": "2021-03-15", "entity": { "id": "221" }, "itemcost": { "items": [ { "apply": true, "doc": { "id": "310" }, "line": 1 } ] }
}
Create an Invoice with Billable Time
POST: https://demo123.suitetalk.api.netsuite.com/services/rest/record/v1/invoice { "entity": { "id": "220" }, "time": { "items": [ { "apply": true, "doc": { "id": "1" }, "rate": 10 } ] }
}
Update an Invoice
You can update fields under Primary Information, such as transaction date, as well as line-item fields, such as rate.
PATCH: https://demo123.suitetalk.api.netsuite.com/services/rest/record/v1/invoice/<recordKey> { "item": { "items": [ { "line": 1, "rate": 50.00 } ] }, "tranDate": "2021-03-05"
}
Update an Invoice with a Line Item
PATCH {{REST_SERVICES}}/record/v1/invoice/{id}
{
"tranDate": "2026-01-20",
"tranId": "Updated Invoice ID",
"item": {
"items": [
{
"item": {
"id": "7"
},
"line": 1, // including line field will update the existing line at this index, excluding will add a new line
"quantity": 1.0
}
]
}
}
Set the Sales Order's Sales Team Members to Match Sales Group 164
"salesGroup": {
"id": 164 }
Update the Customer's Partner Team to Match the Transaction Partners
"syncPartnerTeams": true
Update the Customer's Sales Team to Match the Transaction Sales Team
"syncSalesTeams": true