Kaizen #53 - Sales Orders #API

Kaizen #53 - Sales Orders #API

Hello everyone!
Welcome back to another week of Kaizen.
In this post, we will discuss inserting, updating, and deleting a Sales Order via an API.

What is a Sales Order?
A Sales Order is a document sent to your customers to confirm the items and prices of a sale. It is usually created after a quote is accepted by your customers, and your items are ready to be shipped or delivered to them.

Getting a Sales Order
Use the Get Records API to get the record(s) from the Sales Order module.

Request URL: {api-domain}/crm/v2/Sales_Orders (or)
                        {api-domain}/crm/v2/Sales_Orders/ {record_id}
Request Method: GET

Sample Response



Creating a Sales Order
Use the Insert Records API to insert a record in the Sales Order module.

Request URL: {api-domain}/crm/v2/Sales_Orders
Request Method: POST

Sample Input

{
    "data": [
        {
            "Account_Name": {
                "id": "3652397000000624046"
            },
            "Subject": "SO Kaizen 53",
            "Product_Details": [
                {
                    "product": {
                        "id": "3652397000000416001"
                    },
                    "quantity": 10,
                    "Discount": 20,
                    "Unit Price": 1000,
                    "line_tax": [
                        {
                            "percentage": 10,
                            "name": "Sales Tax"
                        },
                        {
                            "percentage": 1,
                            "name": "VAT"
                        }
                    ]
                }
            ]
        }
    ]
}

Request JSON

Key 
Description
Account_Name
Mandatory, JSON object
The record ID of the account you want to associate the sales order with. Use the Get Records API to fetch the Account_Name.
Subject
Mandatory, string
The subject line of your sales order.
Product_Details
Mandatory, JSON array
An array of details of the product you want to generate the sales order for. For more details on the keys inside this array, refer to our post on Handling product line items in the inventory modules.
Owner
Optional, JSON object
The record ID of the owner you want to assign this sales order record to. Use the Get Users API to fetch the owner's details.
Deal_Name
Optional, JSON object
The record ID of the deal you want to associate with this sales order. Use the Get Records API to fetch the Deal_Name.
Quote_Name
Optional, JSON object
The record ID of the quote that is associated with the sales order.
Contact_Name
Optional, JSON object
The record ID of the contact you want to associate with the sales order. Use the Get Records API to fetch the Contact_Name.
Discount
Optional, integer
The discount you want to offer on the sales order.
Description
Optional, string
A description of the sales order.
Customer_No
Optional, string
The customer number that you are generating the sales order for. This is for your own internal reference.
Tax
Optional, integer
The tax you want to apply for the sales order (this is different from the tax inside the product details section, which pertains to the taxes levied on that product).
Carrier
Optional, string
The name of the carrier that will ship the sales order. You can get the possible values through the Fields Metadata API.
Sales_Commission
Optional, integer
The commission that is applicable for the sale.
Due_Date
Optional, string
The date in the yyyy-mm-dd format on which the sales order is due.
Adjustment
Optional, integer
The adjustment in the sale, if any, that is added to the grand total of that product.
Terms_and_Conditions
Optional, string
The terms and conditions of the sales order, if any.
Excise_Duty
Optional, integer
The excise duty levied on the sale of the product, if any.
$line_tax
Optional, JSON array
The tax that you want to apply to the Sub Total of the line items while generating the sales order. For more details,  refer to Handling product line items in the inventory modules.
Status
Optional, string
The status of the sales order. You can get the possible values through the Fields Metadata API.

Apart from the above keys, you can also specify the keys about the billing and shipping details. Go to Setup > Developer Space > APIs > API Names > Sales Orders to know the API names of these fields. You can also use the Fields Metadata API.

Sample Response



Note
  • You can insert a maximum of 100 sales orders in an API call.
  • You can associate up to 200 products with a sales order. Add a JSON object for each product in the Product_Details section.

Updating a Sales Order
Use the Update Records API to update the record(s) in the Sales Order module.

Request URL: {api-domain}/crm/v2/Sales_Orders/record_id (or)
{api-domain}/crm/v2/Sales_Orders (with record IDs in the input body)
Request Method: PUT

Sample Input
In this example, we have updated the product associated with the sales order.



Sample Response



Note
  • You can update a maximum of 100 sales orders in an API call. 
  • When you update multiple sales orders in a single call, pass the record ID of each sales order in the JSON object under the root key "data". Example:
    {
        "data": [
            {
    "id":"3652397000002791035",
            },
            {
    "id":"3652397000002791004",
            }
        ]
    }

Deleting a Sales Order
Use the Delete Records API to delete the record(s) in the Sales Order module.

Request URL: {api-domain}/crm/v2/Sales_Orders/{record_id} (or)
                         {api-domain}/crm/v2/Sales_Orders?ids=record_id1,record_id2
Request Method: DELETE

Sample Response



Note
You can delete a maximum of 100 sales orders in a single API call.


We hope you found this post useful. Let us know your questions and feedback in the comments section, or write to us at support@zohocrm.com.

