From 18db702655a0523e4c317e75d5694a7cf002f1b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CDallas=E2=80=9D?= Date: Tue, 4 Jul 2023 09:44:25 +0000 Subject: [PATCH] [IMP] accounting: move cash discount tax reduction to payment term task-3211595 closes odoo/documentation#5260 X-original-commit: ceda988a2912845fe941b134fbd9780058554c71 Signed-off-by: Xavier Platteau (xpl) Signed-off-by: Dallas Dean (dade) --- .../customer_invoices/cash_discounts.rst | 133 +++++++++--------- .../cash_discounts/payment-terms.png | Bin 13653 -> 16274 bytes .../customer_invoices/payment_terms.rst | 48 +++---- .../payment_terms/configuration.png | Bin 8393 -> 5153 bytes 4 files changed, 89 insertions(+), 92 deletions(-) diff --git a/content/applications/finance/accounting/customer_invoices/cash_discounts.rst b/content/applications/finance/accounting/customer_invoices/cash_discounts.rst index 9db4d7752..381de322c 100644 --- a/content/applications/finance/accounting/customer_invoices/cash_discounts.rst +++ b/content/applications/finance/accounting/customer_invoices/cash_discounts.rst @@ -5,7 +5,7 @@ Cash discounts and tax reduction **Cash discounts** are reductions in the amount a customer must pay for goods or services offered as an incentive for paying their invoice promptly. These discounts are typically a percentage of the total invoice amount and are applied if the customer pays within a specified time. Cash discounts -can help the company maintain a steady cash flow. +can help a company maintain a steady cash flow. .. example:: You issue a €100 invoice on the 1st of January. The full payment is due within 30 days, and you @@ -17,15 +17,46 @@ can help the company maintain a steady cash flow. A :ref:`tax reduction ` can also be applied depending on the country or region. +.. seealso:: + - :doc:`payment_terms` + - :doc:`../payments` + .. _cash-discounts/configuration: Configuration ============= -To grant cash discounts to customers, you must first set up the :ref:`type of tax reduction -`, verify the :ref:`gain and loss accounts -`, and configure new :ref:`payment terms -`. +To grant cash discounts to customers, you must first verify the :ref:`gain and loss accounts +`. Then, configure :ref:`payment terms +` and add a cash discount by checking the :guilabel:`Early Discount` +checkbox and filling in the discount percentage, discount days, and :ref:`tax +reduction ` fields. + +.. _cash-discounts/gain-loss-accounts: + +Cash discount gain/loss accounts +-------------------------------- + +With a cash discount, the amount you earn depends on whether the customer benefits from the cash +discount or not. This inevitably leads to gains and losses, which are recorded on default accounts. + +To modify these accounts, go to :menuselection:`Accounting --> Configuration --> Settings`, and, in +the :guilabel:`Default Accounts` section, select the accounts you want to use for the +:guilabel:`Cash Discount Gain account` and :guilabel:`Cash Discount Loss account`. + +.. _cash-discounts/payment-terms: + +Payment terms +------------- + +Cash discounts are defined on :doc:`payment terms `. Configure them to your liking by +going to :menuselection:`Accounting --> Configuration --> Payment Terms`, and make sure to fill out +the discount percentage, discount days, and :ref:`tax reduction ` +fields. + +.. image:: cash_discounts/payment-terms.png + :alt: Configuration of payment terms named "2/7 Net 30". The field "Description on Invoices" + reads: "Payment terms: 30 Days, 2% Early Payment Discount under 7 days". .. _cash-discounts/tax-reductions: @@ -33,24 +64,24 @@ Tax reductions -------------- Depending on the country or region, the base amount used to compute the tax can vary, which can lead -to a **tax reduction**. +to a **tax reduction**. Since tax reductions are set on individual payment terms, each term can use +a specific tax reduction. -To configure how the tax reduction is applied, go to :menuselection:`Accounting --> Configuration ---> Settings`, and in the :guilabel:`Taxes` section, in the :guilabel:`Cash Discount Tax Reduction` -feature, select one of the three following options: +To configure how the tax reduction is applied, go to a payment term with the :guilabel:`Early +Discount` checkbox enabled, and select one of the three following options: -Always (upon invoice) - The tax is always reduced. The base amount used to compute the tax is the discounted amount, - whether the customer benefits from the discount or not. +- Always (upon invoice) + The tax is always reduced. The base amount used to compute the tax is the discounted amount, + whether the customer benefits from the discount or not. -On early payment - The tax is reduced only if the customer pays early. The base amount used to compute the tax is the - same as the sale: if the customer benefits from the reduction, then the tax is reduced. This means - that, depending on the customer, the tax amount can vary after the invoice is issued. +- On early payment + The tax is reduced only if the customer pays early. The base amount used to compute the tax is the + same as the sale: if the customer benefits from the reduction, then the tax is reduced. This means + that, depending on the customer, the tax amount can vary after the invoice is issued. -Never - The tax is never reduced. The base amount used to compute the tax is the full amount, whether the - customer benefits from the discount or not. +- Never + The tax is never reduced. The base amount used to compute the tax is the full amount, whether the + customer benefits from the discount or not. .. example:: @@ -70,10 +101,10 @@ Never - Computation * - 8th of January - €118.58 - - (€98 + (21% of €98)) + - €98 + (21% of €98) * - 31st of January - €120.58 - - (€100 + (21% of €98)) + - €100 + (21% of €98) .. tab:: On early payment @@ -85,10 +116,10 @@ Never - Computation * - 8th of January - €118.58 - - (€98 + (21% of €98)) + - €98 + (21% of €98) * - 31st of January - €121.00 - - (€100 + (21% of €100)) + - €100 + (21% of €100) .. tab:: Never @@ -100,10 +131,10 @@ Never - Computation * - 8th of January - €119.00 - - (€98 + (21% of €100)) + - €98 + (21% of €100) * - 31st of January - €121.00 - - (€100 + (21% of €100)) + - €100 + (21% of €100) .. note:: - :ref:`Tax grids `, which are used for the tax report, are correctly @@ -112,41 +143,12 @@ Never - The **type of cash discount tax reduction** may be correctly pre-configured, depending on your :ref:`fiscal localization package `. -.. _cash-discounts/gain-loss-accounts: - -Cash discount gain/loss accounts --------------------------------- - -With a cash discount, the amount you earn depends on whether the customer benefits from the cash -discount or not. This inevitably leads to gains and losses, which are recorded on default accounts. - -To modify these accounts, go to :menuselection:`Accounting --> Configuration --> Settings`, and in -the :guilabel:`Default Accounts` section, select the accounts you want to use for the -:guilabel:`Cash Discount Gain account` and :guilabel:`Cash Discount Loss account`. - -.. _cash-discounts/payment-terms: - -Payment terms -------------- - -Cash discounts are defined on :doc:`payment terms `. Configure them to your liking by -going to :menuselection:`Accounting --> Configuration --> Payment Terms`, and make sure to fill out -the fields :guilabel:`Discount %` and :guilabel:`Discount Days`. - -.. image:: cash_discounts/payment-terms.png - :align: center - :alt: Configuration of payment terms named "2/7 Net 30". The field "Description on Invoices" - reads: "Payment terms: 30 Days, 2% Early Payment Discount under 7 days". - -.. seealso:: - :doc:`payment_terms` - .. _cash-discounts/customer-invoice: Apply a cash discount to a customer invoice =========================================== -Apply a cash discount to a customer invoice by selecting the :ref:`payment terms you created +On a customer invoice, apply a cash discount by selecting the :ref:`payment terms you created `. Odoo automatically computes the correct amounts, tax amounts, due dates, and accounting records. @@ -154,26 +156,23 @@ Under the :guilabel:`Journal Items` tab, you can display the discount details by "toggle" button and adding the :guilabel:`Discount Date` and :guilabel:`Discount Amount` columns. .. image:: cash_discounts/invoice-journal-entry.png - :align: center :alt: An invoice of €100.00 with "2/7 Net 30" selected as payment terms. The "Journal Items" tab is open, and the "Discount Date" and "Discount Amount" columns are displayed. -The discount amount and due date are also displayed on the generated invoice sent to the customer. +The discount amount and due date are also displayed on the generated invoice report sent to the +customer if the :guilabel:`Show installment dates` option is checked on the payment terms. .. image:: cash_discounts/invoice-print.png - :align: center - :alt: An invoice of €100.00 with the following text added to the terms and conditions: "30 Days, - 2% Early Payment Discount under 7 days. 118.58 € due if paid before 01/08/2023." + :alt: An invoice of €100.00 with the following text added to the terms and conditions: "30 + Days, 2% Early Payment Discount under 7 days. 118.58 € due if paid before 01/08/2023." Payment reconciliation ---------------------- -When you record a payment or reconcile your bank statements, Odoo takes the customer payment's date -into account to define if they can benefit from the cash discount or not. +When you record a :doc:`payment <../payments>` or :doc:`reconcile your bank transactions +<../bank/reconciliation>`, Odoo takes the customer payment's date into account to determine if the +customer can benefit from the cash discount or not. .. note:: - If your customer pays the discount amount *after* the discount date, you can always decide - whether to mark the invoice as fully paid with a write-off or as partially paid. - -.. seealso:: - :doc:`../payments` + If your customer pays the discount amount *after* the discount date, you can always decide to + mark the invoice as fully paid with a write-off or as partially paid. diff --git a/content/applications/finance/accounting/customer_invoices/cash_discounts/payment-terms.png b/content/applications/finance/accounting/customer_invoices/cash_discounts/payment-terms.png index 06a50af329f849e23c6bc6d24854d428623d84ea..1931f6ce85d30e9d2d728f946f0730ee956b4b6c 100644 GIT binary patch literal 16274 zcma*O2UHZ#w=RkS11P8nh$KY;$;!YWNsye8oHGn*0AUCYQBXi6XP6;KmK=thksO+w zX2=3Vjzdm!`Tfti=fBQ9@4oles$RA0tG#zsch&Cwb+7KAPfF4ciJlV?5D+|+m61>- zAh-n(5Zsu!ck3D{t(76WuI_)9(SZ>VkhJ}C+=yi(p}y84_@tmNIX^#taCow}e~3Fc zJ~}?@?i-%}i^b#d7Z(?YN2fcxxQ)%7t?j+_^{wrl{gu`AecTZii+#z+vc0{1aB#4- zwY9suyRoscwzjsvzkhUebbNe#dU|?(adE@@yPUF4UtizewY#g;<&rP>tHDz|US8QS z*;ZfKqh4E8$3P=+etulhICdb?N?r{z-x!6znq9co$DfWB_;_hsTwzfQK=u_nZE${` zfk`w_A5!jZQaZN~K8F8f@L5?|N6E1u(%eAFGA+l&&``(lTiyKR6&^W#wYz`t$-VT4 zleKj^M%gf^VQ#(yk5^GMo}aI`P61e%SQh4|CuirJDz{!SavLU09JU2_&Mhp=b;+xJ zb}zwv`qrjp<@x7_nS+Ma{Ajst(el*%{8Yuy?Tbs3$c}+@H!Dt-sbmNIUe9+E?eO-$ z#jXatjBGaQ?g2e#JN4i3yP~ic>L~5W}Tvyt5hwv{!2WTPce3<%g=!Mw|xZs;7^8Y;r> z9_|B4A9y%v6Z(Z1S@(8Va7%rO70r55?`^Qr)_!tP6G@ua%+=s4tw71yezY1Mt9u_jNM|g!zWGu!=Mk%g9SiOE0`0YXVwcQYUIUG|)4vgI5Nn#0yScJnjdiPr z!pG+gKHF|=jW-E;zme<0 z9!5W^6#We#XtzUkR@U4`-uQ{eKKT#hI)Lul5(18oDd>QF{aXRANVG8nHFKB!OWy&- zY=>KqoqX`A9$c(%ht~JIc47~^e?4*B7B&>O!ZkL`NG z^8%^o49L)Y0ME5*d5=#Od6RVVO136tdwZTq5f+?S~%xHSFjQ|CEuRP(twPcOEW%J472Ka6z5nfw-V>UBITaWx<0U6K|wok8M6~tvY zMuudQSoR|GJ*-G)&!wJFmPJ~K&b~O-W0VT9f4S}x%aa0^S8oz9Iq*(F_xdOg%Rn_c z@y568Zhra&q?}H%yYfNb({1aTIZw1nNzN=~W9N;(1cT|qc*@V*?vl{|IMk51CEZUr z<*E*@R8(w$Y+GaWDb5yZ=8f$Pth`R_It|BKT5@-h`|?+5@>x7YqBp=E6vnu0d`d`F z1A|XtSoqm<51S0dRGz!%nWL6jC3h_{IS<1tgrCM5ELpYQVH;7J+O&=FsN{kECYD9f zdf1VYG{&D%z`>#m;P}1)2yX(T+A5m|(*rN{o=bHzhunRq_pX{UvTCgcipf3LxMqQP zVEJ(c@8`iv{)TvkzR$xa4NnAD9Mri zboHJsc_kpMfi8vPJ3^bj2${ibxX@`=SqcNzBwr;f&@=_C;pK|SG2r0eOfbv9_(L;a z%0D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 Ll0=c1vETm!Clj{_ literal 13653 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 Configuration --> Payment Terms` and click on :guilabel:`New`. -#. Enter a name in the :guilabel:`Payment Terms` field. This field is the name displayed in the - database and is not customer-facing. -#. Enter the text to be displayed on the document (sales order, invoice, etc.) in the - :guilabel:`Description on the Invoice` field. -#. Tick the :guilabel:`Display terms on invoice` checkbox to display a breakdown of each payment and - its due date on the invoice report, if desired. -#. In the :guilabel:`Terms` section, add a set of rules (terms) to define what needs to be paid and - by which due date(s). Defining terms automatically calculates the payments' due date(s). This is - particularly helpful for managing **installment plans** (:dfn:`payment terms with multiple +#. Enter a name in the :guilabel:`Payment Terms` field. This field is the name displayed both + internally and on sales orders. +#. Tick the :guilabel:`Early Discount` checkbox and fill out the discount percentage, discount days, + and :ref:`tax reduction ` fields to add a :doc:`cash discount + `, if desired. +#. In the :guilabel:`Due Terms` section, add a set of rules (terms) to define what needs to be paid + and by which due date(s). Defining terms automatically calculates the payments' due date(s). This + is particularly helpful for managing **installment plans** (:dfn:`payment terms with multiple terms`). - To add a term, click on :guilabel:`Add a line`, define its :guilabel:`Due Type` and - :guilabel:`Value`, and fill out the appropriate fields to define when the term is due, including - any :doc:`discounts `. Due dates are calculated by taking the invoice/bill date, - first adding the :guilabel:`Months`, and then adding the :guilabel:`Days`. If the :guilabel:`End - of month` toggle is enabled, the due date will then be the end of that month, plus any - :guilabel:`Days after End of month`. + To add a term, click on :guilabel:`Add a line`, define the discount's value and type in the + :guilabel:`Due` fields, then fill out the :guilabel:`After` fields to determine the due date. +#. Enter the text to be displayed on the document (sales order, invoice, etc.) in the gray textbox + in the :guilabel:`Preview` column. +#. Tick the :guilabel:`Show installment dates` checkbox to display a breakdown of each payment and + its due date on the invoice report, if desired. .. tip:: To instead specify a number of days *before the end of the month*, use a negative value in the - :guilabel:`Days after End of month` field. + :guilabel:`After` field. -To test that your payment terms are configured correctly, enter an invoice amount and invoice date -in the :guilabel:`Example` section to generate the payments that would be due and their due dates +To test that your payment terms are configured correctly, enter an invoice date on the +:guilabel:`Example` line to generate the payments that would be due and their due dates using these payment terms. .. important:: - - Terms are computed in the order of their due dates. - - The **balance** should always be used for the last line. + Terms are computed in the order of their due dates. .. example:: - In the following example, 30% is due on the day of issuance, and the balance is due at the end of - the following month. + In the following example, 30% is due on the day of issuance, and the remaining 70% is due at the + end of the following month. .. image:: payment_terms/configuration.png - :alt: Example of Payment Terms. The last line is the balance due on the 31st of the following - month. + :alt: Example of Payment Terms. The first line is the 30% due immediately. The second line is + the remaining 70% due at the end of the following month. Using payment terms =================== @@ -126,7 +124,7 @@ due date into account, rather than just the balance due date. It also helps to g distinct due dates In this example, an invoice of $1000 has been issued with the following payment terms: *30% is - due on the day of issuance, and the balance is due at the end of the following month.* + due on the day of issuance, and the remaining 70% is due at the end of the following month.* +----------------------+-------------+---------+---------+ | Account | Due date | Debit | Credit | diff --git a/content/applications/finance/accounting/customer_invoices/payment_terms/configuration.png b/content/applications/finance/accounting/customer_invoices/payment_terms/configuration.png index d7a96fc56cf7f099f6164207b94ff6ad074f41fb..2381104a56c92ce1421dbe4ded9c5b401a6d4330 100644 GIT binary patch literal 5153 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 v_{o4lSE+_XKx$3mynwJUA4mg;Ih$#oZ;i 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

9G*u_baO3_MrVcu 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 ByX^n~