-
Notifications
You must be signed in to change notification settings - Fork 199
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[IMP] l10n_ar_withholding_ux: apply ratio on base amount #888
base: 17.0
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -66,7 +66,7 @@ def get_withholding_vals(self, payment): | |
base_amount = vals['withholdable_base_amount'] | ||
|
||
if self.withholding_type == 'partner_tax': | ||
amount = base_amount * (alicuota) | ||
amount = base_amount * (alicuota) * self.ratio / 100 | ||
vals['comment'] = "%s x %s" % ( | ||
base_amount, alicuota) | ||
vals['period_withholding_amount'] = amount | ||
|
@@ -250,7 +250,7 @@ def _compute_amount( | |
if self.amount_type == 'partner_tax': | ||
date = self._context.get('invoice_date', fields.Date.context_today(self)) | ||
partner = partner and partner.sudo() | ||
return base_amount * self.sudo().get_partner_alicuota_percepcion(partner, date) | ||
return base_amount * self.sudo().get_partner_alicuota_percepcion(partner, date) * self.ratio / 100 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (self.ratio or 100) |
||
else: | ||
return super(AccountTax, self)._compute_amount( | ||
base_amount, price_unit, quantity=quantity, product=product, | ||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -80,6 +80,7 @@ class AccountTax(models.Model): | |||||
'tax_withholding_id', | ||||||
'Rules', | ||||||
) | ||||||
ratio = fields.Float(required=True, default=100, help="Ratio to apply to tax base amount") | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Para quien haga review técnico me queda dudas si debe ser requerido, o si debemos hacer que siempre sea 100 y hacemos que sea solo visible para argentina There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. remove default and required, extend help
Suggested change
|
||||||
|
||||||
@api.constrains( | ||||||
'withholding_non_taxable_amount', | ||||||
|
@@ -224,3 +225,10 @@ def get_withholding_vals(self, payment, force_withholding_amount_type=None): | |||||
'automatic': True, | ||||||
'comment': comment, | ||||||
} | ||||||
|
||||||
@api.constrains('ratio') | ||||||
def _check_line_ids_percent(self): | ||||||
""" Check that the total percent is not bigger than 100.0 """ | ||||||
for tax in self: | ||||||
if not (0 < tax.ratio <= 100.0): | ||||||
raise ValidationError(_('The total percentage (%s) should be less or equal to 100!', tax.ratio)) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. greather than 0 and... |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,6 +47,7 @@ | |
</div> | ||
<field name="withholding_non_taxable_minimum"/> | ||
<field name="withholding_non_taxable_amount"/> | ||
<field name="ratio" invisible="country_code != 'AR'"/> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
<field name="withholding_user_error_message"/> | ||
<field name="withholding_user_error_domain" invisible="not withholding_user_error_message"/> | ||
</group> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.