Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice (https://www.clubdelphi.com/foros/showthread.php?t=91252)

josecarrillo 03-07-2017 10:37:11

Yo ademas de capicom tube que instalar el configurador de hacienda(Configurador_FNMT_RCM.exe)

pesadillator 03-07-2017 10:47:47

Gracias he registrado capicom.dll, pero ahora me sale "conexión a Oracle no disponible", estoy accediendo al portal de pruebas, puede ser que ya no este activo?
De hecho en el ordenador que funcionaba me sale el mismo error.

josecarrillo 03-07-2017 10:48:29

Instala capicom y configurador de hacienda. (Configurador_FNMT_RCM.exe, capicom_dc_sdk.msi)

newtron 03-07-2017 10:49:05

Cita:

Empezado por pesadillator (Mensaje 518877)
Gracias he registrado capicom.dll, pero ahora me sale "conexión a Oracle no disponible", estoy accediendo al portal de pruebas, puede ser que ya no este activo?

Ese error es del servidor de la aeat, a mi me da el mismo mensaje, así que por tu parte ya tienes el problema resuelto.

josecarrillo 03-07-2017 10:50:14

El portal de pruebas creo que hoy esta cerrado. Yo estoy ya en el bueno y me va todo bien. Solo he tenido que compilar cambiado la version V 0.7 por la v 1.0

RafaSerMed 03-07-2017 11:34:59

Comienza el baile.
 
Pues eso, que comenzamos el baile, y en este caso pisando a nuestro partener...

El Modo en pruebas, o no funciona o da error.

En nuestro caso tenemos dos problemas, el primero es que no nos permite enviar ni consultar información con un certificado no censado para el SII. Cuando antes funcionaba perfectamente y en la documentación de la fase de pruebas se especifica literalmente: "Está abierto a todos los sujetos pasivos, ya sean obligados del SII o no."

Y en segundo lugar con un certificado obligado al SII, nos remite el error por aquí comentado anteriormente: "Conexión a Oracle no disponible".

Ou Yeah!!!

pablog2k 03-07-2017 11:48:50

pues si, parece que el servidor de pruebas hoy no funciona .....

austral_es 03-07-2017 11:55:34

Acabo de probar el servidor de pruebas y YA FUNCIONA!

RafaSerMed 03-07-2017 13:07:16

Cita:

Empezado por austral_es (Mensaje 518886)
Acabo de probar el servidor de pruebas y YA FUNCIONA!

Efectivamente empieza a funcionar. Aunque en ocasiones sigue dando errores, pero funciona 9 de cada 10.......

didou 03-07-2017 13:27:41

envío primer semestre
 
buenos días, alguien sabe si una vez enviado el primer semestre hay opciones de bajas y/o modificaciones de estas facturas del primer semestre? además por lo que estoy viendo hay que hacer 6 envios (uno por cada mes) de las facturas del 1er. semestre, no se puede hacer un solo envio agrupando todas las facturas del primer semestre?

Gracias y buen SII para todos.

newtron 03-07-2017 13:31:15

Ya empezamos....

Tengo un cliente que ya ha enviado datos, se le ha quedado colgado por problemas en el webservice y ha cerrado el programa "a lo bruto". Consultamos y resulta que parte de las facturas constan como enviadas y otra parte no y, logicamente, mi programa no se ha enterado de cuales han quedado subidas porque se ha colgado antes.

¿Alguna idea de si es posible preveer esto?

Saludos

newtron 03-07-2017 13:37:23

Cita:

Empezado por didou (Mensaje 518888)
buenos días, alguien sabe si una vez enviado el primer semestre hay opciones de bajas y/o modificaciones de estas facturas del primer semestre? además por lo que estoy viendo hay que hacer 6 envios (uno por cada mes) de las facturas del 1er. semestre, no se puede hacer un solo envio agrupando todas las facturas del primer semestre?

Gracias y buen SII para todos.

Yo no he leido por ningún sitio que haya que enviar por meses los datos del primer semestre de 2016 y, por otro lado, imagino que el tratamiento para bajas y modificaciones será exactamente igual que el resto de periodos.

Saludos

marine 03-07-2017 13:37:50

Error con certificado
 
Buenas , aparte de los problemas sufridos con la caida del portal de pruebas me encuentro ahora con problemas de certificados donde antes no los tenia. Ha cambiado algo ?

didou 03-07-2017 13:43:51

Cita:

Empezado por newtron (Mensaje 518891)
Yo no he leido por ningún sitio que haya que enviar por meses los datos del primer semestre de 2016 y, por otro lado, imagino que el tratamiento para bajas y modificaciones será exactamente igual que el resto de periodos.

Saludos

En los XML de ejemplo en el nodo periodo esta especificado el mes de la fecha de la factura o sea que no se que pensar, yo creo que si hay que enviar por periodo las fras. del 1er. semestre.
<siiLR:RegistroLRFacturasEmitidas>
<sii:PeriodoImpositivo>
<sii:Ejercicio>2017</sii:Ejercicio>
<sii:Periodo>03</sii:Periodo>

dgcapel 03-07-2017 13:47:54

Buenas tardes,
alguno de vosotros ha conseguido deserializar una respuesta del servidor en formato texto, una vez que la tienes guardada como un fichero, ¿mediante las clases del SII Service? Uso C#, pero cualquier sugerencia en delphi es bienvenida. Es un problema con los Namespaces, pero no consigo dar con la tecla.

Código Delphi [-]
                
// File : Open
                XmlSerializer serializer = new XmlSerializer(typeof(RespuestaLRFRecibidasType));
                fs = new FileStream(xmlReponseUri, FileMode.Open);
                XmlReader reader = XmlReader.Create(fs);

                // Deserialize
                RespuestaLRFRecibidasType facturaRecibida = (RespuestaLRFRecibidasType)serializer.Deserialize(reader);

                // File : Close
                fs.Close();

                // Response
                Console.WriteLine("CSV: " + facturaRecibida.CSV);

newtron 03-07-2017 13:50:14

Cita:

Empezado por didou (Mensaje 518893)
En los XML de ejemplo en el nodo periodo esta especificado el mes de la fecha de la factura o sea que no se que pensar, yo creo que si hay que enviar por periodo las fras. del 1er. semestre.
<siiLR:RegistroLRFacturasEmitidas>
<sii:PeriodoImpositivo>
<sii:Ejercicio>2017</sii:Ejercicio>
<sii:Periodo>03</sii:Periodo>

Vale, hay que informar del periodo, pero si no me equivoco esa información va en cada registro, no en cabecera, con lo que informas del periodo en cada factura que se envía.

xamminf 03-07-2017 13:50:35

Cita:

Empezado por newtron (Mensaje 518890)
Ya empezamos....

Tengo un cliente que ya ha enviado datos, se le ha quedado colgado por problemas en el webservice y ha cerrado el programa "a lo bruto". Consultamos y resulta que parte de las facturas constan como enviadas y otra parte no y, logicamente, mi programa no se ha enterado de cuales han quedado subidas porque se ha colgado antes.

¿Alguna idea de si es posible preveer esto?

Saludos

Newtron Jimmy,

Esa es el peor de los escenarios posibles.. y no es para tanto porque lo que tiene que hacer tu usuario es regularizar la situacion:

Entrar al portal, ver las que si estan enviadas y marcarlas en tu programa como enviadas para que no entren en el próximo envio.

¿ ok ?

Hay que aplicar mucha lógica informática de tolerancia a fallos para evitar que estos fallos nos amarguen el verano.

newtron 03-07-2017 14:00:48

Cita:

Empezado por xamminf (Mensaje 518896)
Newtron Jimmy,

Esa es el peor de los escenarios posibles.. y no es para tanto porque lo que tiene que hacer tu usuario es regularizar la situacion:

Entrar al portal, ver las que si estan enviadas y marcarlas en tu programa como enviadas para que no entren en el próximo envio.

¿ ok ?

Hay que aplicar mucha lógica informática de tolerancia a fallos para evitar que estos fallos nos amarguen el verano.

Hasta ahí llego compañero, yo preguntaba si había alguna manera de que, al enviar los datos hubiera alguna especie de transacción o algo que nosotros pudiéramos tocar para que no ocurra esto, porque me da la impresión de que está fuera de nuestra mano. Pregunto porque, con lo listos que deben de ser los que han montado ese chiringuito, deberían de tener esta posibilidad contemplada.

Saludos

RafaSerMed 03-07-2017 14:17:43

Cita:

Empezado por newtron (Mensaje 518890)
Ya empezamos....

Tengo un cliente que ya ha enviado datos, se le ha quedado colgado por problemas en el webservice y ha cerrado el programa "a lo bruto". Consultamos y resulta que parte de las facturas constan como enviadas y otra parte no y, logicamente, mi programa no se ha enterado de cuales han quedado subidas porque se ha colgado antes.

¿Alguna idea de si es posible preveer esto?

Saludos

Eso se debe de prever siempre. No solo por los posibles errores de cuelgue del programa al enviar o lo que sea. También porque si enviamos mucha información, por ejemplo enviamos 3000 facturas a la vez y el servicio tarda y no llega la respuesta o se corta a mitad del envío, con lo que tenemos la mitad por ejemplo de facturas procesadas cuando hemos enviado todas....

Pues bien, la AEAT, comento en alguna que otra reunion que esto puede pasar. En ese caso al volver a enviar toda la información de nuevas (por ejemplo en tu caso), tenemos que procesar la respuesta de aquellas que nos indica que están duplicadas. Eso significa que dichas facturas ya han sido presentadas. Por esa razón en las ultimas versiones añadieron el CSV en la respuesta del error de factura duplicada.

A mi no me parece una solución muy viable, ya que el resultado de factura duplicada puede ser un resultado correcto en muchos casos y no tiene porque ser el caso de que se hayan enviado previamente y no se haya procesado la respuesta. Sinceramente me parece una chapuza.

La solución medianamente viable es que al intentar enviar los registros de alta, previamente realicemos una consulta con el filtro de la factura que queremos añadir. En ese caso si nos devuelve que existe un registro con esos criterios en el filtro, nos indicará la fecha de presentación. Con esa fecha podemos "deducir" si se ha presentado anteriormente pero no se ha registrado la respuesta....

Vamos sencillo.

RafaSerMed 03-07-2017 14:21:48

Fallo en la recepcion de facturas emitidas o recibidas por Nif no declarado
 
Ahora mismo estamos teniendo problemas en el envío de facturas, ya sean recibidas o emitidas, con el código de error de vuelta 1117, la contraparte no está censada...

Pues bien son NIF totalmente correctos, con su nombre perfectamente introducido y son NIFs utilizados hace 10m y que NO daban ningún tipo de error....

Pasados 5m, esas mismas facturas, sin tocar nada, ya se procesan perfectamente.......

Bufffff que miedo me está dando todo esto....

xamminf 03-07-2017 14:27:59

Cita:

Empezado por newtron (Mensaje 518897)
Hasta ahí llego compañero, yo preguntaba si había alguna manera de que, al enviar los datos hubiera alguna especie de transacción o algo que nosotros pudiéramos tocar para que no ocurra esto, porque me da la impresión de que está fuera de nuestra mano. Pregunto porque, con lo listos que deben de ser los que han montado ese chiringuito, deberían de tener esta posibilidad contemplada.

Saludos


El sistema es síncrono, es decir: petición y respuesta en el mismo viaje.

¿ No habría sido mejor montar un sistema asíncrono de manera que envias ahora y puedes tener la repuesta más tarde ?
Así el asunto sólo se trataría de enviar el .xml y ellos lo procesarían cuando pudieran y cuando lo hicieran colocarían un .xml que podríamos leer cuando conectasemos.

Es verdad que tiene alguna desventaja, pero tiene algunas otras, como este tema de los cortes.

En fin, pura informática ficción.

figo21 03-07-2017 15:07:45

Cita:

Empezado por xamminf (Mensaje 518902)
El sistema es síncrono, es decir: petición y respuesta en el mismo viaje.

¿ No habría sido mejor montar un sistema asíncrono de manera que envias ahora y puedes tener la repuesta más tarde ?
Así el asunto sólo se trataría de enviar el .xml y ellos lo procesarían cuando pudieran y cuando lo hicieran colocarían un .xml que podríamos leer cuando conectasemos.

Es verdad que tiene alguna desventaja, pero tiene algunas otras, como este tema de los cortes.

En fin, pura informática ficción.

Buenos días, a ver este problema que comentáis lo tenéis solucionado con las consultas.
Podéis implementar un sistema que haga una consulta y las facturas que te devuelva la consulta y no tengáis marcadas en vuestro sistema, las marcáis.
De hecho, si mal no recuerdo la consulta te devuelve todos los datos que se envían en el alta de la factura, más los propios de la consulta (contraste).


Un saludo.

jcapilla 03-07-2017 15:16:20

Cita:

Empezado por dgcapel (Mensaje 518894)
Buenas tardes,
alguno de vosotros ha conseguido deserializar una respuesta del servidor en formato texto, una vez que la tienes guardada como un fichero, ¿mediante las clases del SII Service? Uso C#, pero cualquier sugerencia en delphi es bienvenida. Es un problema con los Namespaces, pero no consigo dar con la tecla.

Código Delphi [-]
                
// File : Open
                XmlSerializer serializer = new XmlSerializer(typeof(RespuestaLRFRecibidasType));
                fs = new FileStream(xmlReponseUri, FileMode.Open);
                XmlReader reader = XmlReader.Create(fs);

                // Deserialize
                RespuestaLRFRecibidasType facturaRecibida = (RespuestaLRFRecibidasType)serializer.Deserialize(reader);

                // File : Close
                fs.Close();

                // Response
                Console.WriteLine("CSV: " + facturaRecibida.CSV);

Si cambias en el xml de respuesta RespuestaLRFacturasRecibidas por RespuestaLRFRecibidasType y quitas los tags de env: debe funcionar.

erojo 03-07-2017 15:21:23

sii aeat cobros facturas expedidas
 
Hola,

No consigo suministrar al SII la información de un cobro asociado a una factura expedida. El mensaje que me devuelve el Web Service de la AEAT es el siguiente:
Codigo[4124].Error La direccion no se corresponde con el fichero de entrada.
Pero no soy capaz de detectar dónde está el problema. ¿Sería alguien tan amable de adjuntar un ejemplo de suministro de cobro que funcione? Mi código está en VB .NET y es el siguiente:

Gracias,

Dim blnReturn As Boolean = True
Dim objCobroEmitido As New SuministroCobrosEmitidas.SuministroLRCobrosEmitidas

Try
Dim objCabecera As New SuministroCobrosEmitidas.CabeceraSiiCobrosPagos
objCabecera.IDVersionSii = SuministroCobrosEmitidas.VersionSiiType.Item10
Dim objTitular As New SuministroCobrosEmitidas.PersonaFisicaJuridicaESType
objTitular.NIF = "AAAAAAAAA"
objTitular.NombreRazon = "XXXXXXXXX XXXXXX"
objCabecera.Titular = objTitular
objCobroEmitido.Cabecera = objCabecera

Dim objRegistrosCobro As SuministroCobrosEmitidas.LRCobrosEmitidasType()
ReDim Preserve objRegistrosCobro(0)

Dim objRegistroCobro As New SuministroCobrosEmitidas.LRCobrosEmitidasType
Dim objIdFactura As New SuministroCobrosEmitidas.IDFacturaExpedidaBCType
Dim objIdEmisor As New SuministroCobrosEmitidas.IDFacturaExpedidaBCTypeIDEmisorFactura
objIdEmisor.NIF = "AAAAAAAAA"

objIdFactura.IDEmisorFactura = objIdEmisor
objIdFactura.NumSerieFacturaEmisor = "FA1700002"
objIdFactura.FechaExpedicionFacturaEmisor = Now.ToString("dd-MM-yyyy") '"21-06-2017"
objRegistroCobro.IDFactura = objIdFactura

Dim objDatosPago As SuministroCobrosEmitidas.DatosPagoCobroType()
ReDim Preserve objDatosPago(0)

Dim objDatoPago As New SuministroCobrosEmitidas.DatosPagoCobroType
objDatoPago.Fecha = Now.ToString("dd-MM-yyyy") '"21-06-2017"
objDatoPago.Importe = "100"
objDatoPago.Medio = SuministroCobrosEmitidas.MedioPagoType.Item04
'objDatoPago.Cuenta_O_Medio = "Al contado"

objDatosPago.ToList.Add(objDatoPago)
objRegistroCobro.Cobros = objDatosPago

objRegistrosCobro.ToList.Add(objRegistroCobro)

objCobroEmitido.RegistroLRCobros = objRegistrosCobro

Dim objSIIService As New SuministroCobrosEmitidas.siiService
objSIIService.ClientCertificates.Add(obtenerCertificadoSIIAEAT)
objSIIService.Url = "https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP"
objSIIService.Timeout = 10000

Dim objRespCobrosEmitidos As New SuministroCobrosEmitidas.RespuestaLRCobrosEmitidasType
objRespCobrosEmitidos = objSIIService.SuministroLRCobrosEmitidas(objCobroEmitido)

Select Case objRespCobrosEmitidos.EstadoEnvio
Case SuministroCobrosEmitidas.EstadoEnvioType.Correcto
MsgBox("Correcto")
Case SuministroCobrosEmitidas.EstadoEnvioType.Incorrecto
MsgBox("Incorrecto")
Case SuministroCobrosEmitidas.EstadoEnvioType.ParcialmenteCorrecto
MsgBox("Parcialmente Correcto")
End Select



Catch ex As Exception
blnReturn = False
Finally
If Not objCobroEmitido Is Nothing Then
objCobroEmitido = Nothing
End If
End Try

RafaSerMed 03-07-2017 16:24:35

Cita:

Empezado por erojo (Mensaje 518905)
Hola,

No consigo suministrar al SII la información de un cobro asociado a una factura expedida. El mensaje que me devuelve el Web Service de la AEAT es el siguiente:
Codigo[4124].Error La direccion no se corresponde con el fichero de entrada.
Pero no soy capaz de detectar dónde está el problema. ¿Sería alguien tan amable de adjuntar un ejemplo de suministro de cobro que funcione? Mi código está en VB .NET y es el siguiente:

Gracias,

Dim blnReturn As Boolean = True
Dim objCobroEmitido As New SuministroCobrosEmitidas.SuministroLRCobrosEmitidas

Try
Dim objCabecera As New SuministroCobrosEmitidas.CabeceraSiiCobrosPagos
objCabecera.IDVersionSii = SuministroCobrosEmitidas.VersionSiiType.Item10
Dim objTitular As New SuministroCobrosEmitidas.PersonaFisicaJuridicaESType
objTitular.NIF = "AAAAAAAAA"
objTitular.NombreRazon = "XXXXXXXXX XXXXXX"
objCabecera.Titular = objTitular
objCobroEmitido.Cabecera = objCabecera

Dim objRegistrosCobro As SuministroCobrosEmitidas.LRCobrosEmitidasType()
ReDim Preserve objRegistrosCobro(0)

Dim objRegistroCobro As New SuministroCobrosEmitidas.LRCobrosEmitidasType
Dim objIdFactura As New SuministroCobrosEmitidas.IDFacturaExpedidaBCType
Dim objIdEmisor As New SuministroCobrosEmitidas.IDFacturaExpedidaBCTypeIDEmisorFactura
objIdEmisor.NIF = "AAAAAAAAA"

objIdFactura.IDEmisorFactura = objIdEmisor
objIdFactura.NumSerieFacturaEmisor = "FA1700002"
objIdFactura.FechaExpedicionFacturaEmisor = Now.ToString("dd-MM-yyyy") '"21-06-2017"
objRegistroCobro.IDFactura = objIdFactura

Dim objDatosPago As SuministroCobrosEmitidas.DatosPagoCobroType()
ReDim Preserve objDatosPago(0)

Dim objDatoPago As New SuministroCobrosEmitidas.DatosPagoCobroType
objDatoPago.Fecha = Now.ToString("dd-MM-yyyy") '"21-06-2017"
objDatoPago.Importe = "100"
objDatoPago.Medio = SuministroCobrosEmitidas.MedioPagoType.Item04
'objDatoPago.Cuenta_O_Medio = "Al contado"

objDatosPago.ToList.Add(objDatoPago)
objRegistroCobro.Cobros = objDatosPago

objRegistrosCobro.ToList.Add(objRegistroCobro)

objCobroEmitido.RegistroLRCobros = objRegistrosCobro

Dim objSIIService As New SuministroCobrosEmitidas.siiService
objSIIService.ClientCertificates.Add(obtenerCertificadoSIIAEAT)
objSIIService.Url = "https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP"
objSIIService.Timeout = 10000

Dim objRespCobrosEmitidos As New SuministroCobrosEmitidas.RespuestaLRCobrosEmitidasType
objRespCobrosEmitidos = objSIIService.SuministroLRCobrosEmitidas(objCobroEmitido)

Select Case objRespCobrosEmitidos.EstadoEnvio
Case SuministroCobrosEmitidas.EstadoEnvioType.Correcto
MsgBox("Correcto")
Case SuministroCobrosEmitidas.EstadoEnvioType.Incorrecto
MsgBox("Incorrecto")
Case SuministroCobrosEmitidas.EstadoEnvioType.ParcialmenteCorrecto
MsgBox("Parcialmente Correcto")
End Select



Catch ex As Exception
blnReturn = False
Finally
If Not objCobroEmitido Is Nothing Then
objCobroEmitido = Nothing
End If
End Try

Fijate a donde lo estas enviando, en el código aparece "https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP" cuando la url de pruebas para cobros de facturas expedidas es: "https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactCOBV1SOAP"

seccion_31 03-07-2017 16:55:34

nosotros estamos enviando sin problemas. tal cual días anteriores, sin mas inconvenientes.

Lo que no tengo es la dirección del menú de opciones en la web de la AEAT de la nueva versión 7
¿alguien la sabe?

Saludos y muchas gracias a todos por vuestras aportaciones y comentarios. Es una distinción especial pertenecer a los programadores Delphi.

newtron 03-07-2017 17:49:02

Cita:

Empezado por seccion_31 (Mensaje 518910)
nosotros estamos enviando sin problemas. tal cual días anteriores, sin mas inconvenientes.

Lo que no tengo es la dirección del menú de opciones en la web de la AEAT de la nueva versión 7
¿alguien la sabe?

Saludos y muchas gracias a todos por vuestras aportaciones y comentarios. Es una distinción especial pertenecer a los programadores Delphi.

¿Nueva versión 7? No sé a qué te refieres, si preguntas por la página donde se seleccionan los formularios de altas, consultas, etc de producción ya la puso alguien por aquí...

https://www.agenciatributaria.gob.es...ini/G417.shtml

Saludos

barnarasta 03-07-2017 20:32:54

Buenas tardes compañeros, tengo una duda sobre Consulta Facturas Emitidas que segun repase la documentacion parece imposible, pero igual se me paso algun detalle y alguien esta en identica situacion.

Supongamos una pequeña cadena de supermercados con 18 establecimientos en la provincia (por suerte no es canarias), cada centro tiene su propia numeracion de Facturas tipos F1, F2, F4.

La numeracion de las facturas tienen el formato [letra]-[ocho numeros] ---> A-00000000

Y el motivo de la consulta es:
se puede realizar una consulta en la que se reciba respuesta unicamente de un establecimiento?, es decir,
una consulta de un periodo de todas las factura que empiecen por A-.

Cualquier orientacion/idea sera bien recibida.
Gracias

CMB 03-07-2017 21:59:20

Cita:

Empezado por figo21 (Mensaje 518903)
Buenos días, a ver este problema que comentáis lo tenéis solucionado con las consultas.
Podéis implementar un sistema que haga una consulta y las facturas que te devuelva la consulta y no tengáis marcadas en vuestro sistema, las marcáis.
De hecho, si mal no recuerdo la consulta te devuelve todos los datos que se envían en el alta de la factura, más los propios de la consulta (contraste).Un saludo.

Dado que se trata de situaciones excepcionales, cuando la transmisión se corte (sea por culpa de la AEAT, o de la conexión a internet, o un bug del programa) y no se sepa qué facturas han sido enviadas y cuáles no, no merece la pena desarrollar rutinas tan complejas.

El usuario debe enviar de nuevo todas las facturas no marcadas. Una parte de ellas será rechazada por "duplicada". ¿Y qué hacer ahora con esas? Pues muy sencillo, se mandan como cambios, y el servidor suministrará un nuevo CSV. No importa que no haya habido cambios reales, por lo menos en el servidor de prueba las acepta igualmente.

Saludos,

figo21 04-07-2017 08:06:29

Cita:

Empezado por CMB (Mensaje 518915)
Dado que se trata de situaciones excepcionales, cuando la transmisión se corte (sea por culpa de la AEAT, o de la conexión a internet, o un bug del programa) y no se sepa qué facturas han sido enviadas y cuáles no, no merece la pena desarrollar rutinas tan complejas.

El usuario debe enviar de nuevo todas las facturas no marcadas. Una parte de ellas será rechazada por "duplicada". ¿Y qué hacer ahora con esas? Pues muy sencillo, se mandan como cambios, y el servidor suministrará un nuevo CSV. No importa que no haya habido cambios reales, por lo menos en el servidor de prueba las acepta igualmente.

Saludos,

Hola CMB, sí esa es otra solución. Yo tengo implementadas las dos.


Un saludo.

newtron 04-07-2017 09:04:39

Cita:

Empezado por CMB (Mensaje 518915)
Dado que se trata de situaciones excepcionales, cuando la transmisión se corte (sea por culpa de la AEAT, o de la conexión a internet, o un bug del programa) y no se sepa qué facturas han sido enviadas y cuáles no, no merece la pena desarrollar rutinas tan complejas.

El usuario debe enviar de nuevo todas las facturas no marcadas. Una parte de ellas será rechazada por "duplicada". ¿Y qué hacer ahora con esas? Pues muy sencillo, se mandan como cambios, y el servidor suministrará un nuevo CSV. No importa que no haya habido cambios reales, por lo menos en el servidor de prueba las acepta igualmente.

Saludos,

Es una buena solución aunque no sé si levantará suspicacias en la aeat modificar muchas facturas.

Saludos

seccion_31 04-07-2017 09:22:57

Cita:

Empezado por newtron (Mensaje 518912)
¿Nueva versión 7? No sé a qué te refieres, si preguntas por la página donde se seleccionan los formularios de altas, consultas, etc de producción ya la puso alguien por aquí...

https://www.agenciatributaria.gob.es...ini/G417.shtml

Saludos

:)

