Git Product home page Git Product logo

sii's Introduction

SII

image

image

image

AEAT Suministro Inmediato de Información

sii's People

Contributors

ecarreras avatar egarciadiaz avatar gdalmau avatar guillejb avatar mroig avatar nvillarroya avatar polsala avatar tinogis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sii's Issues

Posició Fiscal no determina tipus d'operació

La posició fiscal no pot determinar el tipus d'operació RE. Aquest valor és únic per client, però li podem fer diferents tipus de factures que corresponguin a diferents claus. Per exemple li fem la factura elèctrica i una factura d'un lloguer de local. Son dos claus diferents per SII però seria la mateixa posició fiscal.

Camps pendents per afegir

Pendent d'afegir

  • NoSujeta a IVA → Si no conté un impost que contingui 'IVA' al nom què hem de posar??
    → Resolt a la PR #22

ImportePorArticulos7_14_Otros :
Artículo 7 de la Ley del IVA: https://practicos-vlex.es/vid/supuestos-no-iva-512753606
Artículo 14 de la Ley del IVA: https://www.supercontable.com/informacion/IVA_Impuesto_valor_a%C3%B1adido/Art.14_Ley_37-1992-_Impuesto_sobre_el_Valor_A%C3%B1adido-_IVA.html
ImporteTAIReglasLocalizacion → Importe en euros si la sujeción es por operaciones no sujetas en el TAI por reglas de localización

En el IVA el territorio de aplicación del impuesto (TAI) no coincide con el territorio nacional, sino con el territorio peninsular más las islas baleares.
http://www.iva-internacional.es/articulos/tac-y-tai
Territorios que pertenecen al territorio aduanero común (TAC) pero no pertenecen al territorio de aplicación del IVA (TAI):
En España, las Islas Canarias.
Territorios que no pertenecen al territorio aduanero comunitario ni al territorio IVA (TAI):
En España, Ceuta y Melilla.

  • Dividir DetalleIVA en diferents IVAs
    → Resoldre la issue #17
  • DesgloseFactura per una FacturaRecibida → Las operaciones podrán tener el desglose de la inversión del sujeto pasivo y el desglose del resto de la operación (independientemente de su
    calificación). Por tanto, puede aparecer solo un bloque o ambos, pero al menos debe
    aparecer uno (InversionSujetoPasivo y/o DesgloseIVA).
    → Resolt a la PR #22

Pendent d'afegir només al resource.py

  • TipoRectificativa → Si la llibreria SII rep un account.invoice no pot obtenir el camp 'tipo_rectificadora' perquè es troba a giscedata.facturacio.factura
    → Implementar la PR https://github.com/gisce/erp/pull/4592

