API Docs
/
No Results Found
Bills

Bills

When your vendor supplies goods/services to you on credit, you’re sent an invoice that details the amount of money you owe him. You can record this as a bill in Zoho Books and track it until it’s paid.

Attribute

bill_id
string
ID of the Bill
purchaseorder_ids
array
vendor_id
string
ID of the vendor the bill has to be created.
vendor_name
string
Name of the Vendor
vat_treatment
string
🇬🇧 United Kingdom
only
(Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is uk. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is eu_vat_registered, if he resides outside of the UK then his VAT treatment is overseas (For Pre Brexit, this can be split as eu_vat_registered, eu_vat_not_registered and non_eu).
vat_reg_no
string
🇬🇧 United Kingdom
, Avalara Integration only
For UK Edition: VAT Registration number of a contact with Length should be between 2 and 12 characters.
For Avalara: If you are doing sales in the European Union (EU) then provide VAT Registration Number of your customers here. This is used to calculate VAT for B2B sales, from Avalara.
source_of_supply
string
🇮🇳 India
only
Place from where the goods/services are supplied. (If not given, place of contact given for the contact will be taken)
destination_of_supply
string
🇮🇳 India
only
Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
place_of_supply
string
GCC only
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, place of contact given for the contact will be taken)
Supported codes for UAE emirates are :
Abu Dhabi - AB,
Ajman - AJ,
Dubai - DU,
Fujairah - FU,
Ras al-Khaimah - RA,
Sharjah - SH,
Umm al-Quwain - UM.
Supported codes for the GCC countries are :
United Arab Emirates - AE,
Saudi Arabia - SA,
Bahrain - BH,
Kuwait - KW,
Oman - OM,
Qatar - QA.
permit_number
string
🇦🇪 United Arab Emirates
only
The permit number for the bill.
gst_no
string
🇮🇳 India
only
15 digit GST identification number of the vendor.
gst_treatment
string
🇮🇳 India
only
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are business_gst , business_none , overseas , consumer .
tax_treatment
string
GCC , 🇲🇽 Mexico
only
VAT treatment for the bill. Choose whether the vendor falls under: vat_registered,vat_not_registered,gcc_vat_not_registered,gcc_vat_registered,non_gcc.
dz_vat_registered and dz_vat_not_registered are supported only for UAE.
home_country_mexico,border_region_mexico,non_mexico supported only for MX.
is_pre_gst
boolean
🇮🇳 India
only
Applicable for transactions that fall before july 1, 2017
pricebook_id
string
Enter ID of the price book.
pricebook_name
string
Name of the price book
is_reverse_charge_applied
boolean
🇮🇳 India
only
Applicable for transactions where you pay reverse charge
unused_credits_payable_amount
integer
Unused Credits for this Vendor
status
string
Status of the Bill
bill_number
string
The bill number.
date
string
The date the bill was created. [yyyy-mm-dd]
due_date
string
Date bill is due.
payment_terms
integer
Number Referring to Payment Terms
payment_terms_label
string
Label of the Payment Terms
payment_expected_date
string
Expected Payment date of the Bill
reference_number
string
Reference Number of the entity
recurring_bill_id
string
ID of the Recurring Bill
due_by_days
string
Days by which Bill is Due
due_in_days
integer
Days in which Bill will be Due
currency_id
string
ID of the Currency
currency_code
string
Code of the Currency
currency_symbol
string
Symbol of the Currency
documents
array
Show Sub-Attributes arrow
document_id
long
ID of the Document
file_name
string
Name of the file
price_precision
integer
Precision for the values
exchange_rate
double
Exchange rate of the currency.
adjustment
double
Adjustments made to the bill.
adjustment_description
string
Customize the adjustment description. E.g. Rounding off.
custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
label
string
Label of the Custom Field
value
string
Value of the Custom Field
is_tds_applied
boolean
🇮🇳 India
, 🌎 Global
, 🇦🇺 Australia
only
Check if TDS is applied
is_item_level_tax_calc
boolean
Check if Item Level Tax Calculation is present
is_inclusive_tax
boolean
Not applicable 🇺🇸 United States
Used to specify whether the line item rates are inclusive or exclusive of tax.
filed_in_vat_return_id
string
🇬🇧 United Kingdom
only
ID of the VAT Return the Vendor Credit is filed in
filed_in_vat_return_name
string
🇬🇧 United Kingdom
only
Name of the VAT Return the Vendor Credit is filed in
filed_in_vat_return_type
string
🇬🇧 United Kingdom
only
Type of the VAT Return the Vendor Credit is filed in
is_abn_quoted
string
🇦🇺 Australia
only
line_items
array
Line items of a bill.
Show Sub-Attributes arrow
purchaseorder_item_id
string
ID of the Item in Purchase Order
line_item_id
string
ID of the Line Item
item_id
string
ID of the Item
sku
string
SKU of the Item
name
string
account_id
string
ID of the account associated with the line item.
account_name
string
Name of the Account
image_document_id
string
🇮🇳 India
only
ID of the image document
warehouse_id
string
🇮🇳 India
only
Warehoude ID
warehouse_name
string
Name of the warehouse
reverse_charge_tax_id
string
🇮🇳 India
, GCC only
Reverse charge tax ID
reverse_charge_tax_name
string
🇮🇳 India
only
Name of the reverse charge tax
reverse_charge_tax_percentage
double
🇮🇳 India
only
Enter reverse charge percentage
reverse_charge_tax_amount
double
🇮🇳 India
only
Enter reverse charge amount
description
string
Description of the line item.
bcy_rate
integer
Rate in Base Currency of the Organization
rate
double
Rate of the line item.
tags
array
Show Sub-Attributes arrow
tag_id
long
ID of the Tag
tag_option_id
long
Id of the Tag Option
quantity
double
Quantity of the line item.
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tds_tax_id
string
🇲🇽 Mexico
only
TDS ID of the tax or tax group applied to the line item
tax_treatment_code
string
GCC only
Specify reason for using out of scope.
Supported values for UAE are uae_same_tax_group, uae_reimbursed_expense and uae_others.
Supported values for Bahrain are bahrain_same_tax_group, bahrain_transfer_of_concern, bahrain_disbursement, bahrain_head_to_branch_transaction and bahrain_others.
Supported values for KSA are ksa_reimbursed_expense.
tax_exemption_id
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
ID of the Tax Exemption Applied
tax_exemption_code
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
, 🇲🇽 Mexico
only
Code of the Tax Exemption Applied
tax_name
string
Name of the Tax
tax_type
string
Type of tax
tax_percentage
integer
Percentage of Tax
item_total
integer
Total of the Item
item_total_inclusive_of_tax
double
Total of the Item Inclusive of Tax
item_order
integer
unit
string
Unit of the Item
product_type
string
Europe , 🇬🇧 United Kingdom
only
Type of the bill. This denotes whether the bill line item is to be treated as a goods or service purchase. This only need to be specified in case purchase order is not enabled. Allowed Values: digital_service, goods and service.
hsn_or_sac
string
🇮🇳 India
only
Add HSN/SAC code for your goods/services
acquisition_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is an EU - goods purchase and acquisition VAT needs to be reported.
acquisition_vat_name
string
🇬🇧 United Kingdom
, Europe only
Name of the VAT Acquistion
acquisition_vat_percentage
string
🇬🇧 United Kingdom
, Europe only
Percentage of the VAT Acquistion
acquisition_vat_amount
string
🇬🇧 United Kingdom
, Europe only
Amount of the VAT Acquistion
reverse_charge_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is a non UK - service purchase and reverse charge VAT needs to be reported.
reverse_charge_vat_name
string
🇬🇧 United Kingdom
, Europe only
Name of the Reverse Charge
reverse_charge_vat_percentage
string
🇬🇧 United Kingdom
, Europe only
Percentage of the Reverse Charge
reverse_charge_vat_amount
string
🇬🇧 United Kingdom
, Europe only
Percentage of the Reverse Charge
is_billable
boolean
Check if entity is Billable
customer_id
string
ID of the Customer
customer_name
string
Name of the Customer
project_id
string
ID of the Project
project_name
string
Name of the Project
invoice_id
string
ID of the Invoice
invoice_number
string
Number associated with the Invoice
item_custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
value
string
Value of the Custom Field
label
string
Label of the Custom Field
sub_total
integer
Sub Total of the Bill
tax_total
integer
Tax Total of the Bill
total
integer
Total of the Bill
payment_made
integer
Amount of Payment made
vendor_credits_applied
integer
Amount of credits applied
is_line_item_invoiced
boolean
Check if line item is invoiced
purchaseorders
array
Show Sub-Attributes arrow
purchaseorder_id
string
ID of the Purchase Order
purchaseorder_number
string
Number of the Purchase Order
purchaseorder_date
string
Date of the Purchase Order
purchaseorder_status
string
Status of the Purchase Order
taxes
array
Show Sub-Attributes arrow
tax_name
string
Name of the Tax
tax_amount
string
Amount of Tax in the Bill
acquisition_vat_summary
array
🇬🇧 United Kingdom
, Europe only
Summary of the VAT Acquistion
Show Sub-Attributes arrow
tax_name
string
Name of the Tax
tax_amount
string
Amount of Tax in the Bill
acquisition_vat_total
double
🇬🇧 United Kingdom
, Europe only
Total of the VAT Acquistion
reverse_charge_vat_summary
array
🇬🇧 United Kingdom
, Europe only
Summary of the Reverse Charge
Show Sub-Attributes arrow
tax_name
string
Name of the Tax
tax_amount
string
Amount of Tax in the Bill
reverse_charge_vat_total
double
🇬🇧 United Kingdom
, Europe only
Total of the Reverse Charge
balance
integer
Balance in the Bill
billing_address
object
Show Sub-Attributes arrow
address
string
Address involved in the Bill
street2
string
Address details
city
string
City in the Address
state
string
State involved in the Address
zip
string
ZIP Code involved in the Address
country
string
Country Involved in the Address
fax
string
Fax of the Vendor
attention
string
payments
array
Show Sub-Attributes arrow
payment_id
string
ID of the Payment
bill_id
string
ID of the Bill
bill_payment_id
string
ID of the Bill Payment
payment_mode
string
Mode of Payment
payment_number
string
Number of the Payment Made
description
string
Description of the line item.
date
string
The date the bill was created. [yyyy-mm-dd]
reference_number
string
Reference Number of the entity
exchange_rate
double
Exchange rate of the currency.
amount
double
paid_through_account_id
string
ID of the Account through which Bill is Paid
paid_through_account_name
string
Name of the Account through which Bill is Paid
is_single_bill_payment
boolean
Check if it is a Single Bill Payment
is_paid_via_print_check
boolean
🇺🇸 United States
, 🇨🇦 Canada
only
Check if the Bill Payment is paid Via Print Check Option
check_details
array
🇺🇸 United States
, 🇨🇦 Canada
only
Show Sub-Attributes arrow
check_status
string
🇺🇸 United States
, 🇨🇦 Canada
only
Status of the Check
check_number
string
🇺🇸 United States
, 🇨🇦 Canada
only
Check Number that is printed
is_ach_payment
boolean
Check If Vendor Payment ACH
ach_payment_status
string
Status of the ACH Payment
ach_gw_transaction_id
string
ID of the ACH Payment Transaction
filed_in_vat_return_id
string
🇬🇧 United Kingdom
only
ID of the VAT Return the Vendor Credit is filed in
filed_in_vat_return_name
string
🇬🇧 United Kingdom
only
Name of the VAT Return the Vendor Credit is filed in
filed_in_vat_return_type
string
🇬🇧 United Kingdom
only
Type of the VAT Return the Vendor Credit is filed in
vendor_credits
array
Show Sub-Attributes arrow
vendor_credit_id
string
ID of the Vendor Credit
vendor_credit_bill_id
string
ID of the Bill Credited using the Vendor Credit
vendor_credit_number
string
Number of the Vendor Credit
date
string
Date Vendor Credit was applied
amount
double
Amount of Credit applied to the Bill
created_time
string
Created time of the bill
created_by_id
string
Name of User who created the Bill
last_modified_time
string
Last Modified Time of the Bill
reference_id
string
notes
string
Notes for the Bill
terms
string
Terms and Conditions for the Bill
attachment_name
string
Name of the Attachment
open_purchaseorders_count
integer
Number of Open Purchase Orders