perdón me referia la nueva versión 1.

gracias x el enlace.

CMB 04-07-2017 09:44:18

Cita:

Empezado por newtron (Mensaje 518922)
Es una buena solución aunque no sé si levantará suspicacias en la aeat modificar muchas facturas. Saludos

Es probable que despierte suspicacias, pero tienes una buena explicación para darles.

RafaSerMed 04-07-2017 09:47:21

Cita:

Empezado por CMB (Mensaje 518915)
Dado que se trata de situaciones excepcionales, cuando la transmisión se corte (sea por culpa de la AEAT, o de la conexión a internet, o un bug del programa) y no se sepa qué facturas han sido enviadas y cuáles no, no merece la pena desarrollar rutinas tan complejas.

El usuario debe enviar de nuevo todas las facturas no marcadas. Una parte de ellas será rechazada por "duplicada". ¿Y qué hacer ahora con esas? Pues muy sencillo, se mandan como cambios, y el servidor suministrará un nuevo CSV. No importa que no haya habido cambios reales, por lo menos en el servidor de prueba las acepta igualmente.

Saludos,

Si, yo lo comentaba igual en algún post anterior. Pero ojo, como decía también no es la opción mas optima. Algunos softwares contables muy extendidos (no daré nombres...) no hacen la comprobación de duplicidad de facturas a la hora de introducirlas en dicho software. Por lo que el error de factura duplicada puede que no sea porque se envía la misma factura, sino porque enviamos otra que tiene el mismo numero (por error al introducirlo o lo que sea).

