facho/fe/form: InvoiceLine fix taxable amount
FossilOrigin-Name: 26cc98a74588647ec409716c1954d37baa1951b41605a4f9ffc624a1bf090269
This commit is contained in:
		| @@ -110,7 +110,7 @@ class Amount: | ||||
|         return formatter % self.float() | ||||
|  | ||||
|     def float(self): | ||||
|         return round(self.amount, DECIMAL_PRECISION) | ||||
|         return float(round(self.amount, DECIMAL_PRECISION)) | ||||
|      | ||||
|  | ||||
| class Quantity: | ||||
| @@ -279,11 +279,9 @@ class TaxSubTotal: | ||||
|     tax_scheme_name: str = 'IVA' | ||||
|  | ||||
|     tax_amount: Amount = Amount(0.0) | ||||
|     taxable_amount: Amount = Amount(0.0) | ||||
|  | ||||
|     def calculate(self, invline): | ||||
|         self.tax_amount = invline.total_amount * Amount(self.percent / 100) | ||||
|         self.taxable_amount = invline.total_amount | ||||
|  | ||||
|  | ||||
| @dataclass | ||||
| @@ -293,10 +291,11 @@ class TaxTotal: | ||||
|     taxable_amount: Amount = Amount(0.0) | ||||
|  | ||||
|     def calculate(self, invline): | ||||
|         self.taxable_amount = invline.total_amount | ||||
|  | ||||
|         for subtax in self.subtotals: | ||||
|             subtax.calculate(invline) | ||||
|             self.tax_amount += subtax.tax_amount | ||||
|             self.taxable_amount += subtax.taxable_amount | ||||
|  | ||||
|  | ||||
| @dataclass | ||||
| @@ -409,6 +408,14 @@ class LegalMonetaryTotal: | ||||
|     payable_amount: Amount = Amount(0.0) | ||||
|     prepaid_amount: Amount = Amount(0.0) | ||||
|  | ||||
|     def calculate(self): | ||||
|         #DIAN 1.7.-2020: FAU14 | ||||
|         self.payable_amount = \ | ||||
|             self.tax_inclusive_amount \ | ||||
|             + self.allowance_total_amount \ | ||||
|             + self.charge_total_amount \ | ||||
|             - self.prepaid_amount | ||||
|  | ||||
|  | ||||
| @dataclass | ||||
| class AllowanceChargeReason: | ||||
| @@ -556,12 +563,7 @@ class Invoice: | ||||
|             .sum() | ||||
|  | ||||
|         #DIAN 1.7.-2020: FAU14 | ||||
|         self.invoice_legal_monetary_total.payable_amount = \ | ||||
|             self.invoice_legal_monetary_total.tax_inclusive_amount \ | ||||
|             + self.invoice_legal_monetary_total.allowance_total_amount \ | ||||
|             + self.invoice_legal_monetary_total.charge_total_amount \ | ||||
|             - self.invoice_legal_monetary_total.prepaid_amount | ||||
|  | ||||
|         self.invoice_legal_monetary_total.calculate() | ||||
|  | ||||
|     def calculate(self): | ||||
|         for invline in self.invoice_lines: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user