24 lines
1.1 KiB
Python
24 lines
1.1 KiB
Python
import pytz
|
|
|
|
from odoo import fields, models
|
|
|
|
|
|
class SaleOrder(models.Model):
|
|
_inherit = "sale.order"
|
|
|
|
def _create_account_invoices(self, invoice_vals_list, final):
|
|
""" EXTENDS 'sale'
|
|
Necessary because if someone creates an invoice after 9 pm Argentina time, if the invoice is created
|
|
automatically, then it is created with the date of the next day (UTC date) instead of today.
|
|
This fix is necessary because it causes problems validating invoices in ARCA (ex AFIP), since when generating
|
|
the invoice with the date of the next day, no more invoices could be generated with today's date.
|
|
We took the same approach that was used in the POS module to set the date, in this case always forcing the
|
|
Argentina timezone """
|
|
invoices = super()._create_account_invoices(invoice_vals_list, final)
|
|
for invoice in invoices:
|
|
if invoice.country_code == 'AR':
|
|
timezone = pytz.timezone('America/Buenos_Aires')
|
|
context_today_ar = fields.Datetime.now().astimezone(timezone).date()
|
|
invoice.invoice_date = context_today_ar
|
|
return invoices
|