Como ha comentado otro usuario, la opción mas fiable, es realizar una consulta de la información enviada. Yo esto lo hago si detecto que existe un error en la transmisión. Se activa una opción de validación de datos entre los datos introducidos y los datos enviados a la AEAT.

xamminf 04-07-2017 09:51:08

Cita:

Empezado por CMB (Mensaje 518927)
Es probable que despierte suspicacias, pero tienes una buena explicación para darles.

Ya, pero cuando vas en carretera, lo mejor, es que la GC no te pare, porque aplicando reglamentación ¡ te pueden sacar de todo ! ¿ No sabías que España se generan más de un millón de líneas de leyes al año ? ¡ Como para estar al día !

batuzail 04-07-2017 11:19:31

Cita:

Empezado por jcapilla (Mensaje 518904)
Si cambias en el xml de respuesta RespuestaLRFacturasRecibidas por RespuestaLRFRecibidasType y quitas los tags de env: debe funcionar.

Hola,
Para convertir en xml la respuesta yo uso
Código:

        public  bool GetXMLFromObject(object o)
        {
            StringWriter sw = new StringWriter();
            XmlTextWriter tw = null;
            try
            {
                XmlSerializer serializer = new XmlSerializer(o.GetType());
                tw = new XmlTextWriter(sw);
                serializer.Serialize(tw, o);
            }
            catch (Exception ex)
            {
                //Handle Exception Code
                return false;
            }
            finally
            {
                sw.Close();
                if (tw != null)
                {
                    tw.Close();
                }
            }

            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\tmp\" + o.ToString() + ".xml"))
            {
                file.WriteLine(sw.ToString());

            }
            return true;
        }


