Obtener condicin IVA receptor

RunLLM
RunLLM

Para obtener la condición de IVA del receptor, debes consultar el padrón de constancia de inscripción del CUIT usando el web service correspondiente. Este servicio devuelve los impuestos a los que está inscripto el contribuyente, y a partir de esos datos puedes mapear la condición frente al IVA (por ejemplo, si tiene el impuesto "IVA" es Responsable Inscripto, si tiene "MONOTRIBUTO" es Monotributista, etc.) según la tabla de mapeo oficial. No existe un método directo que devuelva solo la condición de IVA; debes analizar los impuestos retornados por el padrón y mapearlos manualmente a la condición de IVA requerida para la factura electrónica.

Puedes ver la guía paso a paso y la tabla de mapeo entre impuestos y condición de IVA en este artículo y su tabla de mapeo. ¿Te gustaría ver un ejemplo de código para hacer esta consulta y el mapeo?

Sources:

mate
mate

@user hay alguna forma de distinguir entre: Consumidor Final, No Categorizado, Exterior o IVA Liberado?

RunLLM
RunLLM

Sí, pero no de forma directa: el padrón de constancia de inscripción no devuelve explícitamente "Consumidor Final", "No Categorizado", "Proveedor/Cliente del Exterior" o "IVA Liberado". Estas condiciones se infieren por ausencia de otros impuestos (por ejemplo, si no tiene IVA, Monotributo ni Exento, se asume Consumidor Final o No Categorizado) o por el tipo de CUIT (exterior) y, en el caso de "IVA Liberado", no hay un impuesto específico que lo indique en el padrón. Debes aplicar reglas de negocio para deducir estas condiciones según la información devuelta por el padrón.

Puedes consultar el detalle y las reglas de mapeo en la tabla oficial de mapeo. ¿Te gustaría ver ejemplos prácticos de cómo hacer esta deducción?

Sources:

mate
mate

@user si, dame ejemplos practicos para esa deduccion

RunLLM
RunLLM

Claro, aquí tienes ejemplos prácticos para deducir la condición de IVA usando los datos del padrón:

  • Consumidor Final / No Categorizado: Si el padrón no devuelve impuestos "IVA" (id 30), "MONOTRIBUTO" (id 20), "IVA EXENTO" (id 32) ni "IVA NO ALCANZADO" (id 34), y el CUIT es argentino, se asume Consumidor Final o Sujeto No Categorizado.
  • Proveedor/Cliente del Exterior: Si el CUIT no es argentino (no empieza con 20, 23, 24, 27, 30, 33, 34), se considera Proveedor o Cliente del Exterior.
  • IVA Liberado: No hay un impuesto específico en el padrón; si el contribuyente está exento de IVA por Ley 19.640, deberás tener esa información por otro medio, ya que el padrón no lo indica explícitamente.

Ejemplo en pseudocódigo:

def deducir_condicion_iva(impuestos, cuit):
    ids_impuestos = [i['idImpuesto'] for i in impuestos]
    if 30 in ids_impuestos:
        return 1  # Responsable Inscripto
    if 20 in ids_impuestos:
        return 6  # Monotributo
    if 32 in ids_impuestos:
        return 4  # IVA Exento
    if 34 in ids_impuestos:
        return 15 # IVA No Alcanzado
    if not cuit.startswith(('20', '23', '24', '27', '30', '33', '34')):
        return 8  # Proveedor del Exterior
    # Si no hay ninguno de los anteriores
    return 5  # Consumidor Final o No Categorizado

Puedes ver la lógica y el mapeo detallado en la tabla oficial de mapeo.

Sources: