diff --git a/default_thai_company/templates/print_formats/includes/taxes.html b/default_thai_company/templates/print_formats/includes/taxes.html
index e8b75fb..105b191 100644
--- a/default_thai_company/templates/print_formats/includes/taxes.html
+++ b/default_thai_company/templates/print_formats/includes/taxes.html
@@ -3,9 +3,14 @@
ERPNext takes an Additional Discount off the items' net amounts (item.distributed_discount_amount;
a discount on Grand Total is split between net and taxes) and books each charge at
tax_amount_after_discount_amount, while upstream prints the discount as entered and the
- pre-discount tax_amount. Here: the net share of the discount, Net Total, then the charges
- as booked. A discount that is not distributed (cash / non-trade) comes off the grand total
- only, so it stays after the charges, as upstream. -#}
+ pre-discount tax_amount, so the lines do not add up to Grand Total.
+
+ Inclusive tax with a discount on Grand Total: the Total line is the tax-inclusive item total
+ and the discount is printed as entered; Total After Discount is then broken down into
+ Net Total and the charges. Otherwise the Total line is the net before the discount, so the
+ discount is its net share, followed by Net Total and the charges. A discount that is not
+ distributed (cash / non-trade) comes off the grand total only and stays after the charges,
+ as upstream. -#}
{%- macro amount_row(label, value) -%}
@@ -20,11 +25,16 @@
{{ frappe.format_value(value, {"fieldtype": "Currency", "options": "currency"}, doc) }}
{%- endmacro -%}
{%- set net_discount = doc.get("items")|map(attribute="distributed_discount_amount")|select|sum -%}
+{%- set gross_discount = net_discount and doc.apply_discount_on == "Grand Total" and doc.flags.show_inclusive_tax_in_print -%}
- {%- if net_discount -%}
+ {%- if gross_discount -%}
+ {{ amount_row(_(doc.meta.get_label("discount_amount")), "- " ~ doc.get_formatted("discount_amount", doc)) }}
+ {{ amount_row(_("Total After Discount"), currency(doc.total - doc.discount_amount)) }}
+ {{ amount_row(_(doc.meta.get_label("net_total")), doc.get_formatted("net_total", doc)) }}
+ {%- elif net_discount -%}
{{ amount_row(_(doc.meta.get_label("discount_amount")), "- " ~ currency(net_discount)) }}
{{ amount_row(_(doc.meta.get_label("net_total")), doc.get_formatted("net_total", doc)) }}
{%- endif -%}
diff --git a/default_thai_company/templates/print_formats/includes/total.html b/default_thai_company/templates/print_formats/includes/total.html
index ecd8bcc..1facbd6 100644
--- a/default_thai_company/templates/print_formats/includes/total.html
+++ b/default_thai_company/templates/print_formats/includes/total.html
@@ -1,14 +1,16 @@
-{#- ERPNext's templates/print_formats/includes/total.html, except that with inclusive tax the
- "Total (Without Tax)" line is the net total before the Additional Discount: net_total already
- has the discount's net share (item.distributed_discount_amount) taken off, and the taxes
- include prints that share and Net Total right below this line. -#}
+{#- ERPNext's templates/print_formats/includes/total.html, paired with the taxes include:
+ with inclusive tax and a discount on Grand Total the Total line is the tax-inclusive item
+ total (the discount is printed as entered below it); with inclusive tax otherwise it is
+ the net before the Additional Discount, since net_total already has the discount's net
+ share (item.distributed_discount_amount) taken off. -#}
+{%- set net_discount = doc.get("items")|map(attribute="distributed_discount_amount")|select|sum -%}
+{%- set gross_discount = net_discount and doc.apply_discount_on == "Grand Total" and doc.flags.show_inclusive_tax_in_print -%}
- {% if doc.flags.show_inclusive_tax_in_print %}
- {%- set before_discount = doc.net_total + (doc.get("items")|map(attribute="distributed_discount_amount")|select|sum) -%}
+ {% if doc.flags.show_inclusive_tax_in_print and not gross_discount %}
diff --git a/default_thai_company/translations/th.csv b/default_thai_company/translations/th.csv
index fd179e4..dda2a59 100644
--- a/default_thai_company/translations/th.csv
+++ b/default_thai_company/translations/th.csv
@@ -50,6 +50,7 @@ Amount,จำนวนเงิน
Total,รวม
Total (Without Tax),รวมก่อนภาษี
Net Total,ยอดรวมสุทธิ
+Total After Discount,ยอดรวมหลังหักส่วนลด
Total Taxes and Charges,รวมภาษีและค่าธรรมเนียม
Grand Total,ยอดรวมทั้งสิ้น
Rounded Total,ยอดรวมปัดเศษ