Example

{ "bill_id": "460000000098765", "purchaseorder_ids": [ 460000000068231, 460000000068233 ], "vendor_id": "460000000038029", "vendor_name": "string", "vat_treatment": "string", "vat_reg_no": "string", "source_of_supply": "AP", "destination_of_supply": "TN", "place_of_supply": "DU", "permit_number": "string", "gst_no": "22AAAAA0000A1Z5", "gst_treatment": "business_gst", "tax_treatment": "vat_registered", "is_pre_gst": false, "pricebook_id": 460000000038090, "pricebook_name": "string", "is_reverse_charge_applied": true, "unused_credits_payable_amount": 187, "status": "open", "bill_number": "00454", "date": "2013-09-11", "due_date": "2013-09-26", "payment_terms": 0, "payment_terms_label": "Due on Receipt", "payment_expected_date": "string", "reference_number": "4321133", "recurring_bill_id": "string", "due_by_days": "string", "due_in_days": 0, "currency_id": "460000000000099", "currency_code": "INR", "currency_symbol": "string", "documents": [ { "document_id": 0, "file_name": "string" } ], "price_precision": 2, "exchange_rate": 1.23, "adjustment": 0, "adjustment_description": " ", "custom_fields": [ { "custom_field_id": 0, "index": 0, "label": "string", "value": "string" } ], "is_tds_applied": true, "is_item_level_tax_calc": false, "is_inclusive_tax": false, "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string", "is_abn_quoted": "string", "line_items": [ { "purchaseorder_item_id": "string", "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_name": "string", "reverse_charge_tax_id": 460000000038056, "reverse_charge_tax_name": "inter", "reverse_charge_tax_percentage": 10, "reverse_charge_tax_amount": 100, "description": "string", "bcy_rate": 40, "rate": 10, "tags": [ { "tag_id": "460000000054178", "tag_option_id": "460000000054180" } ], "quantity": 1, "tax_id": "460000000027005", "tds_tax_id": "460000000027009", "tax_treatment_code": "uae_others", "tax_exemption_id": "string", "tax_exemption_code": "string", "tax_name": "VAT (12.5%)", "tax_type": "tax", "tax_percentage": 0, "item_total": 40, "item_total_inclusive_of_tax": 40, "item_order": 1, "unit": "kgs", "product_type": "string", "hsn_or_sac": 80540, "acquisition_vat_id": "string", "acquisition_vat_name": "string", "acquisition_vat_percentage": "string", "acquisition_vat_amount": "string", "reverse_charge_vat_id": "string", "reverse_charge_vat_name": "string", "reverse_charge_vat_percentage": "string", "reverse_charge_vat_amount": "string", "is_billable": false, "customer_id": "string", "customer_name": "string", "project_id": "string", "project_name": "string", "invoice_id": "string", "invoice_number": "string", "item_custom_fields": [ { "custom_field_id": 0, "index": 0, "value": "string", "label": "string" } ] } ], "sub_total": 40, "tax_total": 0, "total": 40, "payment_made": 0, "vendor_credits_applied": 0, "is_line_item_invoiced": false, "purchaseorders": [ { "purchaseorder_id": "460000000068231", "purchaseorder_number": "PO-0001", "purchaseorder_date": "19 Jan 2017", "purchaseorder_status": "billed" } ], "taxes": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_total": 0.1, "reverse_charge_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "reverse_charge_vat_total": 0.1, "balance": 40, "billing_address": { "address": "string", "street2": "Suite 310", "city": "string", "state": "string", "zip": "string", "country": "string", "fax": "string", "attention": "string" }, "payments": [ { "payment_id": "460000000042059", "bill_id": "460000000098765", "bill_payment_id": "460000000042061", "payment_mode": "Cash", "payment_number": "string", "description": "string", "date": "2013-09-11", "reference_number": "4321133", "exchange_rate": 1.23, "amount": 31.25, "paid_through_account_id": "460000000000358", "paid_through_account_name": "Undeposited Funds", "is_single_bill_payment": true, "is_paid_via_print_check": false, "check_details": [ { "check_status": "string", "check_number": "string" } ], "is_ach_payment": false, "ach_payment_status": "string", "ach_gw_transaction_id": "string", "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string" } ], "vendor_credits": [ { "vendor_credit_id": "4600000053221", "vendor_credit_bill_id": "4600000211221", "vendor_credit_number": "DN-001", "date": "27 Dec 2016", "amount": 10 } ], "created_time": "2013-09-11T17:18:32+0530", "created_by_id": "4600000053001", "last_modified_time": "2013-09-11T17:18:32+0530", "reference_id": "string", "notes": "Thanks for your business.", "terms": "Terms and conditions apply.", "attachment_name": "string", "open_purchaseorders_count": 1 }

Create a bill

Create a bill received from your vendor.
OAuth Scope : ZohoBooks.bills.CREATE

Arguments