jcapilla 04-07-2017 20:20:53

Cita:

Empezado por batuzail (Mensaje 518932)
Hola,
Para convertir en xml la respuesta yo uso
Código:

        public  bool GetXMLFromObject(object o)
        {
            StringWriter sw = new StringWriter();
            XmlTextWriter tw = null;
            try
            {
                XmlSerializer serializer = new XmlSerializer(o.GetType());
                tw = new XmlTextWriter(sw);
                serializer.Serialize(tw, o);
            }
            catch (Exception ex)
            {
                //Handle Exception Code
                return false;
            }
            finally
            {
                sw.Close();
                if (tw != null)
                {
                    tw.Close();
                }
            }

            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\tmp\" + o.ToString() + ".xml"))
            {
                file.WriteLine(sw.ToString());

            }
            return true;
        }


Creo que el problema es que el xml que devuelve AEAT (fichero) al deserializarlo con el objeto falla. Yo me encontre con el problema hace tiempo e incluso creo recordar que consulte por aqui. Si haces el replace digamos que el xml tiene el formato que espera la deserializacion.

CMB 04-07-2017 22:02:16

Factura recibida simplificada
 
Al registrar una factura recibida simplificada hay que poner TipoFactura = F2, pero ¿se pueden omitir los datos de la contraparte (NombreRazon y NIF) del mismo modo que con facturas emitidas?

Saludos y gracias,

APO 05-07-2017 09:05:28

Cita:

Empezado por joefrommalaka (Mensaje 515193)
Hola a todos. Antes de nada agradeceros a todos por la ayuda ofrecida que me ha sido de mucha utilidad.

jacju no se si solucionaste ya este problema, "El sistema no puede encontrar el archivo especificado. - URL: https://www7.aeat.es/wlpl/SSII-FACT/ws/fe/SiiFactFEV1SOAP", a mi también me estaba dando el mismo error y tras dar muchas vueltas al final me di cuenta que el mismo ejecutable con el mismo certificado en unas maquinas me funcionaba y en otras no. El problema es la versión de Internet Explorer, en mi caso por ejemplo en Internet Explorer 8 el certificado parece que no funciona correctamente, para solucionarlo debes tener instalado Internet Explorer 11.

Un saludo

Muchas gracias por el aporte porque me he encontrado con la misma situación.

Entonces, ¿entiendo que no se pueden realizar envíos al SII con un Windows XP, ya que no se pueden instalar versiones superiores a Explorer 8?

elcharlie 05-07-2017 10:10:45

Buenos días,
¿Alguien sabe que es el campo <NumRegistroAcuerdoFacturacion> de las factura emitidas y recibidas? En la documentación pone que es
Este campo será el número de registro obtenido al enviar el acuerdo de facturación correspondiente. Pero la verdad es que no sé lo que es, ni para que se usa. Sé que es un campo opcional, pero me gustaría conocer para que se usa, no sea que lo este haciendo mal.
Saludos a tod@s.


La franja horaria es GMT +2. Ahora son las 11:02:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi