Set Terms and Conditions for certain doctype

Is there a way i can set the default terms and conditions for Sales Invoices? But for Sales Orders, i want a different terms and conditions… so can I set it in the Sales Invoice doctype? I tried to do so, but with no luck.



  1. Go to Sales Invoice > Customize Form
  2. Navigate to the Terms and Condition field
  3. In the default section add the name of the terms template you want to populate as default
  4. Update and then reload the sales invoice document. On creating a new invoice, the selected terms populates by default.

Repeat the same steps with Sales Order in customize form

Thanks… Yes, i have it set up exactly as you have shown, but still it shows a different template. I wonder if the default template takes precedence over this?


What’s the default template you’re referring to? Can you share some screenshots of what’s setup v/s what is the result?

Hi… sorry. My default template I set is in Accounts > Company > Default Terms

But ONLY on the Sales Invoices form I want a different Terms and Conditions "Sales Invoice Terms and Conditions… so I customized the Sales Invoice Form and on the “Terms” line set the default to “Sales Invoice Terms and Conditions”, but it still opens with Standard Terms and Conditions.


Thank you.


I think I see what is happening. So I have the code in there for the default Terms and Conditions I want for the Sales Order, but when I create a new Sales Order, it puts in the the correct Sales Invoice Terms and Conditions, but then switches to Standard Terms and Conditions as the code runs… I saw it switch automatically… I wonder if there is a way to disable that.

I also tried to remove the default company Terms and Condititions, but then when I create a new Sales Order, it does populate the Terms with the correct Terms and Condidtions, but then does not update the Terms and Conditions Details text area below it…

Still struggling on how to implement.


I ended up deleting the Company > Default > Terms and Conditions so that it wouldn’t populate just a single terms and conditions. And then created a custom script on each of the forms that I needed to populate the Terms with and added this code:

cur_frm.cscript.custom_onload = function(doc) {
default_value = “The terms and conditions template you want to load on the form”;
cur_frm.set_value(“tc_name”, default_value);

Hope this helps someone.