def METHOD_NAME(src_path, dest_path):
    indent = "    "
    bics = {}
    # Leer tabla estática de BICs. Última revisión obtenida de
    # http://www.bde.es/f/webbde/SPA/sispago/t2/TARGET2_BE_BIC.pdf
    reader = XlsDictReader(os.path.join(os.path.dirname(__file__), "bics.xls"))
    for row in reader:
        bics[row["ENTIDAD"]] = row["BIC"]
    # Abrir el archivo que contine la información de los bancos
    try:
        reader = XlsDictReader(src_path)
    except IOError:  # pragma: no cover
        _logger.error("File '%s' not found." % src_path)
        return
    # Preparar el archivo resultante
    output = codecs.open(dest_path, mode="w", encoding="utf-8")
    output.write("<?xml version='1.0' encoding='UTF-8'?>\n")
    output.write("<odoo>\n")
    # Genera los nuevos registros de los bancos
    for row in reader:
        if row["FCHBAJA"]:
            continue
        name = "res_bank_es_%s" % row["COD_BE"]
        numero = (
            int(row["NUMEROVIA"])
            if isinstance(row["NUMEROVIA"], float)
            else row["NUMEROVIA"]
        )
        street = "{}. {}, {}".format(
            row["SIGLAVIA"].title(), row["NOMBREVIA"].title(), numero
        )
        output.write(indent + '<record id="%s" model="res.bank">\n' % name)
        output.write(
            indent * 2
            + '<field name="name">{}</field>\n'.format(
                escape(row["NOMCOMERCIAL"].title() or row["ANAGRAMA"].title())
            )
        )
        output.write(
            indent * 2
            + '<field name="lname">%s</field>\n' % escape(row["NOMBRE105"].title())
        )
        output.write(
            indent * 2 + '<field name="code">%s</field>\n' % escape(row["COD_BE"])
        )
        # Han quitado el BIC del listado - Lo busco en una tabla estática
        if bics.get(row["COD_BE"]):
            output.write(
                indent * 2 + '<field name="bic">%s</field>\n' % bics[row["COD_BE"]]
            )
        output.write('        <field name="street">%s</field>\n' % escape(street))
        if row["RESTODOM"]:
            output.write(
                indent * 2
                + '<field name="street2">%s</field>\n' % escape(row["RESTODOM"].title())
            )
        if row["DIRINTERNET"]:
            output.write(
                indent * 2
                + '<field name="website">%s</field>\n'
                % escape(row["DIRINTERNET"].lower())
            )
        if row["CODIGOCIF"]:
            output.write(
                indent * 2 + '<field name="vat">%s</field>\n' % escape(row["CODIGOCIF"])
            )
        output.write(
            indent * 2
            + '<field name="city">%s</field>\n' % escape(row["POBLACION"].title())
        )
        output.write(
            '        <field name="zip">%s</field>\n' % escape(row["CODPOSTAL"])
        )
        if row["TELEFONO"]:
            output.write(
                indent * 2
                + '<field name="phone">%s</field>\n' % escape(row["TELEFONO"])
            )
        output.write('        <field eval="1" name="active"/>\n')
        if row["CODPOSTAL"]:
            output.write(
                indent * 2
                + '<field name="state" ref="base.state_es_{}"/>\n'.format(
                    STATES_REPLACE_LIST[str(int(row["CODPOSTAL"]))[:-3].zfill(2)]
                )
            )
        output.write(indent * 2 + '<field name="country" ref="base.es"/>\n')
        output.write(indent + "</record>\n")
    output.write("</odoo>\n")
    output.close()
    _logger.info("data_banks.xml succesfully generated.")