Afegit als models però pendent de resoldre

  • FechaRegContable → Quina data hi hem de posar?
    → Resoldre la issue #53
  • TipoFactura → Pot ser 'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'R1', 'R2', 'R3', 'R4', 'R5'
    → Resoldre la issue #23
    → Temporalment: posem 'R4' per rectificatives i 'F1' per factures normals
  • Fer que el camp descripció d'una factura sigui required (camp 'name')
    Implementar la PR https://github.com/gisce/erp/pull/4563
    → Agafar la descripció del Journal d'una account.invoice account.journal_id.name
  • Exenta → Una factura és Exenta si té 'IVA Exento' (però si està traduït al català el nom de l'impost com ho fem??)
  • TipoNoExenta
    → De moment sempre 'S1'
  • ClaveRegimenEspecialOTrascendencia
    → Resoldre la Issue https://github.com/gisce/erp/issues/4553
  • TipoImpositivo de l'impost de l'IVA
    → Necessari implementar la PR https://github.com/gisce/erp/pull/4552
  • TipoComunicación → 'A0' per alta, 'A1' per modificació (correció d'errors al registrar). En una invoice o un paràmetre addicional s'ha de rebre si la factura ja s'ha enviat prèviament (s'ha de fer una modificació) o no.
    → Implementar la PR #21
  • Periodo → Número de mes d'una factura però tenim en compte el valor '0A' (Periodicidad anual)?
    → No hi ha Periodicidad Anual

Desarrollo para alquileres de locales para facturas emitidas

Enlace de referencia: https://rfc.gisce.net/t/facturas-de-alquiler-de-locales/233

Hay que añadir los campos SituacionInmueble y ReferenciaCatastral para las facturas expedidas:

Opciones para SituacionInmueble:

  • "1": Inmueble con referencia catastral situado en cualquier punto del territorio español, excepto País Vasco y Navarra
  • "2": Inmueble situado en la Comunidad Autónoma del País Vasco o en la Comunidad Foral de Navarra
  • "3": Inmueble en cualquiera de las situaciones anteriores pero sin referencia catastral
  • "4": Inmueble situado en el extranjero

Quedaría de la siguiente forma:

'FacturaExpedida': {
    'DatosInmueble': {
        'DetalleInmueble': {
            'SituacionInmueble': ....
            'ReferenciaCatastral': ....  # Obligatorio si SituacionInmueble es distinto de "3" o "4"
        }
    }
}

Coses pendents 07/06/2017

  • Afegir marshmallow >= 2.13.5 (?) als requeriments
  • Quan una factura no té posició fiscal surt bool has no obj name

Uso de la librería

Hola, ¿Hay alguna documentación para el uso de estas librerías? No encuentro cómo usarlas.

Fer que la llibreria rebi dos URLs (una de producció i una de test)

Inicialitzar el servei amb dos URLs (url_production i url_test) i utilitzar una o altra en funció de si és test o no.

if self.test_mode and self.url_test:
    address = '{0}{1}'.format(self.url_test, config['type_address'])
    service = client.create_service(config['binding_name'], address)
elif not self.test_mode and self.url_production:
    address = '{0}{1}'.format(self.url_production, config['type_address'])
    service = client.create_service(config['binding_name'], address)
else:
    service = client.service

return service

Afegir missatges d'error específics pels camps de marshmallow

Quan hi ha errors validant una factura o generant l'objecte per enviar a l'AEAT es mostra un missatge predeterminat d'error amb un diccionari que conté els errors per cada camp. Fer que els errors no siguin de l'estil

`ClaveRegimenEspecialOTrascendencia is not a valid string` 

sinó que sigui

`La Clave de Regimen Especial para las Facturas Recibidas de la Posición Fiscal de la Factura no es válido`

Enviar un codi en 'IDOtro' de la 'Contraparte' quan no es disposi d'un NIF assignat a Espanya

http://www.agenciatributaria.es/AEAT.internet/Inicio/Ayuda/Modelos__Procedimientos_y_Servicios/Ayuda_P_G417____IVA__Llevanza_de_libros_registro__SII_/Informacion_general/Preguntas_frecuentes/2__Registro__Cuestiones_comunes/2_16___Cuando_debe_cumplimentarse_el_campo__IDOtro__dentro_del_bloque__Contraparte__e__IDFactura_____span_class__rojo_negrita__Revisada__span_.shtml

2.16. ¿Cuándo debe cumplimentarse el campo "IDOtro" dentro del bloque “Contraparte” e “IDFactura”?

Cuando la “contraparte de la operación (cliente/proveedor)” o el emisor de la factura no disponga de NIF asignado en España. Ocurre entre otros, en el supuesto de proveedores o clientes extranjeros. Los tipos de Identificación en el país de residencia y sus correspondientes valores son:
02: NIF-IVA
03: Pasaporte Revisada Revisada Agencia Tributaria Suministro Inmediato de Información (S.I.I.)
04: Documento oficial de identificación expedido por el país o territorio de residencia
05: Certificado de residencia
06: Otro documento probatorio

En el caso de clientes nacionales personas físicas, cuando el NIF del receptor sea correcto pero no figure censado en la AEAT, el registro de las facturas emitidas se podrá realizar indicando el tipo de identificación 07-No censado.

Abonaments

Al pujar una factura d'abonament em torna l'error de que les bases no coincideixen amb les quotes. El problema és un signe negatiu a la base de l'impost

{
    'iva_exento': False
    'iva_no_exento': True,
    'no_sujeta_a_iva': True, 
    'detalle_iva': [
        {
            'BaseImponible': -63.85,
            'CuotaRepercutida': 13.41,
            'TipoImpositivo': 21.0
        }
    ],
    'detalle_iva_exento': {
        'BaseImponible': 0
    },
    'sujeta_a_iva': True
}

Tractament IESE

No tinc clar el tractament de l'IESE. A l'enviament d'una factura elèctrica calcula aquest diccionari d'impostos

{'iva_exento': False, 'iva_no_exento': True, 'no_sujeta_a_iva': True, 'detalle_iva': [{'BaseImponible': 
 70.72, 'CuotaRepercutida': 14.85, 'TipoImpositivo': 0}], 'detalle_iva_exento': {'BaseImponible': 0}, 
 'sujeta_a_iva': True}

I l'enviament surt "Aceptado con errores" amb:

[2012] El campo CuotaRepercutida tiene un valor incorrecto para los campos TipoImpositivo y BaseImponible suministrados

V0.7: Coses opcionals per afegir

ESQUEMAS

  • Se añaden los campos opcionales ClaveRegimenEspecialOTrascendenciaAdicional1 y ClaveRegimenEspecialOTrascendenciaAdicional2 en los esquemas de facturas emitidas y recibidas. Así se recoge la posibilidad de combinar “claves de regímenes especial o trascendencia”. Por tanto, existe la posibilidad de informar de más de una clave (hasta tres), pero la informada en el campo ClaveRegimenEspecialOTrascendencia será la principal en el sentido de que esta primera clave marca las validaciones a considerar.
  • Se añade el campo opcional NumRegistroAcuerdoFacturacion en los esquemas de facturas emitidas y recibidas. Este campo será el número de registro obtenido al enviar el acuerdo de facturación correspondiente.

IDENTIFICACION

  • Para enviar una factura emitida cuya identificación del NIF receptor no figura censado en la AEAT se ha incluido en la contraparte del libro de facturas emitidas el nuevo tipo de identificación 07-No censado.

CLAVE DE RÉGIMEN ESPECIAL O TRASCENDENCIA EN FACTURAS EMITIDAS

  • La denominación de las claves de los libros registro se han modificado, en algunos casos, con la finalidad de precisar su contenido.
  • Se añade la clave 16-Primer semestre 2017

CLAVE DE RÉGIMEN ESPECIAL O TRASCENDENCIA EN FACTURAS RECIBIDAS

  • La denominación de las claves de los Libros registro se ha modificado en algunos casos con la finalidad de precisar su contenido
  • Se añade la clave 14-Primer semestre 2017

CONSULTA

  • Se han modificado los esquemas de consulta, añadiendo campos opcionales de búsqueda para poder filtrar las consultas por estos campos. Se mantiene ejercicio y periodo como campos obligatorios de filtrado.

RESPUESTA DE CONSULTA

  • Se añade el campo CSV en los esquemas de respuesta de la consulta. Informa del CSV asociado a cada registro guardado en el SII.
  • Se añade el campo opcional CSV en los esquemas de respuesta del suministro. Solo se envía este campo, si en la operación de alta, el registro enviado es rechazado por estar duplicado o, en la operación de baja, es rechazado porque ya está dado de baja. El campo contiene el CSV asociado al registro ya existente en el SII.
  • Se añade el campo EstadoCuadre en los esquemas de respuesta de la consulta de facturas emitidas y recibidas. Informa del estado de contraste asociado a la factura.
  • (Optional) Se añade el bloque opcional DatosDescuadreContraparte en los esquemas de respuesta de la consulta del los libros de facturas emitidas y recibidas. Contiene los datos de la contraparte que se mostrarán, sólo si hay discrepancia, es decir, en el caso de que el campo EstadoCuadre de la factura sea parcialmente contrastada.

Agrupar impuestos por línea de factura en vez de por línea de tasas de factura

Al buscar el detalle del IVA se usan las líneas de tasas de una factura, que están agrupadas por tasa.

for inv_tax in invoice.tax_line:
    if 'iva' in inv_tax.name.lower():
            [...]

Debe cambiarse y buscar las tasas por cada línea de factura:

for inv_line in invoice.invoice_line:
    for tax in inv_line.invoice_line_tax_id:
        if 'iva' in tax.name.lower():
            [...]

Change 'sii_sent' to 'sii_registered'

Need to change 'sii_sent' to 'sii_registered'

  • sii_sent represents when an invoice is sent to AEAT but its state can be (Accepted, AcceptedWithErrors, Incorrect, Error)
  • sii_registered represents when an invoice is registered to AEAT and its state can only be (Accepted or AcceptedWithErrors)

Facturas Emitidas Sujetas a IVA: registrar com a "No Exenta - Con Inversión de Sujeto Pasivo"

http://www.agenciatributaria.es/AEAT.internet/Inicio/Ayuda/Modelos__Procedimientos_y_Servicios/Ayuda_P_G417____IVA__Llevanza_de_libros_registro__SII_/Informacion_general/Preguntas_frecuentes/3__Libro_registro_de_facturas_expedidas/3_5___Como_se_registra_una_operacion_con_inversion_del_sujeto_pasivo____span_class__rojo_negrita__Revisada__span_.shtml

En el caso de clientes que sean empresas españolas, el proveedor o prestador del servicio registrará los datos de la factura en el Libro registro de Facturas Expedidas consignando en el bloque funcional ”Desglose factura” la clave “S2: Sujeta – No Exenta – Inv. Suj. Pasivo”. El campo “tipo impositivo” se informará con importe cero y el de “cuota repercutida” se dejará en blanco.

Utilitzar el bloc IdOtro per a NIFs no censats a l'AEAT

Pàgina 13
http://www.agenciatributaria.es/static_files/AEAT/Contenidos_Comunes/La_Agencia_Tributaria/Modelos_y_formularios/Suministro_inmediato_informacion/FicherosSuministros/V_07/PP_F_PRUEBAS_200417_Modo_compatibilidad.pdf

  • Se incorpora la posibilidad de incluir NIF cuya identificación figura incompleta para las facturas emitidas.

Para los casos en que se haya rechazado una factura emitida en un segundo reintento, porque la información de identificación del destinatario (NIF y nombre) no figure censada en la AEAT, la forma de proceder para enviar dicha factura se Departamento de Gestión Tributaria 13 no figure censada en la AEAT, la forma de proceder para enviar dicha factura se realizará a través del bloque IdOtro con los siguientes contenidos:

Código país: ES
Clave ID: 07. No censado
Número Id: NIF no censado del receptor de la factura
Apellidos y nombre: Nombre del no censado receptor de la factura.

Siempre que se utilice esta clave de identificación 07 el registro quedará aceptado con errores.

Afegir casos d'importació i exportació

Factures emeses: (Exportació)

  • S'ha de rebre una factura amb invoice.sii_out_clave_regimen_especial = '02' "Exportación"
  • Es registrarà com a exportación sujetas no exentas si tenen IVA 0% Exportaciones
  • Altrament es registrarà com a exportación -> entrega -> sujeta -> exenta
  • 3.7. ¿Cómo se registra una Exportación?

Factures rebudes: (Importació)

  • S'ha de rebre una factura amb invoice.sii_in_clave_regimen_especial = '13' "Factura correspondiente a una importación (informada sin asociar a un DUA)"
  • Es registrarà com a sujetas no exentas amb IVA 0% ❗❗❗ revisar com es registra (no hi ha recibidas sujetas ni no sujetas)
    4.5. ¿Cómo se registra una Importación?

Adaptar a la nueva versión 1.1 (a partir del 01-07-2018)

Desenvolupar l'enviament de factures "Primer semestre 2017"

Desenvolupar un fitxer sii/primer_semestre_2017.py per tal de generar l'objecte amb la informació corresponent al primer semestre especificada a continuació:

http://www.agenciatributaria.es/AEAT.internet/Inicio/Ayuda/Modelos__Procedimientos_y_Servicios/Ayuda_P_G417____IVA__Llevanza_de_libros_registro__SII_/Informacion_general/Preguntas_frecuentes/2__Registro__Cuestiones_comunes/2_39___Como_debe_suministrarse_la_informacion_correspondiente_al_primer_semestre___span_class__rojo_negrita__Novedad__span_.shtml

  • Clave de régimen especial. “Primer semestre 2017”
  • Descripción de la operación: “Registro del Primer semestre”.
  • Libro registro de facturas emitidas:
    Con independencia del tipo de operación informado (no sujeta, sujeta y exenta o no exenta) deberá informarse en cualquier caso como factura sujeta y no exenta.
  • Libro registro de facturas recibidas:
    • Fecha registro contable: Fecha del envío.
    • Cuota deducible: Etiqueta con 0.

Dividir DetalleIVA en diferents Detalles d'IVA segons el tipus impositiu

Posar d'una de les dues formes:

  1. Fent que DetalleIVA tingui una llista de tots els IVA
"DesgloseIVA":{
    "DetalleIVA":[
    {
        "TipoImpositivo":21,
        "BaseImponible":22.07,
        "CuotaRepercutida":4.63
    },
    {
        "TipoImpositivo":10,
        "BaseImponible":1.10,
        "CuotaRepercutida":0.10
    }]
}
  1. Fent que DesgloseIVA tingui una llista de DetalleIVA
"DesgloseIVA":[
    {
        "DetalleIVA":{
            "TipoImpositivo":21,
            "BaseImponible":22.07,
            "CuotaRepercutida":4.63
        }
    },
    {
        "DetalleIVA":{
            "TipoImpositivo":10,
            "BaseImponible":1.10,
            "CuotaRepercutida":0.10
        }
    }
]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.