Cheers!





    • Sticky Posts

    • Kaizen #197: Frequently Asked Questions on GraphQL APIs

      🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Kaizen #198: Using Client Script for Custom Validation in Blueprint

      Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Celebrating 200 posts of Kaizen! Share your ideas for the milestone post

      Hello Developers, We launched the Kaizen series in 2019 to share helpful content to support your Zoho CRM development journey. Staying true to its spirit—Kaizen Series: Continuous Improvement for Developer Experience—we've shared everything from FAQs
    • Kaizen #193: Creating different fields in Zoho CRM through API

      🎊 Nearing 200th Kaizen Post – We want to hear from you! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Client Script | Update - Introducing Commands in Client Script!

      Have you ever wished you could trigger Client Script from contexts other than just the supported pages and events? Have you ever wanted to leverage the advantage of Client Script at your finger tip? Discover the power of Client Script - Commands! Commands
    • Recent Topics

    • Verifying Zoho Mail Functionality After Switching DNS from Cloudflare to Hosting Provider

      I initially configured my domain's (https://roblaxmod.com/) email with Zoho Mail while using Cloudflare to manage my DNS records (MX, SPF, etc.). All services were working correctly. Recently, I have removed my site from Cloudflare and switched my domain's
    • Zoho Analytics Regex Support

      When can we expect full regex support in Zoho Analytics SQL such as REGEXP_REPLACE? Sometimes I need to clean the data and using regex functions is the easiest way to achieve this.
    • Change of Blog Author

      Hi, I am creating the blog post on behalf of my colleague. When I publish the post, it is showing my name as author of the post which is not intended and needs to be changed to my colleague's name. How can I change the name of the author in the blogs?? Thanks, Ramanan
    • Show Attachments in the customer portal

      Hi, is it possible to show the Attachments list in the portal for the particular module? Bests.
    • Does Zoho Docs have a Line Number function ?

      Hi, when collaborating with coding tasks, I need an online real time share document that shows line numbers. Does Zoho's docs offer this feature ? If yes, how can I show them ? Regards, Frank
    • Please make it easier to Pause syncing

      right now it takes 3 clicks to get there. sounds silly, but can you make it just 2 clicks to get it done instead? thats how dropbox does it, 2 clicks to pause instead of 3.
    • Feature Request - Insert URL Links in Folders

      I would love to see the ability to create simple URL links with titles in WorkDrive. or perhaps a WorkDrive extension to allow it. Example use case: A team is working on a project and there is project folder in WordDrive. The team uses LucidChart to create
    • Organization Emails in Email History

      How can I make received Org Emails to show up here?
    • how to differentiate if whatsapp comes from certain landing page?

      I create a Zobot in SalesIQ to create a Whatsapp bot to capture the lead. I have 2 landing pages, one is SEO optimized and the other want is optimized for leads comes from Google Ads. I want to know from which landing page this lead came through WhatsApp
    • How to sync from Zoho Projects into an existing Sprint in Zoho Sprints?

      Hi I have managed to integrate Zoho Projects with Zoho Sprints and I can see that the integration works as a project was created in Zoho Sprints. But, what I would like to do is to sync into an existing Zoho Sprints project. Is there a way to make that
    • How to record company set up fees?

      Hi all, We are starting out our company in Australia and would appreciate any help with setting up Books accounts. We paid an accountant to do company registration, TFN, company constitution, etc. I heard these all can be recorded as Incorporation Costs, which is an intangible asset account, and amortised over 5 years. Is this the correct way to do it under the current Australian tax regulations? How and when exactly should I record the initial entry and each year's amortasation in Books? Generally
    • How to create a drop down menu in Zoho Sheets

      I am trying to find out, how do I create a drop down option in Zoho sheet. I tried Data--> Data Validation --> Criteria --> Text  --> Contains. But that is not working, is there any other way to do it.  Thanks in Advance.
    • Show Payment terms in Estimates

      Hi,  we are trying to set up that estimates automatically relates payment terms for the payment terms we introduced on Edit contact (Field Payment terms).  How can it be done? Our aim is to avoid problems on payment terms introduced and do not need to introduce it manually on each client (for the moment we are introducing this information on Terms and Conditions.  Kind Regards, 
    • Rich-text fields in Zoho CRM

      Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
    • How can I calculate the physical stock available for sale?

      Hey Zoho Team,  I've tried to calculate the physical stock on hand in various ways - but always receive a mismatch between what's displayed in Zoho Inventory & analytics.  Can you please let me know how the physical stock available for sale is calculated?
    • When dispatched to crew, assigning lead missing

      Hello, For the past two or three weeks, whenever an officer assigns Service Appointment to a team, the lead person is missing from the assigned service list. Therefore, we have to reschedule the SA and then the lead person becomes visible in the assigned
    • Create Lead Button in Zoho CRM Dashboard

      Right now to create Leads in the CRM our team is going into the Lead module, selecting the "Create Lead" button, then building out the lead. Is there anyway to add the "Create Lead" button or some sort of short cut to the Zoho CRM Dashboard to cut out
    • open word file in zoho writer desktop version

      "How can I open a Microsoft Word (.doc or .docx) file in Zoho Writer if I only have the file saved on my computer and Zoho Writer doesn't appear as an option when I try 'Open with'? Is there a way to directly open the .doc file in Zoho Writer?"
    • I want to transfer the project created in this account to another account

      Dear Sir I want to transfer the project created in one account to another account
    • Inactive User Auto Response

      We use Zoho One, and we have a couple employees that are no longer with us, but people are still attempting to email them. I'd like an autoresponder to let them no the person is no longer here, and how they can reach us going forward. I saw a similar
    • Weekly Tips : Customize your Compose for a smoother workflow

      You are someone who sends a lot of emails, but half the sections in the composer just get in your way — like fields you never use or sections that clutter the space. You find yourself always hunting for the same few formatting tools, and the layout just
    • Zoho Slowness - Workarounds

      Hi all, We've been having intermittent slowness and Zoho just asks for same stuff each time but never fix it. It usually just goes away on it's own after a couple weeks. Given that speed is a very important thing for companies to be able to keep up with
    • Custom Bulk Select Button

      Zoho CRM offers the ability to select multiple records and invoke a Custom Button This functionality is missing from Recruit Currently we can only add buttons in the detail page and list But we cannot select Multiple Records and invoke a function with
    • How to create a Zoho CRM report with 2 child modules

      Hi all, Is it possible to create a Zoho CRM report or chart with 2 child modules? After I add the first child module, the + button only adds another parent module. It won't let me add multiple child modules at once. We don't have Zoho Analytics and would
    • Zoho CRM still doesn't let you manage timezones (yearly reminder)

      This is something I have asked repeatedly. I'll ask once again. Suppose that you work in France. Next month you have a trip to Guatemala. You call a contact there, close a meeting, record that meeting in CRM. On the phone, your contact said: "meet me
    • Power of Automation :: Smart Ticket Management Between Zoho Desk and Projects

      Hello Everyone, A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate
    • First day of trying FSM in the field.

      What we found. 1. with out a network connection we were unable to start a service call? 2. if you go to an appointment and then want to add an asset it does not seem possible. 3. disappointed not to be able to actually take a payment from within the app
    • BUG - Google Business Buttons - Add a button to GBP Post

      I am experiencing an issue with the "Add a button" feature when creating posts for my Google Business Profile (GBP) through Zoho Social. When I schedule or publish a GBP post and include a call-to-action button with a specific URL, the post itself publishes
    • Rich text Merge field - Not using font specified in HTML

      I have a rich text merge field in a writer template which is creating a table. I have chosen to use this method instead of a repeat region because I need to specify specific cell background colours which change every time the document is created. The
    • Support for Custom Fonts in Zoho Recruit Career Site and Candidate Portal

      Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to use custom fonts in the Zoho Recruit Career Site and Candidate Portal. Currently only the default fonts (Roboto, Lato, and Montserrat) are available. While these
    • CC and/or BCC users in email templates

      I would like the ability to automatically assign a CC and BCC "User (company employee)" into email templates. Specifically, I would like to be able to add the "User who owns the client" as a CC automatically on any interview scheduled or candidate submitted
    • Trying to export a report to Excel via a deluge script

      I have this code from other posts but it gives me an error of improper statement, due to missing ; at end of line or incomplete expression. Tried lots of variations to no avail. openUrl(https://creatorapp.zoho.com/<username>/<app name>/XLSX/#Report:<reportname>,"same
    • Zoho Reports Duplicating Entries

      I have a custom costing tab with a table where we entre invoices. These are under a Heading (PO Subject) and notes added in the form with different line items. In the reports, I have organised the report to group per PO Subject, with the total of the
    • Need help to create a attach file api

      https://www.zoho.com/crm/developer/docs/api/v8/upload-attachment.html Please help me to create it... It's not working for while. Do you have some example?
    • Export view via deluge.

      Hi, Is it possible to export a view (as a spreadsheet) via deluge? I would like to be able to export a view as a spreadsheet when a user clicks a button. Thanks     
    • how to add subform over sigma in the CRM

      my new module don't have any subform available any way to add this from sigma or from the crm
    • Outdated state in mexico

      Hello Zoho team, the drop down to add the state for customers, when they introduce their state in mexico has a city named “Distrito Federal” that name changed many years ago to “ciudad de mexico”. could you please update this so my clients can find the
    • Support new line in CRM Multiline text field display in Zoho Deluge

      Hi brainstrust, We have a Zoho CRM field which is a Muti Line (Small) field. It has data in it that has a carriage return after each line: When I pull that data in via Deluge, it displays as: I'm hoping a way I can change it from: Freehand : ENABLED Chenille
    • Possible to generate/download Quote PDF using REST API?

      See title. Is there any way after a quote has been created to export to a PDF using a specified template and then download it? Seems like something that should be doable. Is this not supported in the API v2.0?
    • Creating an invoice to be paid in two installments?

      Hi there, I own a small Photographic Services business and have not been able to find a way to fit my billing system into Zoho, or any other Accounting software. The way my payments work is: 1. Customer pays 50% of total price of service to secure their
    • Next Page