def METHOD_NAME(self):
    object_name = OBJECT_NAMES.get(self._name)
    _logger.info(_("Scheduled {} estimate taxes update...").format(object_name))
    config_date = self.env.company.ibpt_update_days
    today = fields.date.today()
    data_max = today - timedelta(days=config_date)
    all_records = self.env[self._name].search([])
    not_estimated = all_records.filtered(
        lambda r: r.product_tmpl_qty > 0 and not r.tax_estimate_ids
    )
    query = """
        WITH {0}_max_date AS (
           SELECT
               {0}_id,
               max(create_date)
           FROM
               l10n_br_fiscal_tax_estimate
           GROUP BY {0}_id)
           SELECT {0}_id
           FROM {0}_max_date
        WHERE max < %(create_date)s
        """.format(
        object_name.lower()
    )
    query_params = {"create_date": data_max.strftime("%Y-%m-%d")}
    self.env.cr.execute(self.env.cr.mogrify(query, query_params))
    past_estimated = self.env.cr.fetchall()
    ids = [estimate[0] for estimate in past_estimated]
    record_past_estimated = self.env[self._name].browse(ids)
    for record in not_estimated + record_past_estimated:
        try:
            record.action_ibpt_inquiry()
        except Exception:
            continue
    _logger.info(
        _("Scheduled {} estimate taxes update complete.").format(object_name)
    )