# Pueden aparecer códigos nuevos sin previo aviso; deja siempre una rama por defecto que recurra al campo `error`.
# New codes may appear without notice; always keep a default branch that falls back to the `error` field.
codigos:
  - codigo: "vf-ticketbai-base_imponible_a_coste_numero"
    error: "El campo base_imponible_a_coste en el objeto especial debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-campos_requeridos"
    error: "Faltan campos requeridos."
  - codigo: "vf-ticketbai-caracter_control"
    error: "JSON contiene un caracter de control no válido ({caracter}) en el campo {campo}."
  - codigo: "vf-ticketbai-clave_regimen_valor"
    error: "El campo clave_regimen en el objeto especial debe ser uno de los siguientes valores: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 15, 17, 19, 51, 52, 53, 54."
  - codigo: "vf-ticketbai-codigo_pais_es_id_type_03"
    error: "El campo codigo_pais en el objeto id_otro solo puede ser ES cuando id_type es 03."
  - codigo: "vf-ticketbai-codigo_pais_requerido"
    error: "El campo codigo_pais en el objeto id_otro es obligatorio cuando id_type es distinto de 02 (NIF-IVA)."
  - codigo: "vf-ticketbai-completa_cp_direccion_requeridos"
    error: "Para facturas completas (simplificada=false) en Álava y Guipuzcoa, los campos cp y direccion son obligatorios."
  - codigo: "vf-ticketbai-completa_destinatario_requerido"
    error: "Para facturas completas (simplificada=false) el campo nombre es obligatorio. También hay que indicar el campo nif o el campo id_otro."
  - codigo: "vf-ticketbai-completa_id_otro_campos"
    error: "Para facturas completas (simplificada=false) el campo id_otro debe contener el campo id_type y el campo id."
  - codigo: "vf-ticketbai-cp_longitud"
    error: "El campo cp no puede tener mas de 20 caracteres"
  - codigo: "vf-ticketbai-cp_tipo"
    error: "El campo cp debe ser de tipo string"
  - codigo: "vf-ticketbai-cuota_impuesto_calculo"
    error: "Cuota del impuesto errónea."
  - codigo: "vf-ticketbai-cuota_recargo_calculo"
    error: "Cuota del recargo de equivalencia errónea."
  - codigo: "vf-ticketbai-descripcion_tipo_longitud"
    error: "El campo descripcion debe ser de tipo string y no puede tener mas de 250 caracteres."
  - codigo: "vf-ticketbai-desglose_base_imponible_numero"
    error: "El campo base_imponible de cada desglose de IVA debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-desglose_base_imponible_requerido"
    error: "El campo base_imponible es obligatorio para cada desglose de IVA."
  - codigo: "vf-ticketbai-desglose_cuota_impuesto_numero"
    error: "El campo cuota_impuesto de cada desglose de IVA debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-desglose_cuota_recargo_numero"
    error: "El campo cuota_recargo_equivalencia de cada desglose de IVA debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-desglose_iva_tipo"
    error: "El campo desglose_iva debe ser un array y no puede tener mas de 12 elementos."
  - codigo: "vf-ticketbai-desglose_recargo_regimen_simplificado_tipo"
    error: "El campo recargo_equivalencia_o_regimen_simplificado de cada desglose de IVA debe ser un booleano."
  - codigo: "vf-ticketbai-desglose_requerido"
    error: "Debe existir al menos uno de los siguientes: exenta, desglose_iva con longitud no nula, o no_sujeta."
  - codigo: "vf-ticketbai-desglose_tipo_impositivo_numero"
    error: "El campo tipo_impositivo de cada desglose de IVA debe ser un string que representa un numero con hasta 2 decimales y un maximo de 3 digitos en total."
  - codigo: "vf-ticketbai-desglose_tipo_recargo_numero"
    error: "El campo tipo_recargo_equivalencia de cada desglose de IVA debe ser un string que representa un numero con hasta 2 decimales y un maximo de 3 digitos en total."
  - codigo: "vf-ticketbai-destinatario_no_censado_aeat"
    error: "El NIF/NOMBRE ({nif}/{nombre}) del destinatario no se encuentra registrado en la Agencia Tributaria. Para personas juridicas el NIF debe estar registrado en la AEAT. Para personas fisicas, el NIF debe estar registrado en la AEAT y el nombre debe ser suficientemente parecido al nombre registrado en la AEAT."
  - codigo: "vf-ticketbai-detalle_renta_epigrafe_requerido"
    error: "El campo epigrafe es obligatorio para cada elemento en detalle_renta."
  - codigo: "vf-ticketbai-detalle_renta_epigrafe_tipo"
    error: "El campo epigrafe en detalle_renta debe ser de tipo string."
  - codigo: "vf-ticketbai-detalle_renta_epigrafe_valor"
    error: "El epígrafe {epigrafe} en detalle_renta no es válido."
  - codigo: "vf-ticketbai-detalle_renta_importe_ingreso_numero"
    error: "El campo importe_ingreso_irpf en detalle_renta debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-detalle_renta_ingreso_computar_valor"
    error: "El campo ingreso_a_computar_irpf_diferente_base_impo_iva en detalle_renta debe ser 'S' o 'N' en caso de estar presente."
  - codigo: "vf-ticketbai-detalle_renta_no_aplica"
    error: "El campo detalle_renta solo es aplicable para personas físicas en Vizcaya."
  - codigo: "vf-ticketbai-detalle_renta_requerido"
    error: "Para personas físicas en Vizcaya, el campo detalle_renta es obligatorio y debe contener al menos un elemento."
  - codigo: "vf-ticketbai-detalle_renta_tipo"
    error: "El campo detalle_renta debe ser un array con un máximo de 10 elementos."
  - codigo: "vf-ticketbai-direccion_longitud"
    error: "El campo direccion no puede tener mas de 250 caracteres"
  - codigo: "vf-ticketbai-direccion_tipo"
    error: "El campo direccion debe ser de tipo string"
  - codigo: "vf-ticketbai-especial_tipo"
    error: "El campo especial debe ser un objeto."
  - codigo: "vf-ticketbai-exenta_base_imponible_numero"
    error: "El campo base_imponible en el objeto exenta debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-exenta_campos_requeridos"
    error: "Los campos causa_exencion y base_imponible son obligatorios en el objeto exenta."
  - codigo: "vf-ticketbai-exenta_causa_valor"
    error: "El campo causa_exencion en el objeto exenta debe ser uno de los siguientes valores: E1, E2, E3, E4, E5, E6."
  - codigo: "vf-ticketbai-exenta_tipo"
    error: "El campo exenta debe ser un objeto."
  - codigo: "vf-ticketbai-factura_duplicada"
    error: "Ya existe una factura con la misma serie, numero y año de fecha_expedicion."
  - codigo: "vf-ticketbai-fecha_expedicion_formato"
    error: "El campo fecha_expedicion debe tener el formato DD-MM-YYYY, ser una fecha válida y no ser posterior a la fecha actual."
  - codigo: "vf-ticketbai-fecha_expedicion_hoy"
    error: "El campo fecha_expedicion debe ser la fecha actual."
  - codigo: "vf-ticketbai-fecha_expedicion_tipo"
    error: "El campo fecha_expedicion debe ser de tipo string."
  - codigo: "vf-ticketbai-fecha_expedicion_veinte_anios"
    error: "El campo fecha_expedicion no puede ser anterior a la fecha actual menos veinte años."
  - codigo: "vf-ticketbai-fecha_operacion_formato"
    error: "El campo fecha_operacion debe tener el formato DD-MM-YYYY y ser una fecha válida."
  - codigo: "vf-ticketbai-fecha_operacion_posterior_expedicion"
    error: "El campo fecha_operacion no puede ser posterior al campo fecha_expedicion, salvo cuando clave_regimen es 14 o 15."
  - codigo: "vf-ticketbai-fecha_operacion_veinte_anios"
    error: "El campo fecha_operacion no puede ser anterior a la fecha actual menos veinte años."
  - codigo: "vf-ticketbai-id_otro_campos_requeridos"
    error: "Los campos id y id_type son obligatorios en el objeto id_otro."
  - codigo: "vf-ticketbai-id_otro_tipo"
    error: "El campo id_otro debe ser un objeto"
  - codigo: "vf-ticketbai-id_type_valor"
    error: "El campo id_type en el objeto id_otro debe ser 02, 03, 04, 05 o 06."
  - codigo: "vf-ticketbai-importe_total_cuadre_desgloses"
    error: "El importe total de la factura no cuadra con la suma de los importes de los desgloses de IVA, exenta y no sujeta."
  - codigo: "vf-ticketbai-importe_total_cuadre_lineas"
    error: "El importe total de la factura no cuadra con la suma de los importes totales de las líneas."
  - codigo: "vf-ticketbai-importe_total_numero"
    error: "El campo importe_total debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-importe_total_tipo"
    error: "El campo importe_total debe ser de tipo string."
  - codigo: "vf-ticketbai-inversion_sujeto_pasivo_tipo"
    error: "El campo inversion_sujeto_pasivo en el objeto especial debe ser un booleano."
  - codigo: "vf-ticketbai-inversion_sujeto_pasivo_tipo_impositivo"
    error: "Si especial.inversion_sujeto_pasivo es true, el campo tipo_impositivo de cada desglose de IVA debe ser 0."
  - codigo: "vf-ticketbai-iva_no_censado_vies"
    error: "El IVA ({id_otro.id}) del destinatario no se encuentra registrado en el censo VIES."
  - codigo: "vf-ticketbai-iva_prefijo_pais"
    error: "El IVA ({id_otro.id}) debe empezar con el codigo de pais ({id_otro.codigo_pais})."
  - codigo: "vf-ticketbai-linea_campos_requeridos"
    error: "Los campos descripcion, cantidad, importe_unitario e importe_total son obligatorios para cada linea."
  - codigo: "vf-ticketbai-linea_cantidad_numero"
    error: "El campo cantidad de cada linea debe ser un string que representa un numero con hasta 8 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-linea_descripcion_tipo_longitud"
    error: "El campo descripcion de cada linea debe ser de tipo string y no puede tener mas de 250 caracteres."
  - codigo: "vf-ticketbai-linea_importe_total_numero"
    error: "El campo importe_total de cada linea debe ser un string que representa un numero con hasta 8 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-linea_importe_unitario_numero"
    error: "El campo importe_unitario de cada linea debe ser un string que representa un numero con hasta 8 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-lineas_rango"
    error: "El campo lineas debe ser un array con al menos 1 elemento y no puede tener mas de 1000 elementos."
  - codigo: "vf-ticketbai-nif_formato"
    error: "El campo nif no tiene un formato válido."
  - codigo: "vf-ticketbai-no_sujeta_campos_requeridos"
    error: "Los campos causa e importe son obligatorios en el objeto no_sujeta."
  - codigo: "vf-ticketbai-no_sujeta_causa_valor"
    error: "El campo causa en el objeto no_sujeta debe ser uno de los siguientes valores: OT, RL, VT, IE."
  - codigo: "vf-ticketbai-no_sujeta_importe_numero"
    error: "El campo importe en el objeto no_sujeta debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-no_sujeta_tipo"
    error: "El campo no_sujeta debe ser un objeto."
  - codigo: "vf-ticketbai-nombre_longitud"
    error: "El campo nombre no puede tener mas de 120 caracteres"
  - codigo: "vf-ticketbai-nombre_tipo"
    error: "El campo nombre debe ser de tipo string"
  - codigo: "vf-ticketbai-numero_caracteres_prohibidos"
    error: "El campo numero no admite los caracteres # % & ' ‘ + ¿ ? < > \""
  - codigo: "vf-ticketbai-numero_longitud"
    error: "El campo numero no puede tener mas de 20 caracteres"
  - codigo: "vf-ticketbai-numero_tipo"
    error: "El campo numero debe ser de tipo string."
  - codigo: "vf-ticketbai-rectificadas_sustituidas_campos"
    error: "Los campos serie, numero y fecha_expedicion son obligatorios para cada factura en rectificadas_sustituidas."
  - codigo: "vf-ticketbai-rectificadas_sustituidas_fecha_formato"
    error: "El campo fecha_expedicion de cada factura en rectificadas_sustituidas debe ser una fecha válida en formato DD-MM-YYYY."
  - codigo: "vf-ticketbai-rectificadas_sustituidas_maximo"
    error: "El campo rectificadas_sustituidas no puede contener más de 100 elementos."
  - codigo: "vf-ticketbai-rectificadas_sustituidas_no_aplica"
    error: "Si sustitucion_simplificada=false ni rectificativa, no se puede incluir rectificadas_sustituidas."
  - codigo: "vf-ticketbai-rectificadas_sustituidas_numero_caracteres"
    error: "El campo numero de cada factura en rectificadas_sustituidas no admite los caracteres # % & ' ‘ + ¿ ? < > \""
  - codigo: "vf-ticketbai-rectificadas_sustituidas_numero_tipo"
    error: "El campo numero de cada factura en rectificadas_sustituidas debe ser un string y no puede tener mas de 20 caracteres."
  - codigo: "vf-ticketbai-rectificadas_sustituidas_requerido"
    error: "Si la factura es emitida en sustitucion de una simplificada o es rectificativa, es obligatorio indicar las facturas sustituidas en rectificadas_sustituidas."
  - codigo: "vf-ticketbai-rectificadas_sustituidas_serie_caracteres"
    error: "El campo serie de cada factura en rectificadas_sustituidas no admite los caracteres # % & ' ‘ + ¿ ? < > \""
  - codigo: "vf-ticketbai-rectificadas_sustituidas_serie_tipo"
    error: "El campo serie de cada factura en rectificadas_sustituidas debe ser un string y no puede tener mas de 20 caracteres."
  - codigo: "vf-ticketbai-rectificadas_sustituidas_tipo"
    error: "El campo rectificadas_sustituidas debe ser un array."
  - codigo: "vf-ticketbai-rectificativa_base_rectificada_numero"
    error: "El campo base_rectificada en el objeto rectificativa debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-rectificativa_campos_requeridos"
    error: "Los campos codigo y tipo son obligatorios en el objeto rectificativa."
  - codigo: "vf-ticketbai-rectificativa_codigo_valor"
    error: "El campo codigo en el objeto rectificativa debe ser uno de los siguientes valores: R1, R2, R3, R4, R5."
  - codigo: "vf-ticketbai-rectificativa_cuota_recargo_numero"
    error: "El campo cuota_recargo en el objeto rectificativa debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-rectificativa_cuota_rectificada_numero"
    error: "El campo cuota_rectificada en el objeto rectificativa debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-rectificativa_destinatario_requerido"
    error: "Para facturas rectificativas con codigo distinto de R5, es obligatorio incluir un destinatario (nif o id_otro) y nombre."
  - codigo: "vf-ticketbai-rectificativa_importes_no_aplica"
    error: "Los campos base_rectificada, cuota_rectificada y cuota_recargo solo se pueden indicar cuando el tipo de la factura rectificativa es S (por sustitucion)."
  - codigo: "vf-ticketbai-rectificativa_serie_requerida"
    error: "El campo serie es obligatorio y no puede estar vacio en una factura rectificativa."
  - codigo: "vf-ticketbai-rectificativa_tipo"
    error: "El campo rectificativa debe ser un objeto."
  - codigo: "vf-ticketbai-rectificativa_tipo_valor"
    error: "El campo tipo en el objeto rectificativa debe ser S (por sustitucion) o I (por diferencia)."
  - codigo: "vf-ticketbai-regimen_06_base_a_coste_no_aplica"
    error: "El campo especial.base_imponible_a_coste solo puede informarse cuando la clave de régimen es 06 (Régimen especial grupo de entidades de IVA)."
  - codigo: "vf-ticketbai-regimen_06_base_a_coste_requerido"
    error: "El campo especial.base_imponible_a_coste es obligatorio cuando la clave de régimen es 06 (Régimen especial grupo de entidades de IVA)."
  - codigo: "vf-ticketbai-regimen_06_no_r5"
    error: "Para la clave de regimen 06, el codigo de factura rectificativa no puede ser R5."
  - codigo: "vf-ticketbai-regimen_06_no_simplificada"
    error: "Para la clave de regimen 06, la factura no puede ser simplificada."
  - codigo: "vf-ticketbai-regimen_06_no_sustitucion_simplificada"
    error: "Para la clave de regimen 06, la factura no puede ser emitida en sustitucion de una simplificada."
  - codigo: "vf-ticketbai-regimen_10_destinatario_nacional"
    error: "Para la clave de regimen 10, es obligatorio incluir un destinatario nacional (nif)."
  - codigo: "vf-ticketbai-regimen_10_no_rectificativa"
    error: "Para la clave de régimen 10, la factura no puede ser rectificativa."
  - codigo: "vf-ticketbai-regimen_14_destinatario_nacional"
    error: "Para la clave de regimen 14, es obligatorio incluir al menos un destinatario nacional (nif)."
  - codigo: "vf-ticketbai-regimen_14_nif_prefijo"
    error: "Para la clave de regimen 14, el nif del destinatario debe comenzar por 'P', 'Q', 'S' o 'V'."
  - codigo: "vf-ticketbai-retencion_soportada_numero"
    error: "El campo retencion_soportada en el objeto especial debe ser un string que representa un numero con hasta 2 decimales y un maximo de 15 digitos en total."
  - codigo: "vf-ticketbai-serie_caracteres_prohibidos"
    error: "El campo serie no admite los caracteres # % & ' ‘ + ¿ ? < > \""
  - codigo: "vf-ticketbai-serie_longitud"
    error: "El campo serie no puede tener mas de 20 caracteres"
  - codigo: "vf-ticketbai-serie_prefijo_dfa"
    error: "En Alava el campo serie no puede empezar por DFA_, reservado para las facturas de FakturAraba."
  - codigo: "vf-ticketbai-serie_tipo"
    error: "El campo serie debe ser de tipo string."
  - codigo: "vf-ticketbai-simplificada_tipo"
    error: "El campo simplificada debe ser un booleano"
  - codigo: "vf-ticketbai-sustitucion_simplificada_debe_ser_completa"
    error: "Si la factura es emitida en sustitucion de una simplificada (sustitucion_simplificada=true), la factura debe ser completa (simplificada=false)."
  - codigo: "vf-ticketbai-sustitucion_simplificada_no_rectificativa"
    error: "Una factura emitida en sustitucion de una simplificada (sustitucion_simplificada=true) no puede ser rectificativa."
  - codigo: "vf-ticketbai-sustitucion_simplificada_tipo"
    error: "El campo sustitucion_simplificada debe ser un booleano"
  - codigo: "vf-ticketbai-tipo_impositivo_valor"
    error: "Si impuesto es 01, el campo tipo_impositivo debe ser 0, 2, 4, 5, 7.5, 10 o 21."
  - codigo: "vf-ticketbai-tipo_operacion_valor"
    error: "El campo tipo_operacion debe ser servicios o bienes."
  - codigo: "vf-ticketbai-validar_destinatario_tipo"
    error: "El campo validar_destinatario debe ser un booleano"