vendor_id
string
(Required)
ID of the vendor the bill has to be created.
currency_id
string
ID of the Currency
vat_treatment
string
🇬🇧 United Kingdom
only
(Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is uk. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is eu_vat_registered, if he resides outside of the UK then his VAT treatment is overseas (For Pre Brexit, this can be split as eu_vat_registered, eu_vat_not_registered and non_eu).
is_update_customer
boolean
Check if cutomer should be updated
purchaseorder_ids
array
bill_number
string
(Required)
The bill number.
documents
array
Show Sub-Attributes arrow
document_id
long
ID of the Document
file_name
string
Name of the file
source_of_supply
string
🇮🇳 India
only
Place from where the goods/services are supplied. (If not given, place of contact given for the contact will be taken)
destination_of_supply
string
🇮🇳 India
only
Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
place_of_supply
string
GCC only
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, place of contact given for the contact will be taken)
Supported codes for UAE emirates are :
Abu Dhabi - AB,
Ajman - AJ,
Dubai - DU,
Fujairah - FU,
Ras al-Khaimah - RA,
Sharjah - SH,
Umm al-Quwain - UM.
Supported codes for the GCC countries are :
United Arab Emirates - AE,
Saudi Arabia - SA,
Bahrain - BH,
Kuwait - KW,
Oman - OM,
Qatar - QA.
permit_number
string
🇦🇪 United Arab Emirates
only
The permit number for the bill.
gst_treatment
string
🇮🇳 India
only
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are business_gst , business_none , overseas , consumer .
tax_treatment
string
GCC , 🇲🇽 Mexico
only
VAT treatment for the bill. Choose whether the vendor falls under: vat_registered,vat_not_registered,gcc_vat_not_registered,gcc_vat_registered,non_gcc.
dz_vat_registered and dz_vat_not_registered are supported only for UAE.
home_country_mexico,border_region_mexico,non_mexico supported only for MX.
gst_no
string
🇮🇳 India
only
15 digit GST identification number of the vendor.
pricebook_id
string
Enter ID of the price book.
reference_number
string
Reference Number of the entity
date
string
The date the bill was created. [yyyy-mm-dd]
due_date
string
Date bill is due.
payment_terms
integer
Number Referring to Payment Terms
payment_terms_label
string
Label of the Payment Terms
recurring_bill_id
string
ID of the Recurring Bill
exchange_rate
double
Exchange rate of the currency.
is_item_level_tax_calc
boolean
Check if Item Level Tax Calculation is present
is_inclusive_tax
boolean
Not applicable 🇺🇸 United States
Used to specify whether the line item rates are inclusive or exclusive of tax.
adjustment
double
Adjustments made to the bill.
adjustment_description
string
Customize the adjustment description. E.g. Rounding off.
custom_fields
array
Show Sub-Attributes arrow
index
integer
Index of the custom field
value
string
Value of the Custom Field
line_items
array
Line items of a bill.
Show Sub-Attributes arrow
purchaseorder_item_id
string
ID of the Item in Purchase Order
line_item_id
string
ID of the Line Item
item_id
string
ID of the Item
name
string
account_id
string
ID of the account associated with the line item.
description
string
Description of the line item.
rate
double
Rate of the line item.
hsn_or_sac
string
🇮🇳 India
only
Add HSN/SAC code for your goods/services
reverse_charge_tax_id
string
🇮🇳 India
, GCC only
Reverse charge tax ID
warehouse_id
string
🇮🇳 India
only
Warehoude ID
quantity
double
Quantity of the line item.
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tds_tax_id
string
🇲🇽 Mexico
only
TDS ID of the tax or tax group applied to the line item
tax_treatment_code
string
GCC only
Specify reason for using out of scope.
Supported values for UAE are uae_same_tax_group, uae_reimbursed_expense and uae_others.
Supported values for Bahrain are bahrain_same_tax_group, bahrain_transfer_of_concern, bahrain_disbursement, bahrain_head_to_branch_transaction and bahrain_others.
Supported values for KSA are ksa_reimbursed_expense.
tax_exemption_id
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
ID of the Tax Exemption Applied
tax_exemption_code
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
, 🇲🇽 Mexico
only
Code of the Tax Exemption Applied
item_order
integer
product_type
string
Europe , 🇬🇧 United Kingdom
only
Type of the bill. This denotes whether the bill line item is to be treated as a goods or service purchase. This only need to be specified in case purchase order is not enabled. Allowed Values: digital_service, goods and service.
acquisition_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is an EU - goods purchase and acquisition VAT needs to be reported.
reverse_charge_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is a non UK - service purchase and reverse charge VAT needs to be reported.
unit
string
Unit of the Item
tags
array
Show Sub-Attributes arrow
tag_id
long
ID of the Tag
tag_option_id
long
Id of the Tag Option
is_billable
boolean
Check if entity is Billable
project_id
string
ID of the Project
customer_id
string
ID of the Customer
item_custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
value
string
Value of the Custom Field
label
string
Label of the Custom Field
serial_numbers
array
taxes
array
Show Sub-Attributes arrow
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tax_name
string
Name of the Tax
tax_amount
string
Amount of Tax in the Bill
notes
string
Notes for the Bill
terms
string
Terms and Conditions for the Bill
approvers
array
Show Sub-Attributes arrow
approver_id
long
ID of the Approver
order
integer
Order of the Approver

Query Parameters

attachment
File to attach. Allowed Extensions: gif, png, jpeg, jpg, bmp and pdf.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills?organization_id=10234695" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills?organization_id=10234695") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/bills?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/books/v3/bills?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/bills?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "vendor_id": "460000000038029", "currency_id": "460000000000099", "vat_treatment": "string", "is_update_customer": false, "purchaseorder_ids": [ 460000000068231, 460000000068233 ], "bill_number": "00454", "documents": [ { "document_id": 0, "file_name": "string" } ], "source_of_supply": "AP", "destination_of_supply": "TN", "place_of_supply": "DU", "permit_number": "string", "gst_treatment": "business_gst", "tax_treatment": "vat_registered", "gst_no": "22AAAAA0000A1Z5", "pricebook_id": 460000000038090, "reference_number": "4321133", "date": "2013-09-11", "due_date": "2013-09-26", "payment_terms": 0, "payment_terms_label": "Due on Receipt", "recurring_bill_id": "string", "exchange_rate": 1.23, "is_item_level_tax_calc": false, "is_inclusive_tax": false, "adjustment": 0, "adjustment_description": " ", "custom_fields": [ { "index": 0, "value": "string" } ], "line_items": [ { "purchaseorder_item_id": "string", "line_item_id": "460000000067009", "item_id": "460000000054135", "name": "string", "account_id": "460000000000403", "description": "string", "rate": 10, "hsn_or_sac": 80540, "reverse_charge_tax_id": 460000000038056, "warehouse_id": 460000000038089, "quantity": 1, "tax_id": "460000000027005", "tds_tax_id": "460000000027009", "tax_treatment_code": "uae_others", "tax_exemption_id": "string", "tax_exemption_code": "string", "item_order": 1, "product_type": "string", "acquisition_vat_id": "string", "reverse_charge_vat_id": "string", "unit": "kgs", "tags": [ { "tag_id": "460000000054178", "tag_option_id": "460000000054180" } ], "is_billable": false, "project_id": "string", "customer_id": "string", "item_custom_fields": [ { "custom_field_id": 0, "index": 0, "value": "string", "label": "string" } ], "serial_numbers": [ "string" ] } ], "taxes": [ { "tax_id": "460000000027005", "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "notes": "Thanks for your business.", "terms": "Terms and conditions apply.", "approvers": [ { "approver_id": 0, "order": 0 } ] }

Response Example

{ "code": 0, "message": "success", "bill": { "bill_id": "460000000098765", "purchaseorder_ids": [ 460000000068231, 460000000068233 ], "vendor_id": "460000000038029", "vendor_name": "string", "vat_treatment": "string", "vat_reg_no": "string", "source_of_supply": "AP", "destination_of_supply": "TN", "place_of_supply": "DU", "permit_number": "string", "gst_no": "22AAAAA0000A1Z5", "gst_treatment": "business_gst", "tax_treatment": "vat_registered", "is_pre_gst": false, "pricebook_id": 460000000038090, "pricebook_name": "string", "is_reverse_charge_applied": true, "unused_credits_payable_amount": 187, "status": "open", "bill_number": "00454", "date": "2013-09-11", "due_date": "2013-09-26", "payment_terms": 0, "payment_terms_label": "Due on Receipt", "payment_expected_date": "string", "reference_number": "4321133", "recurring_bill_id": "string", "due_by_days": "string", "due_in_days": 0, "currency_id": "460000000000099", "currency_code": "INR", "currency_symbol": "string", "documents": [ { "document_id": 0, "file_name": "string" } ], "price_precision": 2, "exchange_rate": 1.23, "adjustment": 0, "adjustment_description": " ", "custom_fields": [ { "custom_field_id": 0, "index": 0, "label": "string", "value": "string" } ], "is_tds_applied": true, "is_item_level_tax_calc": false, "is_inclusive_tax": false, "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string", "is_abn_quoted": "string", "line_items": [ { "purchaseorder_item_id": "string", "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_name": "string", "reverse_charge_tax_id": 460000000038056, "reverse_charge_tax_name": "inter", "reverse_charge_tax_percentage": 10, "reverse_charge_tax_amount": 100, "description": "string", "bcy_rate": 40, "rate": 10, "tags": [ { "tag_id": "460000000054178", "tag_option_id": "460000000054180" } ], "quantity": 1, "tax_id": "460000000027005", "tds_tax_id": "460000000027009", "tax_treatment_code": "uae_others", "tax_exemption_id": "string", "tax_exemption_code": "string", "tax_name": "VAT (12.5%)", "tax_type": "tax", "tax_percentage": 0, "item_total": 40, "item_total_inclusive_of_tax": 40, "item_order": 1, "unit": "kgs", "product_type": "string", "hsn_or_sac": 80540, "acquisition_vat_id": "string", "acquisition_vat_name": "string", "acquisition_vat_percentage": "string", "acquisition_vat_amount": "string", "reverse_charge_vat_id": "string", "reverse_charge_vat_name": "string", "reverse_charge_vat_percentage": "string", "reverse_charge_vat_amount": "string", "is_billable": false, "customer_id": "string", "customer_name": "string", "project_id": "string", "project_name": "string", "invoice_id": "string", "invoice_number": "string", "item_custom_fields": [ { "custom_field_id": 0, "index": 0, "value": "string", "label": "string" } ] } ], "sub_total": 40, "tax_total": 0, "total": 40, "payment_made": 0, "vendor_credits_applied": 0, "is_line_item_invoiced": false, "purchaseorders": [ { "purchaseorder_id": "460000000068231", "purchaseorder_number": "PO-0001", "purchaseorder_date": "19 Jan 2017", "purchaseorder_status": "billed" } ], "taxes": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_total": 0.1, "reverse_charge_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "reverse_charge_vat_total": 0.1, "balance": 40, "billing_address": { "address": "string", "street2": "Suite 310", "city": "string", "state": "string", "zip": "string", "country": "string", "fax": "string", "attention": "string" }, "payments": [ { "payment_id": "460000000042059", "bill_id": "460000000098765", "bill_payment_id": "460000000042061", "payment_mode": "Cash", "payment_number": "string", "description": "string", "date": "2013-09-11", "reference_number": "4321133", "exchange_rate": 1.23, "amount": 31.25, "paid_through_account_id": "460000000000358", "paid_through_account_name": "Undeposited Funds", "is_single_bill_payment": true, "is_paid_via_print_check": false, "check_details": [ { "check_status": "string", "check_number": "string" } ], "is_ach_payment": false, "ach_payment_status": "string", "ach_gw_transaction_id": "string", "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string" } ], "vendor_credits": [ { "vendor_credit_id": "4600000053221", "vendor_credit_bill_id": "4600000211221", "vendor_credit_number": "DN-001", "date": "27 Dec 2016", "amount": 10 } ], "created_time": "2013-09-11T17:18:32+0530", "created_by_id": "4600000053001", "last_modified_time": "2013-09-11T17:18:32+0530", "reference_id": "string", "notes": "Thanks for your business.", "terms": "Terms and conditions apply.", "attachment_name": "string", "open_purchaseorders_count": 1 } }

Update a bill using a custom field's unique value

A custom field will have unique values if it's configured to not accept duplicate values. Now, you can use that custom field's value to update a bill by providing its API name in the X-Unique-Identifier-Key header and its value in the X-Unique-Identifier-Value header. Based on this value, the corresponding bill will be retrieved and updated. Additionally, there is an optional X-Upsert header. If the X-Upsert header is true and the custom field's unique value is not found in any of the existing bills, a new bill will be created if the necessary payload details are available
OAuth Scope : ZohoBooks.bills.UPDATE

Arguments

vendor_id
string
(Required)
ID of the vendor the bill has to be created.
currency_id
string
ID of the Currency
vat_treatment
string
🇬🇧 United Kingdom
only
(Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is uk. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is eu_vat_registered, if he resides outside of the UK then his VAT treatment is overseas (For Pre Brexit, this can be split as eu_vat_registered, eu_vat_not_registered and non_eu).
is_update_customer
boolean
Check if cutomer should be updated
purchaseorder_ids
array
bill_number
string
(Required)
The bill number.
documents
array
Show Sub-Attributes arrow
document_id
long
ID of the Document
file_name
string
Name of the file
source_of_supply
string
🇮🇳 India
only
Place from where the goods/services are supplied. (If not given, place of contact given for the contact will be taken)
destination_of_supply
string
🇮🇳 India
only
Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
place_of_supply
string
GCC only
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, place of contact given for the contact will be taken)
Supported codes for UAE emirates are :
Abu Dhabi - AB,
Ajman - AJ,
Dubai - DU,
Fujairah - FU,
Ras al-Khaimah - RA,
Sharjah - SH,
Umm al-Quwain - UM.
Supported codes for the GCC countries are :
United Arab Emirates - AE,
Saudi Arabia - SA,
Bahrain - BH,
Kuwait - KW,
Oman - OM,
Qatar - QA.
permit_number
string
🇦🇪 United Arab Emirates
only
The permit number for the bill.
gst_treatment
string
🇮🇳 India
only
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are business_gst , business_none , overseas , consumer .
tax_treatment
string
GCC , 🇲🇽 Mexico
only
VAT treatment for the bill. Choose whether the vendor falls under: vat_registered,vat_not_registered,gcc_vat_not_registered,gcc_vat_registered,non_gcc.
dz_vat_registered and dz_vat_not_registered are supported only for UAE.
home_country_mexico,border_region_mexico,non_mexico supported only for MX.
gst_no
string
🇮🇳 India
only
15 digit GST identification number of the vendor.
pricebook_id
string
Enter ID of the price book.
reference_number
string
Reference Number of the entity
date
string
The date the bill was created. [yyyy-mm-dd]
due_date
string
Date bill is due.
payment_terms
integer
Number Referring to Payment Terms
payment_terms_label
string
Label of the Payment Terms
recurring_bill_id
string
ID of the Recurring Bill
exchange_rate
double
Exchange rate of the currency.
is_item_level_tax_calc
boolean
Check if Item Level Tax Calculation is present
is_inclusive_tax
boolean
Not applicable 🇺🇸 United States
Used to specify whether the line item rates are inclusive or exclusive of tax.
adjustment
double
Adjustments made to the bill.
adjustment_description
string
Customize the adjustment description. E.g. Rounding off.
custom_fields
array
Show Sub-Attributes arrow
index
integer
Index of the custom field
value
string
Value of the Custom Field
line_items
array
Line items of a bill.
Show Sub-Attributes arrow
purchaseorder_item_id
string
ID of the Item in Purchase Order
line_item_id
string
ID of the Line Item
item_id
string
ID of the Item
name
string
account_id
string
ID of the account associated with the line item.
description
string
Description of the line item.
rate
double
Rate of the line item.
hsn_or_sac
string
🇮🇳 India
only
Add HSN/SAC code for your goods/services
reverse_charge_tax_id
string
🇮🇳 India
, GCC only
Reverse charge tax ID
warehouse_id
string
🇮🇳 India
only
Warehoude ID
quantity
double
Quantity of the line item.
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tds_tax_id
string
🇲🇽 Mexico
only
TDS ID of the tax or tax group applied to the line item
tax_treatment_code
string
GCC only
Specify reason for using out of scope.
Supported values for UAE are uae_same_tax_group, uae_reimbursed_expense and uae_others.
Supported values for Bahrain are bahrain_same_tax_group, bahrain_transfer_of_concern, bahrain_disbursement, bahrain_head_to_branch_transaction and bahrain_others.
Supported values for KSA are ksa_reimbursed_expense.
tax_exemption_id
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
ID of the Tax Exemption Applied
tax_exemption_code
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
, 🇲🇽 Mexico
only
Code of the Tax Exemption Applied
item_order
integer
product_type
string
Europe , 🇬🇧 United Kingdom
only
Type of the bill. This denotes whether the bill line item is to be treated as a goods or service purchase. This only need to be specified in case purchase order is not enabled. Allowed Values: digital_service, goods and service.
acquisition_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is an EU - goods purchase and acquisition VAT needs to be reported.
reverse_charge_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is a non UK - service purchase and reverse charge VAT needs to be reported.
unit
string
Unit of the Item
tags
array
Show Sub-Attributes arrow
tag_id
long
ID of the Tag
tag_option_id
long
Id of the Tag Option
is_billable
boolean
Check if entity is Billable
project_id
string
ID of the Project
customer_id
string
ID of the Customer
item_custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
value
string
Value of the Custom Field
label
string
Label of the Custom Field
serial_numbers
array
taxes
array
Show Sub-Attributes arrow
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tax_name
string
Name of the Tax
tax_amount
string
Amount of Tax in the Bill
notes
string
Notes for the Bill
terms
string
Terms and Conditions for the Bill
approvers
array
Show Sub-Attributes arrow
approver_id
long
ID of the Approver
order
integer
Order of the Approver

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("X-Unique-Identifier-Key", "cf_unique_cf"); headers_data.put("X-Unique-Identifier-Value", "unique Value"); headers_data.put("X-Upsert", "true"); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills?organization_id=10234695" type: PUT headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills?organization_id=10234695") .put(body) .addHeader("X-Unique-Identifier-Key", "cf_unique_cf") .addHeader("X-Unique-Identifier-Value", "unique Value") .addHeader("X-Upsert", "true") .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { 'X-Unique-Identifier-Key': 'cf_unique_cf', 'X-Unique-Identifier-Value': 'unique Value', 'X-Upsert': 'true', Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/bills?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'X-Unique-Identifier-Key': "cf_unique_cf", 'X-Unique-Identifier-Value': "unique Value", 'X-Upsert': "true", 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("PUT", "/books/v3/bills?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills?organization_id=10234695", "headers": { "X-Unique-Identifier-Key": "cf_unique_cf", "X-Unique-Identifier-Value": "unique Value", "X-Upsert": "true", "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request PUT \ --url 'https://www.zohoapis.com/books/v3/bills?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'X-Unique-Identifier-Key: cf_unique_cf' \ --header 'X-Unique-Identifier-Value: unique Value' \ --header 'X-Upsert: true' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "vendor_id": "460000000038029", "currency_id": "460000000000099", "vat_treatment": "string", "is_update_customer": false, "purchaseorder_ids": [ 460000000068231, 460000000068233 ], "bill_number": "00454", "documents": [ { "document_id": 0, "file_name": "string" } ], "source_of_supply": "AP", "destination_of_supply": "TN", "place_of_supply": "DU", "permit_number": "string", "gst_treatment": "business_gst", "tax_treatment": "vat_registered", "gst_no": "22AAAAA0000A1Z5", "pricebook_id": 460000000038090, "reference_number": "4321133", "date": "2013-09-11", "due_date": "2013-09-26", "payment_terms": 0, "payment_terms_label": "Due on Receipt", "recurring_bill_id": "string", "exchange_rate": 1.23, "is_item_level_tax_calc": false, "is_inclusive_tax": false, "adjustment": 0, "adjustment_description": " ", "custom_fields": [ { "index": 0, "value": "string" } ], "line_items": [ { "purchaseorder_item_id": "string", "line_item_id": "460000000067009", "item_id": "460000000054135", "name": "string", "account_id": "460000000000403", "description": "string", "rate": 10, "hsn_or_sac": 80540, "reverse_charge_tax_id": 460000000038056, "warehouse_id": 460000000038089, "quantity": 1, "tax_id": "460000000027005", "tds_tax_id": "460000000027009", "tax_treatment_code": "uae_others", "tax_exemption_id": "string", "tax_exemption_code": "string", "item_order": 1, "product_type": "string", "acquisition_vat_id": "string", "reverse_charge_vat_id": "string", "unit": "kgs", "tags": [ { "tag_id": "460000000054178", "tag_option_id": "460000000054180" } ], "is_billable": false, "project_id": "string", "customer_id": "string", "item_custom_fields": [ { "custom_field_id": 0, "index": 0, "value": "string", "label": "string" } ], "serial_numbers": [ "string" ] } ], "taxes": [ { "tax_id": "460000000027005", "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "notes": "Thanks for your business.", "terms": "Terms and conditions apply.", "approvers": [ { "approver_id": 0, "order": 0 } ] }

Response Example

{ "code": 0, "message": "Bill information has been updated.", "bill": { "bill_id": "460000000098765", "purchaseorder_ids": [ 460000000068231, 460000000068233 ], "vendor_id": "460000000038029", "vendor_name": "string", "vat_treatment": "string", "vat_reg_no": "string", "source_of_supply": "AP", "destination_of_supply": "TN", "place_of_supply": "DU", "permit_number": "string", "gst_no": "22AAAAA0000A1Z5", "gst_treatment": "business_gst", "tax_treatment": "vat_registered", "is_pre_gst": false, "pricebook_id": 460000000038090, "pricebook_name": "string", "is_reverse_charge_applied": true, "unused_credits_payable_amount": 187, "status": "open", "bill_number": "00454", "date": "2013-09-11", "due_date": "2013-09-26", "payment_terms": 0, "payment_terms_label": "Due on Receipt", "payment_expected_date": "string", "reference_number": "4321133", "recurring_bill_id": "string", "due_by_days": "string", "due_in_days": 0, "currency_id": "460000000000099", "currency_code": "INR", "currency_symbol": "string", "documents": [ { "document_id": 0, "file_name": "string" } ], "price_precision": 2, "exchange_rate": 1.23, "adjustment": 0, "adjustment_description": " ", "custom_fields": [ { "custom_field_id": 0, "index": 0, "label": "string", "value": "string" } ], "is_tds_applied": true, "is_item_level_tax_calc": false, "is_inclusive_tax": false, "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string", "is_abn_quoted": "string", "line_items": [ { "purchaseorder_item_id": "string", "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_name": "string", "reverse_charge_tax_id": 460000000038056, "reverse_charge_tax_name": "inter", "reverse_charge_tax_percentage": 10, "reverse_charge_tax_amount": 100, "description": "string", "bcy_rate": 40, "rate": 10, "tags": [ { "tag_id": "460000000054178", "tag_option_id": "460000000054180" } ], "quantity": 1, "tax_id": "460000000027005", "tds_tax_id": "460000000027009", "tax_treatment_code": "uae_others", "tax_exemption_id": "string", "tax_exemption_code": "string", "tax_name": "VAT (12.5%)", "tax_type": "tax", "tax_percentage": 0, "item_total": 40, "item_total_inclusive_of_tax": 40, "item_order": 1, "unit": "kgs", "product_type": "string", "hsn_or_sac": 80540, "acquisition_vat_id": "string", "acquisition_vat_name": "string", "acquisition_vat_percentage": "string", "acquisition_vat_amount": "string", "reverse_charge_vat_id": "string", "reverse_charge_vat_name": "string", "reverse_charge_vat_percentage": "string", "reverse_charge_vat_amount": "string", "is_billable": false, "customer_id": "string", "customer_name": "string", "project_id": "string", "project_name": "string", "invoice_id": "string", "invoice_number": "string", "item_custom_fields": [ { "custom_field_id": 0, "index": 0, "value": "string", "label": "string" } ] } ], "sub_total": 40, "tax_total": 0, "total": 40, "payment_made": 0, "vendor_credits_applied": 0, "is_line_item_invoiced": false, "purchaseorders": [ { "purchaseorder_id": "460000000068231", "purchaseorder_number": "PO-0001", "purchaseorder_date": "19 Jan 2017", "purchaseorder_status": "billed" } ], "taxes": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_total": 0.1, "reverse_charge_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "reverse_charge_vat_total": 0.1, "balance": 40, "billing_address": { "address": "string", "street2": "Suite 310", "city": "string", "state": "string", "zip": "string", "country": "string", "fax": "string", "attention": "string" }, "payments": [ { "payment_id": "460000000042059", "bill_id": "460000000098765", "bill_payment_id": "460000000042061", "payment_mode": "Cash", "payment_number": "string", "description": "string", "date": "2013-09-11", "reference_number": "4321133", "exchange_rate": 1.23, "amount": 31.25, "paid_through_account_id": "460000000000358", "paid_through_account_name": "Undeposited Funds", "is_single_bill_payment": true, "is_paid_via_print_check": false, "check_details": [ { "check_status": "string", "check_number": "string" } ], "is_ach_payment": false, "ach_payment_status": "string", "ach_gw_transaction_id": "string", "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string" } ], "vendor_credits": [ { "vendor_credit_id": "4600000053221", "vendor_credit_bill_id": "4600000211221", "vendor_credit_number": "DN-001", "date": "27 Dec 2016", "amount": 10 } ], "created_time": "2013-09-11T17:18:32+0530", "created_by_id": "4600000053001", "last_modified_time": "2013-09-11T17:18:32+0530", "reference_id": "string", "notes": "Thanks for your business.", "terms": "Terms and conditions apply.", "attachment_name": "string", "open_purchaseorders_count": 1 } }

List bills

List all bills with pagination.
OAuth Scope : ZohoBooks.bills.READ

Query Parameters

bill_number
Search bills by bill number. Variants: bill_number_startswith and bill_number_contains
reference_number
Search bills by reference_number number. Variants: reference_number_startswith and reference_number_contains
date
Search bills by bill date. Variants: date_start, date_end, date_before and date.after
status
Search bills by bill status. Allowed Values: paid, open, overdue, void and partially_paid
description
Search bills by description. Variants: description_startswith and description_contains
vendor_name
Search bills by vendor name. Variants: vendor_name_startswith and vendor_name_contains
total
Search bills by bill total. Variants: total_less_than, total_less_equals, total_greater_than and total_greater_equals
vendor_id
Search bills by Vendor ID
item_id
Search bills by Item ID
recurring_bill_id
Search bills by Recurring Bill ID
purchaseorder_id
Search bills by Purchase Order ID
last_modified_time
Search bills by Last Modified Time
filter_by
Filter bills by any status. Allowed Values: Status.All, Status.PartiallyPaid, Status.Paid, Status.Overdue, Status.Void and Status.Open.
search_text
Search bills by bill number or reference number or vendor name.
page
Number of pages
sort_column
Sort bills. Allowed Values: vendor_name, bill_number, date, due_date, total, balance and created_time.
sort_order
The order for sorting. Available options A/D

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/bills?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/bills?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "bills": [ { "bill_id": "460000000098765", "vendor_id": "460000000038029", "vendor_name": "string", "status": "open", "bill_number": "00454", "reference_number": "4321133", "date": "2013-09-11", "due_date": "2013-09-26", "due_days": "string", "currency_id": "460000000000099", "currency_code": "INR", "price_precision": 2, "exchange_rate": 1.23, "total": 40, "balance": 40, "created_time": "2013-09-11T17:18:32+0530", "last_modified_time": "2013-09-11T17:18:32+0530", "attachment_name": "string", "has_attachment": false, "is_tds_applied": true, "is_abn_quoted": "string" }, {...}, {...} ], "page_context": { "page": 1, "per_page": 200, "has_more_page": false, "report_name": "Bills", "applied_filter": "Status.All", "sort_column": "string", "sort_order": "D" } }

Update a bill

Update a bill. To delete a line item just remove it from the line_items list.
OAuth Scope : ZohoBooks.bills.UPDATE

Arguments

vendor_id
string
(Required)
ID of the vendor the bill has to be created.
currency_id
string
ID of the Currency
vat_treatment
string
🇬🇧 United Kingdom
only
(Optional) VAT treatment for the bill. VAT treatment denotes the location of the vendor, if the vendor resides in UK then the VAT treatment is uk. If the vendor is in an EU country & VAT registered, you are resides in Northen Ireland and purchasing Goods then his VAT treatment is eu_vat_registered, if he resides outside of the UK then his VAT treatment is overseas (For Pre Brexit, this can be split as eu_vat_registered, eu_vat_not_registered and non_eu).
is_update_customer
boolean
Check if cutomer should be updated
purchaseorder_ids
array
bill_number
string
(Required)
The bill number.
documents
array
Show Sub-Attributes arrow
document_id
long
ID of the Document
file_name
string
Name of the file
source_of_supply
string
🇮🇳 India
only
Place from where the goods/services are supplied. (If not given, place of contact given for the contact will be taken)
destination_of_supply
string
🇮🇳 India
only
Place where the goods/services are supplied to. (If not given, organisation's home state will be taken)
place_of_supply
string
GCC only
The place of supply is where a transaction is considered to have occurred for VAT purposes. For the supply of goods, the place of supply is the location of the goods when the supply occurs. For the supply of services, the place of supply should be where the supplier is established. (If not given, place of contact given for the contact will be taken)
Supported codes for UAE emirates are :
Abu Dhabi - AB,
Ajman - AJ,
Dubai - DU,
Fujairah - FU,
Ras al-Khaimah - RA,
Sharjah - SH,
Umm al-Quwain - UM.
Supported codes for the GCC countries are :
United Arab Emirates - AE,
Saudi Arabia - SA,
Bahrain - BH,
Kuwait - KW,
Oman - OM,
Qatar - QA.
permit_number
string
🇦🇪 United Arab Emirates
only
The permit number for the bill.
gst_treatment
string
🇮🇳 India
only
Choose whether the contact is GST registered/unregistered/consumer/overseas. Allowed values are business_gst , business_none , overseas , consumer .
tax_treatment
string
GCC , 🇲🇽 Mexico
only
VAT treatment for the bill. Choose whether the vendor falls under: vat_registered,vat_not_registered,gcc_vat_not_registered,gcc_vat_registered,non_gcc.
dz_vat_registered and dz_vat_not_registered are supported only for UAE.
home_country_mexico,border_region_mexico,non_mexico supported only for MX.
gst_no
string
🇮🇳 India
only
15 digit GST identification number of the vendor.
pricebook_id
string
Enter ID of the price book.
reference_number
string
Reference Number of the entity
date
string
The date the bill was created. [yyyy-mm-dd]
due_date
string
Date bill is due.
payment_terms
integer
Number Referring to Payment Terms
payment_terms_label
string
Label of the Payment Terms
recurring_bill_id
string
ID of the Recurring Bill
exchange_rate
double
Exchange rate of the currency.
is_item_level_tax_calc
boolean
Check if Item Level Tax Calculation is present
is_inclusive_tax
boolean
Not applicable 🇺🇸 United States
Used to specify whether the line item rates are inclusive or exclusive of tax.
adjustment
double
Adjustments made to the bill.
adjustment_description
string
Customize the adjustment description. E.g. Rounding off.
custom_fields
array
Show Sub-Attributes arrow
index
integer
Index of the custom field
value
string
Value of the Custom Field
line_items
array
Line items of a bill.
Show Sub-Attributes arrow
purchaseorder_item_id
string
ID of the Item in Purchase Order
line_item_id
string
ID of the Line Item
item_id
string
ID of the Item
name
string
account_id
string
ID of the account associated with the line item.
description
string
Description of the line item.
rate
double
Rate of the line item.
hsn_or_sac
string
🇮🇳 India
only
Add HSN/SAC code for your goods/services
reverse_charge_tax_id
string
🇮🇳 India
, GCC only
Reverse charge tax ID
warehouse_id
string
🇮🇳 India
only
Warehoude ID
quantity
double
Quantity of the line item.
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tds_tax_id
string
🇲🇽 Mexico
only
TDS ID of the tax or tax group applied to the line item
tax_treatment_code
string
GCC only
Specify reason for using out of scope.
Supported values for UAE are uae_same_tax_group, uae_reimbursed_expense and uae_others.
Supported values for Bahrain are bahrain_same_tax_group, bahrain_transfer_of_concern, bahrain_disbursement, bahrain_head_to_branch_transaction and bahrain_others.
Supported values for KSA are ksa_reimbursed_expense.
tax_exemption_id
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
only
ID of the Tax Exemption Applied
tax_exemption_code
string
🇮🇳 India
, 🇦🇺 Australia
, 🇨🇦 Canada
, 🇲🇽 Mexico
only
Code of the Tax Exemption Applied
item_order
integer
product_type
string
Europe , 🇬🇧 United Kingdom
only
Type of the bill. This denotes whether the bill line item is to be treated as a goods or service purchase. This only need to be specified in case purchase order is not enabled. Allowed Values: digital_service, goods and service.
acquisition_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is an EU - goods purchase and acquisition VAT needs to be reported.
reverse_charge_vat_id
string
🇬🇧 United Kingdom
only
(Optional) This is the ID of the tax applied in case this is a non UK - service purchase and reverse charge VAT needs to be reported.
unit
string
Unit of the Item
tags
array
Show Sub-Attributes arrow
tag_id
long
ID of the Tag
tag_option_id
long
Id of the Tag Option
is_billable
boolean
Check if entity is Billable
project_id
string
ID of the Project
customer_id
string
ID of the Customer
item_custom_fields
array
Show Sub-Attributes arrow
custom_field_id
long
index
integer
Index of the custom field
value
string
Value of the Custom Field
label
string
Label of the Custom Field
serial_numbers
array
taxes
array
Show Sub-Attributes arrow
tax_id
string
Not applicable 🇺🇸 United States
ID of the tax or tax group applied to the line item.
tax_name
string
Name of the Tax
tax_amount
string
Amount of Tax in the Bill
notes
string
Notes for the Bill
terms
string
Terms and Conditions for the Bill
approvers
array
Show Sub-Attributes arrow
approver_id
long
ID of the Approver
order
integer
Order of the Approver

Query Parameters

attachment
File to attach. Allowed Extensions: gif, png, jpeg, jpg, bmp and pdf.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695" type: PUT headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695") .put(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("PUT", "/books/v3/bills/460000000098765?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request PUT \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "vendor_id": "460000000038029", "currency_id": "460000000000099", "vat_treatment": "string", "is_update_customer": false, "purchaseorder_ids": [ 460000000068231, 460000000068233 ], "bill_number": "00454", "documents": [ { "document_id": 0, "file_name": "string" } ], "source_of_supply": "AP", "destination_of_supply": "TN", "place_of_supply": "DU", "permit_number": "string", "gst_treatment": "business_gst", "tax_treatment": "vat_registered", "gst_no": "22AAAAA0000A1Z5", "pricebook_id": 460000000038090, "reference_number": "4321133", "date": "2013-09-11", "due_date": "2013-09-26", "payment_terms": 0, "payment_terms_label": "Due on Receipt", "recurring_bill_id": "string", "exchange_rate": 1.23, "is_item_level_tax_calc": false, "is_inclusive_tax": false, "adjustment": 0, "adjustment_description": " ", "custom_fields": [ { "index": 0, "value": "string" } ], "line_items": [ { "purchaseorder_item_id": "string", "line_item_id": "460000000067009", "item_id": "460000000054135", "name": "string", "account_id": "460000000000403", "description": "string", "rate": 10, "hsn_or_sac": 80540, "reverse_charge_tax_id": 460000000038056, "warehouse_id": 460000000038089, "quantity": 1, "tax_id": "460000000027005", "tds_tax_id": "460000000027009", "tax_treatment_code": "uae_others", "tax_exemption_id": "string", "tax_exemption_code": "string", "item_order": 1, "product_type": "string", "acquisition_vat_id": "string", "reverse_charge_vat_id": "string", "unit": "kgs", "tags": [ { "tag_id": "460000000054178", "tag_option_id": "460000000054180" } ], "is_billable": false, "project_id": "string", "customer_id": "string", "item_custom_fields": [ { "custom_field_id": 0, "index": 0, "value": "string", "label": "string" } ], "serial_numbers": [ "string" ] } ], "taxes": [ { "tax_id": "460000000027005", "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "notes": "Thanks for your business.", "terms": "Terms and conditions apply.", "approvers": [ { "approver_id": 0, "order": 0 } ] }

Response Example

{ "code": 0, "message": "Bill information has been updated.", "bill": { "bill_id": "460000000098765", "purchaseorder_ids": [ 460000000068231, 460000000068233 ], "vendor_id": "460000000038029", "vendor_name": "string", "vat_treatment": "string", "vat_reg_no": "string", "source_of_supply": "AP", "destination_of_supply": "TN", "place_of_supply": "DU", "permit_number": "string", "gst_no": "22AAAAA0000A1Z5", "gst_treatment": "business_gst", "tax_treatment": "vat_registered", "is_pre_gst": false, "pricebook_id": 460000000038090, "pricebook_name": "string", "is_reverse_charge_applied": true, "unused_credits_payable_amount": 187, "status": "open", "bill_number": "00454", "date": "2013-09-11", "due_date": "2013-09-26", "payment_terms": 0, "payment_terms_label": "Due on Receipt", "payment_expected_date": "string", "reference_number": "4321133", "recurring_bill_id": "string", "due_by_days": "string", "due_in_days": 0, "currency_id": "460000000000099", "currency_code": "INR", "currency_symbol": "string", "documents": [ { "document_id": 0, "file_name": "string" } ], "price_precision": 2, "exchange_rate": 1.23, "adjustment": 0, "adjustment_description": " ", "custom_fields": [ { "custom_field_id": 0, "index": 0, "label": "string", "value": "string" } ], "is_tds_applied": true, "is_item_level_tax_calc": false, "is_inclusive_tax": false, "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string", "is_abn_quoted": "string", "line_items": [ { "purchaseorder_item_id": "string", "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_name": "string", "reverse_charge_tax_id": 460000000038056, "reverse_charge_tax_name": "inter", "reverse_charge_tax_percentage": 10, "reverse_charge_tax_amount": 100, "description": "string", "bcy_rate": 40, "rate": 10, "tags": [ { "tag_id": "460000000054178", "tag_option_id": "460000000054180" } ], "quantity": 1, "tax_id": "460000000027005", "tds_tax_id": "460000000027009", "tax_treatment_code": "uae_others", "tax_exemption_id": "string", "tax_exemption_code": "string", "tax_name": "VAT (12.5%)", "tax_type": "tax", "tax_percentage": 0, "item_total": 40, "item_total_inclusive_of_tax": 40, "item_order": 1, "unit": "kgs", "product_type": "string", "hsn_or_sac": 80540, "acquisition_vat_id": "string", "acquisition_vat_name": "string", "acquisition_vat_percentage": "string", "acquisition_vat_amount": "string", "reverse_charge_vat_id": "string", "reverse_charge_vat_name": "string", "reverse_charge_vat_percentage": "string", "reverse_charge_vat_amount": "string", "is_billable": false, "customer_id": "string", "customer_name": "string", "project_id": "string", "project_name": "string", "invoice_id": "string", "invoice_number": "string", "item_custom_fields": [ { "custom_field_id": 0, "index": 0, "value": "string", "label": "string" } ] } ], "sub_total": 40, "tax_total": 0, "total": 40, "payment_made": 0, "vendor_credits_applied": 0, "is_line_item_invoiced": false, "purchaseorders": [ { "purchaseorder_id": "460000000068231", "purchaseorder_number": "PO-0001", "purchaseorder_date": "19 Jan 2017", "purchaseorder_status": "billed" } ], "taxes": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_total": 0.1, "reverse_charge_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "reverse_charge_vat_total": 0.1, "balance": 40, "billing_address": { "address": "string", "street2": "Suite 310", "city": "string", "state": "string", "zip": "string", "country": "string", "fax": "string", "attention": "string" }, "payments": [ { "payment_id": "460000000042059", "bill_id": "460000000098765", "bill_payment_id": "460000000042061", "payment_mode": "Cash", "payment_number": "string", "description": "string", "date": "2013-09-11", "reference_number": "4321133", "exchange_rate": 1.23, "amount": 31.25, "paid_through_account_id": "460000000000358", "paid_through_account_name": "Undeposited Funds", "is_single_bill_payment": true, "is_paid_via_print_check": false, "check_details": [ { "check_status": "string", "check_number": "string" } ], "is_ach_payment": false, "ach_payment_status": "string", "ach_gw_transaction_id": "string", "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string" } ], "vendor_credits": [ { "vendor_credit_id": "4600000053221", "vendor_credit_bill_id": "4600000211221", "vendor_credit_number": "DN-001", "date": "27 Dec 2016", "amount": 10 } ], "created_time": "2013-09-11T17:18:32+0530", "created_by_id": "4600000053001", "last_modified_time": "2013-09-11T17:18:32+0530", "reference_id": "string", "notes": "Thanks for your business.", "terms": "Terms and conditions apply.", "attachment_name": "string", "open_purchaseorders_count": 1 } }

Get a bill

Get the details of a bill.
OAuth Scope : ZohoBooks.bills.READ

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/bills/460000000098765?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "bill": { "bill_id": "460000000098765", "purchaseorder_ids": [ 460000000068231, 460000000068233 ], "vendor_id": "460000000038029", "vendor_name": "string", "vat_treatment": "string", "vat_reg_no": "string", "source_of_supply": "AP", "destination_of_supply": "TN", "place_of_supply": "DU", "permit_number": "string", "gst_no": "22AAAAA0000A1Z5", "gst_treatment": "business_gst", "tax_treatment": "vat_registered", "is_pre_gst": false, "pricebook_id": 460000000038090, "pricebook_name": "string", "is_reverse_charge_applied": true, "unused_credits_payable_amount": 187, "status": "open", "bill_number": "00454", "date": "2013-09-11", "due_date": "2013-09-26", "payment_terms": 0, "payment_terms_label": "Due on Receipt", "payment_expected_date": "string", "reference_number": "4321133", "recurring_bill_id": "string", "due_by_days": "string", "due_in_days": 0, "currency_id": "460000000000099", "currency_code": "INR", "currency_symbol": "string", "documents": [ { "document_id": 0, "file_name": "string" } ], "price_precision": 2, "exchange_rate": 1.23, "adjustment": 0, "adjustment_description": " ", "custom_fields": [ { "custom_field_id": 0, "index": 0, "label": "string", "value": "string" } ], "is_tds_applied": true, "is_item_level_tax_calc": false, "is_inclusive_tax": false, "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string", "is_abn_quoted": "string", "line_items": [ { "purchaseorder_item_id": "string", "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_name": "string", "reverse_charge_tax_id": 460000000038056, "reverse_charge_tax_name": "inter", "reverse_charge_tax_percentage": 10, "reverse_charge_tax_amount": 100, "description": "string", "bcy_rate": 40, "rate": 10, "tags": [ { "tag_id": "460000000054178", "tag_option_id": "460000000054180" } ], "quantity": 1, "tax_id": "460000000027005", "tds_tax_id": "460000000027009", "tax_treatment_code": "uae_others", "tax_exemption_id": "string", "tax_exemption_code": "string", "tax_name": "VAT (12.5%)", "tax_type": "tax", "tax_percentage": 0, "item_total": 40, "item_total_inclusive_of_tax": 40, "item_order": 1, "unit": "kgs", "product_type": "string", "hsn_or_sac": 80540, "acquisition_vat_id": "string", "acquisition_vat_name": "string", "acquisition_vat_percentage": "string", "acquisition_vat_amount": "string", "reverse_charge_vat_id": "string", "reverse_charge_vat_name": "string", "reverse_charge_vat_percentage": "string", "reverse_charge_vat_amount": "string", "is_billable": false, "customer_id": "string", "customer_name": "string", "project_id": "string", "project_name": "string", "invoice_id": "string", "invoice_number": "string", "item_custom_fields": [ { "custom_field_id": 0, "index": 0, "value": "string", "label": "string" } ] } ], "sub_total": 40, "tax_total": 0, "total": 40, "payment_made": 0, "vendor_credits_applied": 0, "is_line_item_invoiced": false, "purchaseorders": [ { "purchaseorder_id": "460000000068231", "purchaseorder_number": "PO-0001", "purchaseorder_date": "19 Jan 2017", "purchaseorder_status": "billed" } ], "taxes": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_total": 0.1, "reverse_charge_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "reverse_charge_vat_total": 0.1, "balance": 40, "billing_address": { "address": "string", "street2": "Suite 310", "city": "string", "state": "string", "zip": "string", "country": "string", "fax": "string", "attention": "string" }, "payments": [ { "payment_id": "460000000042059", "bill_id": "460000000098765", "bill_payment_id": "460000000042061", "payment_mode": "Cash", "payment_number": "string", "description": "string", "date": "2013-09-11", "reference_number": "4321133", "exchange_rate": 1.23, "amount": 31.25, "paid_through_account_id": "460000000000358", "paid_through_account_name": "Undeposited Funds", "is_single_bill_payment": true, "is_paid_via_print_check": false, "check_details": [ { "check_status": "string", "check_number": "string" } ], "is_ach_payment": false, "ach_payment_status": "string", "ach_gw_transaction_id": "string", "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string" } ], "vendor_credits": [ { "vendor_credit_id": "4600000053221", "vendor_credit_bill_id": "4600000211221", "vendor_credit_number": "DN-001", "date": "27 Dec 2016", "amount": 10 } ], "created_time": "2013-09-11T17:18:32+0530", "created_by_id": "4600000053001", "last_modified_time": "2013-09-11T17:18:32+0530", "reference_id": "string", "notes": "Thanks for your business.", "terms": "Terms and conditions apply.", "attachment_name": "string", "open_purchaseorders_count": 1 } }

Delete a bill

Delete an existing bill. Bills which have payments applied cannot be deleted.
OAuth Scope : ZohoBooks.bills.DELETE

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695" type: DELETE headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695") .delete(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("DELETE", "/books/v3/bills/460000000098765?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request DELETE \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The bill has been deleted." }

Update custom field in existing bills

Update the value of the custom field in existing bills.
OAuth Scope : ZohoBooks.bills.UPDATE

Arguments

custom_field_id
long
index
integer
Index of the custom field
label
string
Label of the Custom Field
value
string
Value of the Custom Field

Query Parameters

organization_id
(Required)
ID of the organization

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bill/460000000098765/customfields?organization_id=10234695" type: PUT headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bill/460000000098765/customfields?organization_id=10234695") .put(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/bill/460000000098765/customfields?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("PUT", "/books/v3/bill/460000000098765/customfields?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bill/460000000098765/customfields?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request PUT \ --url 'https://www.zohoapis.com/books/v3/bill/460000000098765/customfields?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
[ { "custom_field_id": 0, "index": 0, "label": "string", "value": "string" } ]

Response Example

{ "code": 0, "message": "Custom Fields Updated Successfully" }

Void a bill

Mark a bill status as void.
OAuth Scope : ZohoBooks.bills.CREATE

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/status/void?organization_id=10234695" type: POST headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/status/void?organization_id=10234695") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/status/void?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/bills/460000000098765/status/void?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/status/void?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/status/void?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The bill has been marked as void." }

Mark a bill as open

Mark a void bill as open.
OAuth Scope : ZohoBooks.bills.CREATE

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/status/open?organization_id=10234695" type: POST headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/status/open?organization_id=10234695") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/status/open?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/bills/460000000098765/status/open?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/status/open?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/status/open?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The status of the bill has been chaged to open." }

Submit a bill for approval

Submit a bill for approval.
OAuth Scope : ZohoBooks.bills.CREATE

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/submit?organization_id=10234695" type: POST headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/submit?organization_id=10234695") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/submit?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/bills/460000000098765/submit?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/submit?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/submit?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The bill has been submitted for approval successfully." }

