![]() |
RECTIFICATIVA por SUSTITUCION
Buenas,
tengo un error en algunas facturas enviadas y me dicen que para solucionarlo debo hacer una rectificativa por sustitución y tengo varias dudas: 1. ¿Esta factura rectificativa habría que mandarla a la URL de alta? 2. ¿El bloque de encadenamiento de la factura con errores habría que actualizarlo para que la rectificativa "apunte" a la última enviada o simplemente tendría que cambiar los datos incorrectos y añadir el nodo <FacturaRectificativa>? Esto lo pregunto porque me he dado cuenta del error yo pero las facturas han sido recibidas sin errores y por lo tanto, después de estas, se han enviado otras correctas. 3. En el nodo <FacturaRectificativa> no tengo muy claro que son exactamente los valores que hay que poner en <BaseRectificada> y <CuotaRectificada>. Por ejemplo, si el caso es que he vendido una coca-cola de 2€ ¿qué valores se supone que deberían tener BaseRectificada y CuotaRectificada? Muchas gracias de antemano, estoy un poco perdido con las rectificativas... |
Cita:
2. El encadenamiento debe apuntar siempre a la última factura emitida por ese dispositivo y emisor, independientemente de la serie, de si ha habido errores, etc. Si lo tienes automático (como debería ser, entiendo) no tienes que actualizar nada... de hecho incluso facturas que den error, sean rechazadas, etc. se tienen en cuenta para el encadenamiento. 3. Cuando la factura es por sustitución, en Base y Cuota rectificadas estás indicando el importe que estás "anulando". En tu caso, si los 2€ son el total de la factura, en la base serían los 2€ sin el IVA, y en la cuota sería el IVA, que entre los dos sumarían 2€. Con esto, le estás diciendo a Hacienda que 2€ de esa factura sustituida dejan de computar, y la nueva factura emitida quedaría como debería haber sido la anterior, computando todo lo que indiques. Luego ya las facturas rectificativas por diferencias son otro asunto... |
Cita:
|
Seguimos con problemas en Vizcaya
Buenos días a todos
Seguimos sin poder finalizar el proceso de envío con Vizcaya, ahora tenemos el siguiente problema .. cuando firmamos el filchero Ticket Bai, si NO incluimos los siguiente parámetros en la firma: \npolicyIdentifier=EL ENLACE A POLICYIDENTIFIER \npolicyIdentifierHash=Quzn98x3PMbSHwbUzaj5f5KOpiH0u8bvmwbbbNkO9Es= \npolicyIdentifierHashAlgorithm=EL ENLACE A HASHALGORITHM \npolicyQualifier=EL ENLACE A POLICYQUALIFIER El resultado es que a la hora del envío el servidor de Batuz nos devuelve un error de validación de certificado (lógico al no incluir los parámetros), pero si los incluimos nos devuelve un error de decodificación de base64 .. el caso es que cuando decodificamos el Ticket Bai lo hacemos sin problema. Saludos. |
Yo he probado eso mismo y no me funciona
Pues yo he probado ese mismo comando:
Código:
openssl pkcs12 -in keyname.p12 -out keyname.pem -nodes -clcerts<b>Parse error</b>: syntax error, unexpected identifier "pkcs12" in <b>/srv/vhost/kalion.com/home/html/enviaXML.php</b> on line <b>32</b> Lo cual es lógico porque ese comando con espacios entre medias no me ha parecido que exista en PHP. Lo he buscado en la bibliografía oficial y existen otros. ¿es en otro leguaje? ¿hay que adaptarlo a cada lenguaje en concreto? Si alguien pudiera responder lo agradecería porque llevo luchando con esto ni se sabe. |
Cita:
Yo lo estoy usando mas o menos asi para comprobar la fecha de caducidad desde delphi Código:
openssl pkcs12 -in "certificadoengineclaveprivada.pfx" -passin pass:password -passout pass:password -clcerts -nodes | openssl x509 -noout -enddate |
Este ha sido una repetición del mensaje anterior creada por error. No sé como borrarlo. Siento las molestias
|
No me deja escribir la clave
Cita:
¿alguien tiene algún vínculo a un tutorial o similar? Gracias otra vez |
No me deja escribir la clave
Perdón por repetirme.
|
No me deja escribir la clave
¿Cómo puedo borrar los mensajes repetidos?
|
Cita:
Por si acaso sea eso |
Tarjetas regalo
Buenos días, ¿alguien ha tenido que lidiar con tarjetas regalo? He enviado varios mensajes a las diferentes haciendas preguntando como se tiene que gestionar este tipo de operativa y no me han aclarado absolutamente nada. (que sorpresa...)
Se me plantean dos posibilidades: 1) Para operativas de recarga de tarjetas regalo, generar un fichero de alta de TicketBAI donde el desglose de factura sea NoSujeto con causa OT y en el importe el correspondiente a la recarga de la tarjeta. Por otra parte, cuando se hace uso de la tarjeta regalo no reflejar nada en el fichero de alta ya que se trataría como un medio de pago. 2) Para operativas de recarga de tarjetas regalo, generar un fichero de alta de TicketBAI donde el desglose de factura sea NoSujeto con causa OT y en el importe el correspondiente a la recarga de la tarjeta. Por otra parte, cuando se hace uso de la tarjeta regalo, reflejar ese importe empleado como si fuera un descuento. 3) Para operativas de recarga de tarjetas regalo, no generar un fichero de alta TicketBAI ya que no hay un movimiento real de mercancías ni existe IVA que puedan recaudar (es un cambio de un tipo de medio de pago por otro) Por otra parte, cuando se hace uso de la tarjeta regalo no reflejar nada en el fichero de alta ya que se trataría como un medio de pago. A ver si alguien puede arrojar un poco de luz... Gracias! |
Tarjetas regalo
En mi opinión, por el hecho de ser un concepto no sujeto yo optaría por la opción 3, dado que al ser no sujeto no se da el hecho imponible, lo mismo que tampoco se indicaría en el modelo 303 de IVA.
Otra cosa es que la factura contenga conceptos adicionales sujetos a IVA, o una factura de servicios a empresas intracomunitarias (no sujeta por reglas de localización). No sé qué pensarán los compañeros pero, en tu caso, yo pienso que sería la tres. |
Errores en Gipuzkoa
Hola,
Os comento por si a alguien más le han aparecido una serie de errores desde el 3 de noviembre en algunas facturas enviadas a TBAI Gipuzkoa: (5016) La suma de los importes indicados en el desglose Sujeto y NoExento no coincide con lo recogido en las lí¬neas de detalle. Esta validación no se aplicará cuando alguna clave de régimen sea 03, 05, 06 o 09 o cuando TipoRectificativa sea I o tipo de... (5017) Los importes indicados en los desgloses NoSujeto o Exento no coinciden con lo recogido en las líneas de detalle. Esta validación no se aplicará cuando alguna clave de régimen sea 03, 05, 06 o 09 (5018) El IVA calculado de alguna de las lí¬neas no es un tipo aceptado. Asegúrese de haber informado del ImporteUnitario sin IVA, el ImporteTotal de la línea con IVA y de indicar siempre en euros el Descuento aplicado. Esta validación no se aplicará... Nos hemos puesto en contacto con la diputación y nos han contestado lo siguiente: Buenos días,Así que parece que han tenido algunos problemas con las validaciones desde el día 3 de noviembre. |
Cita:
Te doy un poco mi opinión en base a lo que estuve investigando en su día, pero yo de contabilidad sé lo básico básico, así que no me lo tengas muy en cuenta. Para mí, si alguien compra una tarjeta regalo, es a esa persona a la que se le hace una factura, digamos por 50€, por un producto llamado "Tarjeta Regalo 50". Ahora, al usar esa tarjeta, entiendo que en el momento de comprar un producto, si por ejemplo es por valor de 60€, además de las líneas para los productos adquiridos, habría una línea de descuento por valor de 50€, quedando un total de 10€ a pagar. Si fuese por ejemplo de 40€, entiendo que sería un descuento de -40€, y luego ya se gestiona como corresponda para saber que a esa tarjeta le quedan 10€ (en caso que se permita eso, claro). Quizás si es una tarjeta regalo de estas que son tipo de crédito, que hay que activar, etc. y creo que llevan un banco por detrás, igual la operativa es diferente, y la compra del cliente final se trata como una compra normal y corriente. Pero estas tarjeta tipo "vale" o "bono", yo personalmente las veo como un descuento. Compro una cámara de fotos de 450€, y lo mismo que puedo tener un vale de "10% de descuento", o "10€ para compras superiores a 80€", etc... si tengo un vale, tarjeta, bono.... de 50€, a mi la cámara me costará 400€ aplicando el descuento de 50€, y alguien tendrá una factura por la compra de ese vale. Lo que ya no sé cómo va es el tema de si ese descuento se ha pagado a 50€ IVA inc... como aplicarlo si vendes productos de diferentes IVAs... si da igual, o qué... Pero lo dicho... mejor contrastarlo con un contable o asesor :D |
Cita:
En mi caso ese error nos salía cuando no estábamos registrados como colaborador social de ese cliente. |
El servidor de Guipuzkua ¿espera el certificado o la clave privada?
Sé que he preguntado antes torpemente y sin investigar, pese a todo quisiera que alguien me dijera ¿con qué hay que certificar los envíos del XML ya firmado por XADES?
Me explico . Tengo un c12 expedido por Izenpe hace unos meses. Si llamo al archivo del certificado no parece reconocerlo: Código PHP:
Lo he convertido a PEM como dicen en varios sitios, pero así lo que se mete en el nuevo archivo que yo he llamado cert.pem es la clave privada, sin embargo, otros dicen que eso les funciona. Yo lo envío con este otro código: Código PHP:
Por puesto he preguntado a la diputación y no parecen saber nada. ¿Qué estoy haciendo mal? ¿Qué no he entendido? ¿debo limpiar el archivo pem que he creado de código como "-----BEGIN PRIVATE KEY-----" o "Bag Attributes"? ¿no lo debo hacer en mi ordenador sino directamente en el servidor por aquello del "localKeyID"? |
Cita:
|
Cita:
https://www.clubdelphi.com/foros/sho...postcount=3540 |
Cita:
Yo tuve un problema hace poco con mi certificado porque se revocó el que estaba usando y tuve que poner otro nuevo. Te pongo lo que hice porque también me daba error 01 las primeras veces por culpa del .pem que generaba. Yo tengo esto: Código PHP:
Este lo he creado asi: Código PHP:
|
Muchas gracias
Por cierto. No te he dado las gracias por el detalle de responder. Voy a probarlo
|
Buenos días, una pregunta sólo por confirmar que lo estoy haciendo bien. Creo que es así, pero me gustaría saber vuestra opinión:
Es referente al encadenamiento. En nuestro caso tenemos 2 puntos de venta independientes y 1 Backoffice también independiente. El encadenamiento lo estoy haciendo por 3 dispositivos distintos. Es decir, cada dispositivo encadena con la factura anterior generada por ese dispositivo. ¿Es correcto cómo lo estoy haciendo? Muchas gracias! |
Cita:
Un saludo |
Cita:
Por tanto depende del sistema. |
OFF Impuesto al plástico e IIEE
He buscado y no he encontrado, ni aquí ni en google
¿Existe en estos foros alguno relativo a los impuestos especiales (en particular relativo al nuevo impuesto al plástico) y que se trata de cómo enviar datos contables o de existencias a la AEAT ? Disculpad las molestias. Un saludo |
¿Qué certificado espera el servicio rest?
Yo no encuentro el modo en que me admita el certificado de la extensión c12.
Si envío el archivo así: curl_setopt($ch, CURLOPT_CAINFO, $file); Error 01 Si quito o añado la contraseña así curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $pass); Error 01 Si meto el certificado en una variable y lo envío con CURLOPT_CAINFO; Error 01 Si lo limpio de retornos de carro y cualquier otra cosa; Error 01 Si lo convierto a pem y lo mando como una variable así curl_setopt($ch, CURLOPT_SSLCERT, $certi_pem); no responde nada, nada en absoluto. Por supuesto he probado también a quitar y poner la clave, quitar y poner la llave privada, indicar el tipo de certificado... ¿Alguien podría decirme qué espera el servidor? Porque cuando lo hago por archivo no lo reconoce y cuando lo hago como variable en formato pem no responde. Muchas gracias por vuestra ayuda |
Cita:
https://www.clubdelphi.com/foros/sho...postcount=3579 Un saludo. |
Por supuesto y no soy capaz.
¿Qué metes en $appConfig["certificate"]? |
Cita:
En esa variable tengo la ruta al fichero PEM: $appConfig = $_SERVER["DOCUMENT_ROOT"]."/certs/XXXXX.pem"; |
Factura simplificada clientes varios
Buenos días,
A ver si me podéis sacar de una duda. Es en relación a las facturas que en mis tiempos se llamaban de "clientes varios" clientes que p.e. iban a comprar algo al almacén y les hacían una factura sin nif. Tengo un cliente que hacía mucha de este tipo. Yo tengo programado la opción de FacturaSimplificada = S pero no consigo la forma de que subir una factura sin tener un cif real. Hago la consulta a Hacienda y me dice... Cita:
...lo que viene a indicar que nanay El caso es que el asesor del cliente, también con su parte de razón, me dice... De alguna manera se tiene que poder hacer porque tú cuando vas a un bar y te imprimen un ticket no te piden el dni obviamente Sabéis alguno como tendría que subir a Ticket Bai este tipo de clientes? Yo en mis pruebas subo el valor S1 en el campo TipoNoExenta como un cliente "normal" Puede ser por ahí la cosa? Gracias de nuevo |
Cita:
Buenos días, Creo que el error está en que estás enviando la sección <Destinatarios>, cuando en las facturas simplificadas no se debe rellenar. Nosotros hemos realizado varias consultas y hemos alucinado con las respuestas. A veces lían más que otra cosa... Saludos. |
Cita:
Código PHP:
|
Hola, se me ha adelantado keys, creo que te refieres a los tickets de toda la vida (vamos cualquier tienda tipo todo a 100, chinos...etc), donde no se identifica al destinatario.
Nosotros lo subimos así y ningún problema: (iba a adjuntar el código pero el de keys es igual que el mío). Por lo demás, es una sujeta no exenta, vamos los mismos nodos en la parte de DatosFactura que una factura donde si se identifica al destinatario |
Cita:
En nuestro caso los 2 puntos de venta comparten la misma base de datos, usamos una serie para las facturas simplificadas y otra serie para las facturas completas. Pero hemos hecho pruebas de encadenando sin diferenciar por dispositivo, y no nos da ningún aviso de encadenamiento. ¿Consideras que sería necesario encadenar diferenciando por dispositivo? En el Backoffice ya estamos encadenando por dispositivo. Gracias! |
Cita:
Cita:
Yo no me fiaría de los avisos de encadenamiento que dan las haciendas. |
Gracias APO y keys...era eso!!
Sigo alucinando con el servicio de atención de Hacienda...madre mía :eek: Mersi ^\||/ Cambiando de tema y yendo a lo que estáis hablando de los errores de encadenamiento me he encontrado algún caso de que mandas p.e. 30 facturas, las imprimes todos juntas y la factura 22 te da un error de validación de xml (por ejemplo por estas cosas que tenía con los clientes varios)...como ni siquiera ha llegado a subir a hacienda luego cuando arreglo el error y vuelvo a subir la factura 22 da error de encadenamiento al saltar de la 21 a la 23 que se imprimieron en la primera pasada y la 22 subirse al final del todo el proceso. Espero que no se pongan muy tikis mikis con esto. |
Listado de URLs Zuzendu de Gipuzkoa en preproducción
Nota para el administrador: las URLS de Zuzendu de Gipuzkoa (preproducción) que figuran al inicio del foro son incorrectas.
Las correctas son: Alta: https://tbai-z.prep.gipuzkoa.eus/sarrerak/zuzendu-alta Baja: https://tbai-z.prep.gipuzkoa.eus/sarrerak/zuzendu-baja Es decir, es tbai-z.prep en lugar de tbai.prep |
Envio de XML a Alava
Buenos días (no se si estoy repitiendo el mensaje, si es asi disculpas)
La empresa se decidio a ultima hora a meterse en este ajo y yo estoy ya de los nervios. Hago el envio a ALAVA, ya quité avisos, pero siempre recibo el aviso "error en verificacion de firma", compruebo el fichero con Izenpe y me da correcto. Parece ser que a ellos les llega cambiado. He leido por el foro que puede ser problema de que la forma de enviarlo haga algún cambio en el fichero. a pesar de que no he puesto acentos ni simbolos ni nada raro. Paso la forma en que hago mi envío, en VB6 ¿Es correcto? ¿cómo lo haceis? tambien me sirve en vb.net Dim domSolicitud As DOMDocument Dim objHTTP As XMLHTTPRequest Dim URL As String Set objHTTP = New XMLHTTPRequest Set domSolicitud = New DOMDocument If domSolicitud.loadXML(sbXml.GetAsString) Then URL = "pruebas-ticketbai.araba.eus/TicketBAI/v1/facturas"(modificado por que no me permite poner urls) objHTTP.Open "POST", URL, False objHTTP.setRequestHeader "Content-type", "application/xml;charset=UTF-8" objHTTP.send domSolicitud.xml End if |
El servidor de Guipuzkua no responde nada
Pues a mí el servidor de Guipuzkua sigue sin responderme nada. Absolutamente nada.
Estoy haciéndolo tal como se me ha dicho y verificando con la documentación de PHP. - En "local_cert" meto "CERTIFICADO.p12" (están en el mismo directorio que los otros archivos). - En "passphrase" la clave para ese mismo certificado. - En "cafile" nuevamente el certificado. - En "capath" la ruta absoluta al directorio donde está el certificado Lo demás no lo he tocado salvo el apartado "content" donde meto el XML. He comprobado que se genere el vector correctamente. hago el $context = stream_context_create($opts); y por último $haciendaResult = file_get_contents('https://tbai-z.prep.gipuzkoa.eus/sarrerak/alta', false, $context); Lo que obtengo cuando hago var_dump($haciendaResult); es "bool(false)" Como ya llevo tiempo peleando con esto, he convertido la clave privada del c12 a pem, pero cuando la mando en lugar del certificado el mismo resultado. Se supone que algo tendría que responder. Según me han contestado en Diputación los certificados PFX son igualmente válidos que los pem. ¿he comprendido mal y la respuesta del servidor no está en "$haciendaResult"? Muchas gracias por vuestra ayuda. Por si acaso mi código: $opts = array( "ssl" => array( "local_cert" => $file, "passphrase" => $pass, "allow_self_signed" => true, "cafile" => $file, "capath" => $camino, "verify_peer" => false ), "http" => array ( "method" => "POST", "ignore_errors" => true, "timeout" => 9, "header" => "Accept-language: es\r\n"."Content-type: application/xml;charset=UTF-8\r\n", "content" => $texto ) ); var_dump($opts); $context = stream_context_create($opts); var_dump($context); $haciendaResult = file_get_contents('https://tbai-z.prep.gipuzkoa.eus/sarrerak/alta', false, $context); var_dump($haciendaResult); echo "\n La Dipiutación respondió: ".$haciendaResult; |
Cita:
Ánimo, yo creo que estás cerca. Para el envío yo estoy usando certificados en formato PEM. En su día recuerdo que con ese código me estuve peleando bastante, hasta que di con la combinación de parámetros y valores correcta. Por si te sirve, te paso las instrucciones que usé en el servidor para convertir el certificado a PEM desde la consola SSH: (te irá pidiendo contraseña actual del certificado, o la nueva que quieres poner, según el caso) openssl pkcs12 -in TITXXXX.pfx -out TIT.nokey.pem -nokeys openssl pkcs12 -in TITXXXX.pfx -out TIT.withkey.key openssl rsa -in TIT.withkey.key -out TIT.key cat TIT.nokey.pem TIT.key > TITXXXX.pem Al final el fichero que uso es el último fusionado usando "cat" (TITXXXX.pem) Suerte! |
| La franja horaria es GMT +2. Ahora son las 14:51:19. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi