Updating an Invoice Line Item's Discount Account via API Call / Deluge Custom Function

Updating an Invoice Line Item's Discount Account via API Call / Deluge Custom Function

I need help updating an invoice line item's discount account via API. Below is a screenshot of the line item field I am referring to.

Now the field to the left of the highlighted field (discount account) is the sales income account. I am able to modify the sales income account via API completely fine.

I have a custom field called "Sales Account" with four options: Direct, Retail, Event, House Account, and Subscription. This field is in the invoices module.

This workflow has no criteria and immediately triggers the custom function "update_income_accounts," which fetches the invoice's "Sales Account" field value and runs through a series of if/else statements to determine the correct account ID for the sub-accounts nested under the main chart of accounts sales income account.


We're trying to automate updating the sales account association for all invoice line items by running this custom function.

So far, it works perfectly, except for the line item discount account. I can't get the invoice to reflect any changes to the discount account.


Below is the Zoho Books Custom Function I am using that works to update the Sales Income account but fails to reflect any change to the Discount account

  1. sales_account_value = "";
  2. account_id = "";
  3. discount_id = "";
  4. for each  custom_field in invoice.get("custom_fields")
  5. {
  6. if(custom_field.get("field_id") == "4366441000017151041")
  7. {
  8. sales_account_value = custom_field.get("value_formatted");
  9. }
  10. }
  11. if(sales_account_value == "Direct")
  12. {
  13. account_id = "4366441000017139067";
  14. discount_id = "4366441000036176472";
  15. }
  16. else if(sales_account_value == "Retail")
  17. {
  18. account_id = "4366441000017139058";
  19. discount_id = "4366441000036176510";
  20. }
  21. else if(sales_account_value == "Event")
  22. {
  23. account_id = "4366441000017134275";
  24. discount_id = "4366441000036176506";
  25. }
  26. else if(sales_account_value == "House Account")
  27. {
  28. account_id = "4366441000036176498";
  29. discount_id = "4366441000036176502";
  30. }
  31. else if(sales_account_value == "Subscription")
  32. {
  33. account_id = "4366441000041000009";
  34. discount_id = "4366441000041000015";
  35. }
  36. invoice_ID = invoice.get("invoice_id");
  37. line_items = Map();
  38. url = "https://www.zohoapis.com/books/v3/invoices/" + invoice_ID + "?organization_id=HIDDEN_FOR_HELP";
  39. invoice_details = invokeurl
  40. [
  41. url :url
  42. type :GET
  43. connection:"HIDDEN_FOR_HELP"
  44. ];
  45. line_items = invoice_details.get("invoice").get("line_items");
  46. item_to_update = List();
  47. for each  item in line_items
  48. {
  49. line_item_map = Map();
  50. line_item_map.put("line_item_id",item.get("line_item_id"));
  51. line_item_map.put("account_id",account_id);
  52. // set discount account via the discounts array
  53. discount_details = item.get("discounts");
  54. info discount_details;
  55. discounts_list = List();
  56. one_discount = Map();
  57. one_discount.put("discount_order",discount_details.get(0).get("discount_order"));
  58. one_discount.put("discount_amount",discount_details.get(0).get("discount_amount"));
  59. one_discount.put("discount_percent",discount_details.get(0).get("discount_percent"));
  60. one_discount.put("discount_account",discount_id);
  61. discounts_list.add(one_discount);
  62. line_item_map.put("discount_account_id",discount_id);
  63. line_item_map.put("discounts",discounts_list);
  64. item_to_update.add(line_item_map);
  65. info discounts_list;
  66. }
  67. info item_to_update;
  68. update_payload = Map();
  69. update_payload.put("line_items",item_to_update);
  70. update_invoice = invokeurl
  71. [
  72. url :url
  73. type :PUT
  74. parameters:update_payload.toString()
  75. connection:"HIDDEN_FOR_HELP"
  76. ];

    • Recent Topics

    • Is there a way to sell in a practical method multiple subscriptions of the same product? i.e. domain names

      In evaluating Zoho Billing, a hurdle to adopting it is that Zoho Billing does not seem designed to support businesses that sell multiple subscriptions of the same product. In our case, we need to sell and manage several domain names per client. Am I right
    • Update P_Leave: code: 7052 "Employee_ID": "Enter Employee ID"

      Hi, Zoho People - Update Leaves Can someone assist? ------------------------------------------------------------------------------------------ col = Collection(); col.insert("recordid":id); col.insert("Date_Check_Approval":zoho.currentdate); info zoho.people.update("P_Leave",col.toMap());
    • Zoho Desk Ticket SLA Level

      Hello, we have 2 levels of SLA escalation for our Tickets. Is there a way to display on the ticket information the level of SLA escalation the ticket currently on? I am aware that we can see in the ticket history the level of escalation that has been
    • Can't change form's original name in URL

      Hi all, I have been duplicating + editing forms for jobs regarding the same department to maintain formatting + styling. The issue I've not run into is because I've duplicated it from an existing form, the URL doesn't seem to want to update with the new
    • Can't rename groups on Mac desktop app

      I'm working on an up-to-date Mac with a freshly downloaded Notebook app. I'm trying to rename a group within a notebook. Here I have, left to right, a note, a group, and a note. I select the group. On the top left, I select Action. On the dropdown, "Rename"
    • Custom CSS for Zoho CRM Team Bookings embeded widget

      Hello, we are adding Zoho CRM Team Bookings (crm.zoho.com) in our public website. We know that we can change Theme Color, Font Color and Background Color: Zoho CRM Booking Styling But is it possible to change other CSS attributes e.g. Font Family, like
    • Strange behavior in CRM Number Field – Characters allowed but not "e"?

      Hi everyone, Has anyone faced this strange issue in Zoho CRM? In a Number field, it is possible to type some characters, but the character "e" cannot be entered. This was really surprising to me. Normally, a number field should restrict all characters
    • Best Way to Manage Approvals Within Blueprint Stages?

      Hi, I am working on a requirement involving Blueprint and approval logic in Zoho CRM and would appreciate some guidance. I understand that approval processes do not trigger when a record is currently within a blueprint, which makes it challenging to implement
    • Marketing Tip #25: Grow your social presence with a simple posting routine

      Consistency is one of the biggest growth drivers on social media. Regular content keeps your store visible and helps customers remember you. Even 3–4 posts a week can build momentum over time. The easiest way to stay consistent is to stop trying to create
    • How to add "All Open AND Overdue" back to the Home Page Task Component?

      Hi everyone, I’m looking for a way to restore the Tasks component dropdown list on the Zoho CRM Home Page. Since the recent update to the Task area in my Home Page Classic View, the dropdown options (e.g., My Next 7 Days + Overdue) are too restrictive
    • Duplicate Leads Concerns with Round Robin and Lead Approval Process

      It is great to have the Duplicate Lead Approval Process,  there are a few issues with the process that I would greatly appreciate taken consideration in enhancing. It appears that A Lead comes in Lead owner assigned by the Round Robin Check for Duplicate, If the lead is a Duplicate the Lead owner gets an email of a duplicate needs approval email assign to the approval process      This causes problems, The duplicate approval process is done by a different level person, they do not get the email notification
    • Dashboard target enhancements

      Often individuals in IT are creating dashboards for their sales team. The ability to create a single dashboard that can be used by multiple people is key. A components for a dashboard have the ability to filter by logged in user which is great. However
    • How to update "Lead Status" to more than 100 records

      Hello Zoho CRM, How do I update "Lead Status" to more than 100 records at once? To give you a background, these leads were uploaded or Imported at once but the lead status record was incorrectly chosen. So since there was a way to quickly add records in the system no matter how many they are, we are also wondering if there is a quicker way to update these records to the correct "Lead Status". I hope our concern makes sense and that there will be a fix for it. All the best, Jonathan
    • Finding rhythm through poetry

      Poetry has long been a powerful form of expression, discovery, and reflection. For many, it is a way to pen down their thoughts and experiences. The "poetic license" allows writers to shape their words with rhythm and flow. This year, on World Poetry
    • Bring your own credentials (BYOC) for connections in Zoho Creator

      Hello everyone, We're excited to announce an important step forward in how integrations and authentications work in Zoho Creator. Zoho Creator is a versatile platform for integrations, enabling you to connect with thousands of third-party services using
    • CRM x WorkDrive: File storage for new CRM signups is now powered by WorkDrive

      Availability Editions: All DCs: All Release plan: Released for new signups in all DCs. It will be enabled for existing users in a phased manner in the upcoming months. Help documentation: Documents in Zoho CRM Manage folders in Documents tab Manage files
    • Project Management Bulletin: March, 2026

      We are passionate about equipping our users with efficient solutions that help them run their businesses successfully. Our collective efforts over the past 2 years have culminated in the launch of Sprints 3.0— built with reliable features, impactful integrations,
    • Composite items inside of composite items; bill of materials needed

      Hi Zoho and Everyone, I am evaluating whether Zoho Inventory will work for my small business. I grow and harvest herbs and spices but also get from wholesalers. I use all these items to make herbal teas, but also sell them as individual items on my Shopify store and Etsy. I discovered the composite item bundling and am wondering if I could get some assistance since there is no bill of materials: Our herbal company's best selling tea is a sleepytime tea. Sleepytime Tea can be purchased in three weights
    • Automation Series: Sync Task Status with Zoho Desk Tickets

      In Zoho Projects, you can automatically close and reopen an associated Zoho Desk ticket when the status of a task is changed. This syncs the current state of the task with the support ticket without manual updates. For instance, a support team handling
    • Auto-Generate Line Numbers in Item Table Using HTML & CSS Counters (Zoho Books & Zoho Inventory Custom Templates)

      <div> <style> /* Start counter from 0 inside tbody */ tbody#lineitem { counter-reset: rowNumber; } /* Increment counter for each row */ tbody#lineitem tr { counter-increment: rowNumber; } /* Show counter value in first column */ tbody#lineitem tr td:first-child::before
    • Does zoho inventory need Enterprise or Premium subsrciption to make Widgets.

      We have Zoho One Enterprise and yet we can't create widgets on inventory.
    • Introducing Radio Buttons and Numeric Range Sliders in Zoho CRM

      Release update: Currently out for CN, JP, AU and CA DCs (Free and standard editions). For other DCs, this will be released by mid-March. Hello everyone, We are pleased to share with you that Zoho CRM's Layout Editor now includes two new field formats—
    • New UI for Writer - Disappointed

      I've been enjoying Zoho Writer as a new user for about 6 months, and I really like it. One of my favorite things about it is the menu bar, which you can hide or leave out while still seeing most of your page because it is off to the left. I think this
    • Zoho CAMPAIGNS working hours

      Hi I use Campaigns Automation workflows to automate follow-ups to my Leads. I discovered this weekend that emails are being sent out on Sundays. How do I limit my Campaigns outgoing emails to business working hours? This is very important! Thanks, D
    • Depositing funds to account

      Hello, I have been using Quickbooks for many years but am considering moving to Zoho Books so I am currently running through various workflows and am working on the Invoicing aspect. In QB, the process is to create an invoice, receive payment and then
    • Create Receipt of a Donation (not a sale)

      We are a non-profit organization that receives general donations. How do I create a receipt of payment for the donor and categorize the payment as a Gift? I tried the method of creating an invoice; however that automatically created a "Sales" transaction
    • Function #2: Create a Deal in Zoho CRM when an Estimate is created in Zoho Books

      For those who use Zoho CRM integrated with Zoho Books, here's a nifty function that helps you optimize your sales process by adding a Deal in Zoho CRM whenever an estimate is created in Zoho Books. Custom Function: To create the custom function, go to
    • New Custom View -Sorting the Custom fields

      While creating a New Custom View in invoice , Customers, Bills ,expense etc , the sorting of custom fields are not available , a query function "order by / sort by  " may also be included in  Define new criteria module  which will be more beneficial to
    • Grouping Undeposited Funds to Move to other accounts

      In the bank option it would be nice to check what transactions in undeposited funds I want to move to other accounts. Then while checking this it can accumulate totals and created whats essentially a deposit slip. Once the transaction is moved it should
    • Sync your CRM Tasks with Zoho Projects

      Zoho Projects integration with Zoho CRM helps you manage your tasks more efficiently. You can create all project related activities right inside your CRM using this integration. Create new portal or associate an existing portal, add projects to the portal,
    • Zoho CRM strips whitespace in text fields

      When editing field text with multiple spaces: CRM - both UI and API trim / compress the whitespace to a single space when saving: Is this known / expected / documented behaviour?
    • WorkDrive API returning empty response even after placing file in Team Folder

      Hi everyone, I am trying to fetch a file from Zoho WorkDrive using a Deluge standalone function in Zoho People. The API call executes successfully using a configured connection, but the response is coming back empty. I have verified the following: The
    • Custom Button makes scroll bar go down in report

      I have a report with a Custom button called Completed. A colleague mentionned to me that when he pressed this custom button it scrolled down the page which is annoying since he want to stay at the same space on the repoort. There is no reload linked to
    • Quickbooks Integrations Stopped Working

      All of our Quickbooks integrations have stopped working. I am checking in to see if: a) this is a known issue b) if anyone else is having this issue. As usual, Zoho support is unavailable.
    • sync two zoho crm

      Hello everyone. Is it possible to sync 2 zoho crm? what would be the easiest way? I am thinking of Flow. I have a Custom Module that I would like to share with my client. We both use zoho crm. Regards.
    • CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users

      Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
    • Incorrect Functioning of Time Logs API (Version 3)

      We need to fetch the list of time logs for each task for our company internal usage. We are trying to achieve it by using the next endpoint: https://projects.zoho.com/api-docs#bulk-time-logs#get-all-project-time-logs Firstly, in the documentation the
    • Zoho CRM Queries Now Support Databases and Cloud Data Sources

      Hello everyone! We're thrilled to announce a major enhancement to the Queries feature in Zoho CRM! Queries now support a broader range of external data sources, allowing you to fetch live data and combine it with CRM records, all using a unified query
    • Salesforceに添付ファイルを格納したい

      お世話になっております。 Salesforceに添付ファイルを格納したく、カスタムオブジェクトに連携し、 「ファイルのアップロード」項目を設けました。 実際、エラーもなく送信出来たのですが、実際生成されたカスタムオブジェクトのレコードを見ると、どこにも添付ファイルがありません。仕様として、この添付ファイルはSalesforceのどこに格納されるのでしょうか? 今回作りたいフォームは、複数の書類を添付するため、Zohoformのファイルアップロード項目「本人確認書類」「源泉徴収票」などの項目を、Salesforce側にも設けた「本人確認書類」「源泉徴収票」という各項目にURLリンクとして紐づけたいと思っておりました。
    • Dynamic image in form works in the app but not on the customer portal.

      img = frm_Fichas[ID == input.Nombre].Foto; imgno = Nophoto[ID2 = 1].Image; if(len(img) > 1) { img = img.replaceAll("/sharedBy/appLinkName/",zoho.appuri); img = img.replaceAll("viewLinkName","Fichas_de_personal_public"); img = img.replaceAll("fieldName","Foto");
    • Next Page