Approve a bill

Approve a bill.
OAuth Scope : ZohoBooks.bills.CREATE

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/approve?organization_id=10234695" type: POST headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/approve?organization_id=10234695") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/approve?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/bills/460000000098765/approve?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/approve?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/approve?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Update billing address

Updates the billing address for this bill.
OAuth Scope : ZohoBooks.bills.UPDATE

Arguments

address
string
Address involved in the Bill
city
string
City in the Address
state
string
State involved in the Address
zip
string
ZIP Code involved in the Address
country
string
Country Involved in the Address
fax
string
Fax of the Vendor
attention
string
is_update_customer
boolean
Check if cutomer should be updated

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/address/billing?organization_id=10234695" type: PUT headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/address/billing?organization_id=10234695") .put(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'PUT', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/address/billing?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("PUT", "/books/v3/bills/460000000098765/address/billing?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "PUT", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/address/billing?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request PUT \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/address/billing?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "address": "string", "city": "string", "state": "string", "zip": "string", "country": "string", "fax": "string", "attention": "string", "is_update_customer": false }

Response Example

{ "code": 0, "message": "Billing address updated.", "billing_address": { "address": "string", "street2": "Suite 310", "city": "string", "state": "string", "zip": "string", "country": "string", "fax": "string", "attention": "string" } }

List bill payments

Get the list of payments made for a bill.
OAuth Scope : ZohoBooks.bills.READ

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/payments?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/payments?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/payments?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/bills/460000000098765/payments?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/payments?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/payments?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "payments": [ { "payment_id": "460000000042059", "bill_id": "460000000098765", "bill_payment_id": "460000000042061", "vendor_id": "460000000038029", "vendor_name": "string", "payment_mode": "Cash", "description": "string", "date": "2013-09-11", "reference_number": "4321133", "exchange_rate": 1.23, "amount": 31.25, "paid_through": "Petty Cash", "is_single_bill_payment": true }, {...}, {...} ] }

Apply credits

Apply the vendor credits from excess vendor payments to a bill. Multiple credits can be applied at once.
OAuth Scope : ZohoBooks.bills.CREATE

Arguments

bill_payments
array
Show Sub-Attributes arrow
payment_id
string
ID of the Payment
amount_applied
double
Amount applied to the bill.
apply_vendor_credits
array
Show Sub-Attributes arrow
vendor_credit_id
string
ID of the Vendor Credit
amount_applied
double
Amount applied to the bill.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/credits?organization_id=10234695" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/credits?organization_id=10234695") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/credits?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/books/v3/bills/460000000098765/credits?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/credits?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/credits?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "bill_payments": [ { "payment_id": "460000000042059", "amount_applied": 31.25 } ], "apply_vendor_credits": [ { "vendor_credit_id": "4600000053221", "amount_applied": 31.25 } ] }

Response Example

{ "code": 0, "message": "Credits have been applied to the bill(s).\"" }

Delete a payment

Delete a payment made to a bill.
OAuth Scope : ZohoBooks.bills.DELETE

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/payments/460000000042061?organization_id=10234695" type: DELETE headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/payments/460000000042061?organization_id=10234695") .delete(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/payments/460000000042061?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("DELETE", "/books/v3/bills/460000000098765/payments/460000000042061?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/payments/460000000042061?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request DELETE \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/payments/460000000042061?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The payment has been deleted." }

Add attachment to a bill

Attach a file to a bill.
OAuth Scope : ZohoBooks.bills.CREATE

Query Parameters

attachment
File to attach. Allowed Extensions: gif, png, jpeg, jpg, bmp and pdf.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695" type: POST headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695") .post(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("POST", "/books/v3/bills/460000000098765/attachment?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/attachment?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The document has been attached." }

Get a bill attachment

Returns the file attached to the bill.
OAuth Scope : ZohoBooks.bills.READ

Query Parameters

preview
Get the thumbnail of the attachment.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/bills/460000000098765/attachment?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/attachment?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success" }

Delete an attachment

Delete the file attached to a bill.
OAuth Scope : ZohoBooks.bills.DELETE

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695" type: DELETE headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695") .delete(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("DELETE", "/books/v3/bills/460000000098765/attachment?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/attachment?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request DELETE \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/attachment?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The attachment has been deleted." }

Add comment

Add a comment for a bill.
OAuth Scope : ZohoBooks.bills.CREATE

Arguments

description
string
(Required)
Description of the line item.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/comments?organization_id=10234695" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/comments?organization_id=10234695") .post(body) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/comments?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", 'content-type': "application/json" } conn.request("POST", "/books/v3/bills/460000000098765/comments?organization_id=10234695", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/comments?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
curl --request POST \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/comments?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "description": "string" }

Response Example

{ "code": 0, "message": "Comments added.", "comment": { "comment_id": "460000000069037", "bill_id": "460000000098765", "description": "string", "commented_by_id": "460000000053001", "commented_by": "John Roberts", "comment_type": "internal", "date": "2013-09-11", "date_description": "few seconds ago", "time": "12:09 PM" } }

List bill comments & history

Get the complete history and comments of a bill.
OAuth Scope : ZohoBooks.bills.READ

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/comments?organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/comments?organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/comments?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/bills/460000000098765/comments?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/comments?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/comments?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "comments": [ { "comment_id": "460000000069037", "bill_id": "460000000098765", "description": "string", "commented_by_id": "460000000053001", "commented_by": "John Roberts", "comment_type": "internal", "date": "17 Nov 2016", "date_description": "few seconds ago", "time": "12:09 PM", "operation_type": "Added", "transaction_id": "460000000068015", "transaction_type": "bill_payment" }, {...}, {...} ] }

Delete a comment

Delete a bill comment.
OAuth Scope : ZohoBooks.bills.DELETE

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/460000000098765/comments/460000000069037?organization_id=10234695" type: DELETE headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/460000000098765/comments/460000000069037?organization_id=10234695") .delete(null) .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/460000000098765/comments/460000000069037?organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("DELETE", "/books/v3/bills/460000000098765/comments/460000000069037?organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/460000000098765/comments/460000000069037?organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request DELETE \ --url 'https://www.zohoapis.com/books/v3/bills/460000000098765/comments/460000000069037?organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "The comment has been deleted." }

Convert PO to Bill

Create a bill for the selected purchase orders. Use the create bill call to create a bill and pass the purchaseorder_item_id field to Body parameters > line items > purchaseorder_item_id of bill field.
OAuth Scope : ZohoBooks.bills.READ

Query Parameters

purchaseorder_ids
(Required)
ID of the purchase order

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f"); response = invokeUrl [ url: "https://www.zohoapis.com/books/v3/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&organization_id=10234695" type: GET headers: headers_data connection: <connection_name> ] info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://www.zohoapis.com/books/v3/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&organization_id=10234695") .get() .addHeader("Authorization", "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f") .build(); Response response = client.newCall(request).execute();
const options = { method: 'GET', headers: { Authorization: 'Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f' } }; fetch('https://www.zohoapis.com/books/v3/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&organization_id=10234695', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("www.zohoapis.com") headers = { 'Authorization': "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } conn.request("GET", "/books/v3/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&organization_id=10234695", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "www.zohoapis.com", "port": null, "path": "/books/v3/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&organization_id=10234695", "headers": { "Authorization": "Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
curl --request GET \ --url 'https://www.zohoapis.com/books/v3/bills/editpage/frompurchaseorders?purchaseorder_ids=460000000098765&organization_id=10234695' \ --header 'Authorization: Zoho-oauthtoken 1000.41d9xxxxxxxxxxxxxxxxxxxxxxxxc2d1.8fccxxxxxxxxxxxxxxxxxxxxxxxx125f'

Response Example

{ "code": 0, "message": "success", "purchaseorder_ids": [ 460000000068231, 460000000068233, {...}, {...} ], "bill": { "bill_id": "460000000098765", "purchaseorder_ids": [ 460000000068231, 460000000068233, {...}, {...} ], "vendor_id": "460000000038029", "vendor_name": "string", "vat_treatment": "string", "vat_reg_no": "string", "source_of_supply": "AP", "destination_of_supply": "TN", "place_of_supply": "DU", "permit_number": "string", "gst_no": "22AAAAA0000A1Z5", "gst_treatment": "business_gst", "tax_treatment": "vat_registered", "is_pre_gst": false, "pricebook_id": 460000000038090, "pricebook_name": "string", "is_reverse_charge_applied": true, "unused_credits_payable_amount": 187, "status": "open", "bill_number": "00454", "date": "2013-09-11", "due_date": "2013-09-26", "payment_terms": 0, "payment_terms_label": "Due on Receipt", "payment_expected_date": "string", "reference_number": "4321133", "recurring_bill_id": "string", "due_by_days": "string", "due_in_days": 0, "currency_id": "460000000000099", "currency_code": "INR", "currency_symbol": "string", "documents": [ { "document_id": 0, "file_name": "string" } ], "price_precision": 2, "exchange_rate": 1.23, "adjustment": 0, "adjustment_description": " ", "custom_fields": [ { "custom_field_id": 0, "index": 0, "label": "string", "value": "string" } ], "is_tds_applied": true, "is_item_level_tax_calc": false, "is_inclusive_tax": false, "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string", "is_abn_quoted": "string", "line_items": [ { "purchaseorder_item_id": "string", "line_item_id": "460000000067009", "item_id": "460000000054135", "sku": "string", "name": "string", "account_id": "460000000000403", "account_name": "Other Expenses", "image_document_id": 460000000038067, "warehouse_id": 460000000038089, "warehouse_name": "string", "reverse_charge_tax_id": 460000000038056, "reverse_charge_tax_name": "inter", "reverse_charge_tax_percentage": 10, "reverse_charge_tax_amount": 100, "description": "string", "bcy_rate": 40, "rate": 10, "tags": [ { "tag_id": "460000000054178", "tag_option_id": "460000000054180" } ], "quantity": 1, "tax_id": "460000000027005", "tds_tax_id": "460000000027009", "tax_treatment_code": "uae_others", "tax_exemption_id": "string", "tax_exemption_code": "string", "tax_name": "VAT (12.5%)", "tax_type": "tax", "tax_percentage": 0, "item_total": 40, "item_total_inclusive_of_tax": 40, "item_order": 1, "unit": "kgs", "product_type": "string", "hsn_or_sac": 80540, "acquisition_vat_id": "string", "acquisition_vat_name": "string", "acquisition_vat_percentage": "string", "acquisition_vat_amount": "string", "reverse_charge_vat_id": "string", "reverse_charge_vat_name": "string", "reverse_charge_vat_percentage": "string", "reverse_charge_vat_amount": "string", "is_billable": false, "customer_id": "string", "customer_name": "string", "project_id": "string", "project_name": "string", "invoice_id": "string", "invoice_number": "string", "item_custom_fields": [ { "custom_field_id": 0, "index": 0, "value": "string", "label": "string" } ] } ], "sub_total": 40, "tax_total": 0, "total": 40, "payment_made": 0, "vendor_credits_applied": 0, "is_line_item_invoiced": false, "purchaseorders": [ { "purchaseorder_id": "460000000068231", "purchaseorder_number": "PO-0001", "purchaseorder_date": "19 Jan 2017", "purchaseorder_status": "billed" } ], "taxes": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "acquisition_vat_total": 0.1, "reverse_charge_vat_summary": [ { "tax_name": "VAT (12.5%)", "tax_amount": 1.25 } ], "reverse_charge_vat_total": 0.1, "balance": 40, "billing_address": { "address": "string", "street2": "Suite 310", "city": "string", "state": "string", "zip": "string", "country": "string", "fax": "string", "attention": "string" }, "payments": [ { "payment_id": "460000000042059", "bill_id": "460000000098765", "bill_payment_id": "460000000042061", "payment_mode": "Cash", "payment_number": "string", "description": "string", "date": "2013-09-11", "reference_number": "4321133", "exchange_rate": 1.23, "amount": 31.25, "paid_through_account_id": "460000000000358", "paid_through_account_name": "Undeposited Funds", "is_single_bill_payment": true, "is_paid_via_print_check": false, "check_details": [ { "check_status": "string", "check_number": "string" } ], "is_ach_payment": false, "ach_payment_status": "string", "ach_gw_transaction_id": "string", "filed_in_vat_return_id": "string", "filed_in_vat_return_name": "string", "filed_in_vat_return_type": "string" } ], "vendor_credits": [ { "vendor_credit_id": "4600000053221", "vendor_credit_bill_id": "4600000211221", "vendor_credit_number": "DN-001", "date": "27 Dec 2016", "amount": 10 } ], "created_time": "2013-09-11T17:18:32+0530", "created_by_id": "4600000053001", "last_modified_time": "2013-09-11T17:18:32+0530", "reference_id": "string", "notes": "Thanks for your business.", "terms": "Terms and conditions apply.", "attachment_name": "string", "open_purchaseorders_count": 1 } }