nodejs

Ivan
Ivan
Tobias Molinero
Tobias Molinero

@user Hola Ivan como estas? Estaba probando en modo desarrollo crear una factura C y tengo este error:

Error: (10016) El numero o fecha del comprobante no se corresponde con el proximo a autorizar.

Hasta ayer no me daba error, que puede ser?

Tobias Molinero Tobias Molinero @user Hola Ivan como estas? Estaba probando en modo desarrollo crear una factura C y tengo este error: Error: (10016) El numero o fecha del comprobante no se c
Ivan
Ivan

Buenas Tobias, puede suceder cuando el numero de comprobante que estas enviando no corresponde al siguiente, pero si estas obteniendo el numero de ultimo comprobantes primero entonces es probable que el problema sea que el ultimo comprobante enviado se envio con una fecha futura, proba obtener la informacion de el ultimo comprobante y usar la misma fecha que se uso en ese

Leo Lob
Leo Lob

Hola.

const ws = afip.WebService('wsfecred')

Esto me da error: /Users/leolob/Desarrollo/Clientes/CPT/cpt_api/node_modules/@afipsdk/afip.js/src/Afip.js:352 options['service'] = service; ^

TypeError: Cannot set properties of undefined (setting 'service') at Afip.WebService (/Users/leolob/Desarrollo/Clientes/CPT/cpt_api/node_modules/@afipsdk/afip.js/src/Afip.js:352:21) at /Users/leolob/Desarrollo/Clientes/CPT/cpt_api/dist/BO/clientes.manual.BO.js:84:27 at step (/Users/leolob/Desarrollo/Clientes/CPT/cpt_api/dist/BO/clientes.manual.BO.js:33:23) at Object.next (/Users/leolob/Desarrollo/Clientes/CPT/cpt_api/dist/BO/clientes.manual.BO.js:14:53) at fulfilled (/Users/leolob/Desarrollo/Clientes/CPT/cpt_api/dist/BO/clientes.manual.BO.js:5:58) at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Ponga lo que ponga en el parámetro, no me deja instanciar el ws.

Gracias @user .

Leo Lob
Leo Lob

Hola. Ahí me respondiste por email. Si, mi error: estaba usando una versión viejita. Actualicé a la nueva, cambié la forma de mandar certificado y key, y va como piña. Todo genial. Gracias totales.

Flavio
Flavio

Hola, buenas tardes. Dejo una consulta, estaba utilizando los servicios de wscpe en testing y cuando llamo al metodo autorizarCPEAutomotor me devuelve este error: data: { code: 'Internal', message: 'Error: soap:Client: Error en la autenticacion: La Cuit x no esta relacionada con el conjunto { cuit solicitante}' Alguien me podra indicar a que se debe?

Ivan Ivan Buenas Flavio, que datos estas enviando?
Flavio
Flavio

este es mi controller:

const Afip = require('@afipsdk/afip.js'); const fs = require("fs"); const CUIT = 30650560821; const afip = new Afip({ CUIT: CUIT, cert: '', key:'', production: false });

const generar_cpe_cliente = async function (req, res) { if (req.user) { const ws = afip.WebService('wscpe'); const ta = await ws.getTokenAuthorization(); const data = { 'auth': { 'token': ta.token, 'sign': ta.sign, 'cuitRepresentada': afip.CUIT }, 'solicitud':{ 'cabecera': { 'tipoCP': 74, 'cuitSolicitante': CUIT, 'sucursal':1, 'nroOrden': 1 }, 'origen':{ 'productor':{ 'codProvincia':12, 'codLocalidad':4434 } }, 'correspondeRetiroProductor':false, 'esSolicitanteCampo':true, 'datosCarga':{ 'codGrano':23, 'cosecha':2223, 'pesoBruto':45000, 'pesoTara':15000 }, 'destino':{ 'cuit':30532041690, 'esDestinoCampo': false, 'codProvincia':12, 'codLocalidad':4434 }, 'destinatario':{ 'cuit':30532041690 }, 'transporte':{ 'cuitTransportista':30650560821, 'dominio':'zzz999', 'fechaHoraPartida':'2024-09-04T20:00:00', 'kmRecorrer':60, 'cuitChofer':20331898768, 'tarifa': 200.00, 'cuitPagadorFlete':30650560821, 'mercaderiaFumigada':true } } }; const rta = await ws.executeRequest('autorizarCPEAutomotor', data); res.status(500).send(rta); } };

module.exports = { generar_cpe_cliente };

Flavio Flavio este es mi controller: const Afip = require('@afipsdk/afip.js'); const fs = require("fs"); const CUIT = 30650560821; const afip = new Afip({ CUIT: CUIT,
Ivan
Ivan

Necesitas pedir datos de prueba a la AFIP. Manda un correo a [email protected]


Hola,

Quisiera un set de datos de pruebas para realizar la carta de porte electrónica en homologación. Mi CUIT es xxx

Gracias

Flavio
Flavio

ah ok, muchas gracias Ivan 😄

Rutito
Rutito

Buenaas, una consulta, se puede consultar por cuils ajenos para obtener una condicion fiscal del mismo?

Rutito Rutito Buenaas, una consulta, se puede consultar por cuils ajenos para obtener una condicion fiscal del mismo?
Ivan
Ivan

Podes usar el padron de constancia de inscripción para obtener los detalles fiscales de cualquier cuit https://docs.afipsdk.com/paso-a-paso/web-services/padron-de-constancia-de-inscripcion

Martiniano Weber
Martiniano Weber

Buenas estoy teniendo el siguiente error al intenter obtener el ultimo numero de comprobante:

Node.js v18.20.4 Error: (501) Error interno de base de datos: - Metodo FECompUltimoAutorizado at ElectronicBilling._checkErrors (C:\Users\marti\OneDrive\Escritorio\explicacion\node_modules@afipsdk\afip.js\src\Class\ElectronicBilling.js:404:10) at ElectronicBilling.executeRequest (C:\Users\marti\OneDrive\Escritorio\explicacion\node_modules@afipsdk\afip.js\src\Class\ElectronicBilling.js:349:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) Error: (501) Error interno de base de datos: - Metodo FECompUltimoAutorizado Error: (501) Error interno de base de datos: - Metodo FECompUltimoAutorizado at ElectronicBilling._checkErrors (C:\Users\marti\OneDrive\Escritorio\explicacion\node_modules@afipsdk\afip.js\src\Class\ElectronicBilling.js:404:10) at ElectronicBilling.executeRequest (C:\Users\marti\OneDrive\Escritorio\explicacion\node_modules@afipsdk\afip.js\src\Class\ElectronicBilling.js:349:14) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async ElectronicBilling.getLastVoucher (C:\Users\marti\OneDrive\Escritorio\explicacion\node_modules@afipsdk\afip.js\src\Class\ElectronicBilling.js:66:11) at async C:\Users\marti\OneDrive\Escritorio\explicacion\index.js:34:30

entiendo que es un error de Afip puede ser?

Nicolás Luna
Nicolás Luna

Hola! Tengo una pregunta, que diferencia hay entre

afip.ElectronicBilling.createPDF({}) y afip.ElectronicBilling.createVoucher()

Las dos al ejecutarse registran en el afip? Cual sería la diferencia?

Nicolás Luna Nicolás Luna Hola! Tengo una pregunta, que diferencia hay entre afip.ElectronicBilling.createPDF({}) y afip.ElectronicBilling.createVoucher() Las dos al ejecutarse regis
Ivan
Ivan

afip.ElectronicBilling.createVoucher() Registra en afip y devuelve el CAE, afip.ElectronicBilling.createPDF({}) crea el PDF nomas. Te recomiendo leer este post para entender mejor https://afipsdk.com/blog/conectar-tu-sistema-con-la-facturacion-electronica-de-afip/

Sebastian Montini
Sebastian Montini

Tengo una consulta conceptual, al momento de realizar una factura A , por ejemplo a AFIP , no es necesario enviarle a AFIP el detalle ? , entiendo que puedo generar el pdf y colocar todo el detalle. Pero AFIP no recibe ese detalle?

Lauti
Lauti

Hola buenas , alguien me puede explicar como integrar el afip SDK en una app Strapi ?

Lauti Lauti Hola buenas , alguien me puede explicar como integrar el afip SDK en una app Strapi ?
Ivan
Ivan

Buenas Lauti, al final estuvimos hablando por email, pudiste avanzar con esto?

ArielQ-MDZ
ArielQ-MDZ

Hola buenas tardes a todos. Estoy teniendo un problema para obtener constancia de incripcion siendo que el cliente tiene realizada la relacion, siempre me da Error getting Token Autorization Error: ns1:coe.notAuthorized: Computador no autorizado a acceder al servicio. El servicio en AFIP es Consulta de constancia de inscripción, esta bien?

basicamente estoy realizando esto afip.RegisterInscriptionProof.getTaxpayerDetails(cuit);

Alguna idea de porque puede suceder?

Ivan Ivan Autorizo el web service del padron https://docs.afipsdk.com/paso-a-paso/tutoriales-pagina-de-afip/autorizar-web-service-de-produccion Si es asi puede se que ta
ArielQ-MDZ
ArielQ-MDZ

Hola Ivan! Si, el contador lo autorizo... Igual al parecer el problema esta con alias nuevo ya que con un alias viejo que estaba relacionado con Padron A5 (como se llamaba antes) solo crearon el CRT nuevo si funciona... 🙄

Ivan Ivan Entones funciona?
ArielQ-MDZ
ArielQ-MDZ

Si Ivan, con un CRT nuevo generado en el alias viejo funciona...

antonieta
antonieta

Buenas tardes, estoy realizando un codigo para consultar cuits rapidamente, ya estoy en produccion y pude revisar y consultar afip.RegisterInscriptionProof, pero lo que necesito es consultar un cuit independientemente de si es monotributo o inscripto para yo poder actualizar una lista de proveedores y catalogarlos correctamente.

Error al querer cargar el ws sr padron a10

antonieta antonieta Error al querer cargar el ws sr padron a10
Ivan
Ivan

Si queres acceso al padron alcance 10 debes pedir lo a AFIP, recomiendo usar el alcance 13 o el de constancia de inscripcion que es accesible para todos

antonieta
antonieta

Gracias

ayrtoncravero
ayrtoncravero

Buenas tardes! Estoy tratando de obtener los detalles del contribuyente , usando el metodo 'afip.RegisterScopeFive.getTaxpayerDetails' y le envio el CUIT de un monotributista en formato numerico y me devuelve el error 'Debe autorizar el uso del web service. Revise el tutorial https://docs.afipsdk.com/paso-a-paso/web-services. ns1:coe.notAuthorized', segui los pasos que indica el resultado de esos pasos de da '{ status: 'exists' }', luego vuelvo a intentar el primer metodo y me vuelve a dar error, alguien me ayudaria con este tema? Gracias

ayrtoncravero ayrtoncravero Buenas tardes! Estoy tratando de obtener los detalles del contribuyente , usando el metodo 'afip.RegisterScopeFive.getTaxpayerDetails' y le envio el CUIT de un
Ivan
Ivan

El padron alcance 5 se cambio por el de constancia de inscripcion, proba con ese mejor, aveces puede tardar un poco en impactar la autorizacion

Ivan Ivan El padron alcance 5 se cambio por el de constancia de inscripcion, proba con ese mejor, aveces puede tardar un poco en impactar la autorizacion
ayrtoncravero
ayrtoncravero

Buenas Ivan! Estuve revisando en la plataforma de AFIP y tengo la la autorización de testing/homologación creada para usar el 'wsfe', de igual manera sigo el proceso de 'https://docs.afipsdk.com/paso-a-paso/web-services' para asegurarme que este autorizado el mismo me responde '{ status: 'exists' }' entiendo con esa respuesta que estoy autorizado para utilizar el metodo 'afip.RegisterInscriptionProof.getTaxpayerDetails' el cual me da el error 'message: 'Debe autorizar el uso del web service. Revise el tutorial https://docs.afipsdk.com/paso-a-paso/web-services. ns1:coe.notAuthorized'', alguien me daria una mano? Gracias y buen viernes!

ayrtoncravero
ayrtoncravero

Ahhhh perfecto!

Tomás Gaitán
Tomás Gaitán

Buenas @user , como estas? Queria saber que WS utilizo para obtener todos los datos de un contribuyente, la idea es crear un formulario donde el cliente ingrese su CUIT muestre un boton "Consultar" y obtenga todos los datos de afip, muchas gracias.

ayrtoncravero
ayrtoncravero

Buenos días! Estoy teniendo problemas al escanear el qr que esta en la factura, el mismo lleva una url de AFIP + unos datos de la factura en base 64, al escanearlo debería de llevarte a una vista de afip y autocompletarte datos de la factura en esa vista, pero por alguna razón a algunos datos no me los autocompleta y mas abajo me da un msj que hay datos que estan incompletos y que los llene manualmente, pero quisiera que se autocomplete solos. Estoy usando la libreria que recomiendas en afip-sdk(qrcode) y usando los datos tal cual muestra: https://www.afip.gob.ar/fe/qr/documentos/QRespecificaciones.pdf , alguien sabe que podria ser? No encontre coódigo de ejemplo, estoy en modo desarrollo

Ivan Ivan Fijate de respetar el tipo de dato (string o number) Mal: ---- ```json { "ver":"1", "fecha":"2024-10-14", "cuit":20381085962, "ptoVta":1, "
ayrtoncravero
ayrtoncravero

Muchas gracias Ivan! Enseguida lo reviso! Un genio la verdad!

ayrtoncravero
ayrtoncravero

Buenas @user hice los cambios que me marcaste, deje tal cual el objeto que uso, pero en la url generada estoy teniendo el siguiente error: BL4950286403740 . Esta es la url: https://www.afip.gob.ar/fe/qr/?p=eyJ2ZXIiOjEsImZlY2hhIjoiMjAyNC0xMC0xNSIsImN1aXQiOjIwMzgxMDg1OTYyLCJwdG9WdGEiOjEsInRpcG9DbXAiOjExLCJucm9DbXAiOjEzNSwiaW1wb3J0ZSI6MjI0MiwibW9uZWRhIjoiUEVTIiwiY3R6IjoxLCJ0aXBvRG9jUmVjIjo5NiwibnJvRG9jUmVjIjo0MDY3OTMyMCwidGlwb0NvZEF1dCI6IkUiLCJjb2RBdXQiOjc0NDIyMjAxOTQzODM2fQ y este el obj: { ver: 1, fecha: '2024-10-15', cuit: 20381085962, ptoVta: 1, tipoCmp: 11, nroCmp: 135, importe: 2242, moneda: 'PES', ctz: 1, tipoDocRec: 96, nroDocRec: 40679320, tipoCodAut: 'E', codAut: 74422201943836 } Estuve revisando y estoy enviando tal cual como me marcaste, gracias!

ayrtoncravero ayrtoncravero Buenas @user hice los cambios que me marcaste, deje tal cual el objeto que uso, pero en la url generada estoy teniendo el siguiente error: BL4950286403740 . Est
Mauropek
Mauropek

Yo creo que el objeto está mal, le faltan las comillas. Tendría que ser así. { "ver": 1, "fecha": "2024-10-15", "cuit": 20381085962, "ptoVta": 1, "tipoCmp": 11, "nroCmp": 135, "importe": 2242, "moneda": "PES", "ctz": 1, "tipoDocRec": 96, "nroDocRec": 40679320, "tipoCodAut": "E", "codAut": 74422201943836 }

ayrtoncravero
ayrtoncravero

Buenas tardes! Probé también hacer eso y me da el mismo problema, estaría mal que deje algunos campos vacíos y que el usuario deba de cargarlos si quiere consultar?

Mauropek
Mauropek

Yo acabo de probarlo tal cual y funciona, quizá está sucia la cadena base64

@user

ayrtoncravero
ayrtoncravero

😲😲

Déjame que llego a casa y lo reviso!

ayrtoncravero
ayrtoncravero

Acabo de hacer una prueba y efectivamente estaba mal el codificado a base 64, estaba usando el metodo 'base64url' no sé de donde salio y el correcto es 'base64', muchas gracias!

Jero
Jero

Hoola! @user estoy intentando utilizar la libreria en una app basada en NestJS. Veo este error al querer utilizarla como un custom provider. TypeError: afip_js_1.default is not a constructor

Ivan Ivan que error?
Jero
Jero

Estaba editando 😄 . Si necesitas mas contexto puedo enviarte un mail con mas detalles de la implementacion. Pero en resumen, existen limitaciones al usar el sdk via imports? en lugar de require?

Jero Jero Estaba editando 😄 . Si necesitas mas contexto puedo enviarte un mail con mas detalles de la implementacion. Pero en resumen, existen limitaciones al usar el s
Ivan
Ivan

Si, tenes que tenes configurar de typescript. Creo que tenias que agregarle "esModuleInterop": true al tsconfig.json

Si googleas el error te sale info https://www.google.com/search?q=TypeError%3A+*.default+is+not+a+constructor

Jero
Jero

Ahi anduvo al parecer! Gracias! Estaba convencido que ya tenia esa config :/

franetche
franetche

Hola! ¿Cómo están? Consulta, a alguien más les está fallando el afip.ElectronicBilling.getLastVoucher ?

¿Saben si es algo temporal?

franetche franetche ¿Saben si es algo temporal?
Ivan
Ivan

Es algo temporal, con esta reestructuracion de la AFIP a ARCA imagino que debe haber poca gente haciendose cargo de los sistemas

Lean
Lean

Hola gente, como están? Les hago una consulta, en los últimos días estuve teniendo problemas con mi integración de AFIP con dos errores en específico:

  1. Emitir comprobante: Error: ns1:cms.sign.invalid Firma inválida o algoritmo no soportado.

  2. Método CreateCert: Ocurrio un error, reintenta nuevamente o contacta a [email protected] si el problema persiste.

No realice ningún cambio ni actualización y antes no tenía estos problemas.

Estoy utilizando al versión @afipsdk/afip.js 1.1.1 con node.js 20.

@user

ns1:cms.sign.invalid Firma inválida
9 messages · Hola gente, buenas! Vengo con un error con el método **CreateCert**. `Error: "Internal Server Error" Code: 500 Message:
Mauropek
Mauropek

Hola @user, no sé cómo será en nodejs, pero normalmente ese error es cuando no se genera correctamente el archivo TRA.xml, cuando me ha pasado en PHP, lo he eliminado y se genera uno nuevo correctamente. Si lo probás, guardá una copia por las dudas. Puede ser caché, puede que se haya cambiado la fecha/hora del equipo en el que estás ejecutando la solicitud.

Nacho Almada
Nacho Almada

Buenas, una consulta, que código tiene una factura a un cliente con iva exento?

Porque estoy en la duda si tengo que ponerle el id de 0% o otro

Nacho Almada Nacho Almada Buenas, una consulta, que código tiene una factura a un cliente con iva exento?
Mauropek
Mauropek

Adjunto la completa, el código 4 que es el que vos necesitabas sigue así, por supuesto.

Nacho Almada
Nacho Almada

Genial! Muchas gracias

Blanco Arturo
Blanco Arturo

Buenas tardes, cual es la propiedad para asignar la condición frente al IVA? No logré encontrar la información en la documentación. Muchas gracias de antemano

Mauropek Mauropek Esto decís?
Blanco Arturo
Blanco Arturo

Estimo será eso? Cómo indico si es por ejemplo Responsable Inscripto, IVA exento, etc el receptor de la factura?

Mauropek
Mauropek

@user en la imagen que está arriba de tu primer comentario están los códigos de iva y su descripción.

Mauropek Mauropek @user en la imagen que está arriba de tu primer comentario están los códigos de iva y su descripción.
Blanco Arturo
Blanco Arturo

Muchas gracias! Si no tenía muy claro en que propiedad dentro del objeto debía declararlo

m&m
m&m

Hola gente! Tengo una consulta, quiero realizar una consulta al Padrón de constancia de inscripción en productivo (https://docs.afipsdk.com/paso-a-paso/web-services/padron-de-constancia-de-inscripcion). tengo mi access token pero cuando realizo la petición me responde un error 500. Estuve buscando por acá para ver si encontraba alguna solución pero no encontré nada. Desde ya gracias!

Ignacio Becher
Ignacio Becher

Buenas gente! Una consulta, no entiendo mucho del tema AFIP y las ticketeras, un cliente me pidio conectarle el sistema que ya tiene integrado el SDK a la impresora fiscal de su negocio. La impresora es como una impresora mas a la cual solamente le envió los datos para que imprima y listo o hay que hacer algún tipo de conexión especial?

Ignacio Becher Ignacio Becher Buenas gente! Una consulta, no entiendo mucho del tema AFIP y las ticketeras, un cliente me pidio conectarle el sistema que ya tiene integrado el SDK a la impre

Exacto, es como una impresora mas, lo unico especial es que debes obtener el CAE con el web service de facturacion electronica y ponerlo junto con los demas datos del comprobante

Ignacio Becher
Ignacio Becher

Ahhh genial. Muchas gracias Ivan

Fernando
Fernando

Imprimen PDF directamente?

Fernando Fernando Imprimen PDF directamente?
Ivan
Ivan

que?

Fernando
Fernando

Preguntaba si la impresora fiscal imprime PDF o utiliza alguna libreria específica?

Porque me ha tocado lidiar con una impresora termica

Mauropek
Mauropek
Ivan Ivan En el error.data que dice?
m&m
m&m

faultstring: 'Este token no le permite actuar en representacion de la CUIT.

probe en postman y me devuelve un token y un sign que uso para hacer la request del ws_sr_constancia_inscripcion y me devuelve lo mismo que Este token no le permite actuar en representacion de la CUIT

m&m
m&m

estaba usado el de la empresa, por lo que pude deducir hay algun problema con el .crt y .key que ya tenia generado desde afip. Ahora probe generarlos desde node con afip.CreateCert(username, password, alias) y me anda el getTaxpayerDetails. Indudablemente algún quilombo hay con ese certificado. Gracias, voy a usar el generado mediante el llamado!

San
San

consulta , esto que vendria a significar? que se genero ya una factura no? y como puedo verla

Ya lei! Si no me equivoco xfa corrijanme. Es que yo con el CAE , y con el vencimiento recien puedo empezar a realizar la factura. Entonces despues tendria que hacer un ejs o algo similar al bill.html para que sea dinamico y se vaya creando con los datos que yo quiera no?

San
San

graciass , estaba re perdido

y una vez que pase a produccion cuando yo genere la factura ya deberia de figurar en la pagina de afip en la seccion de consultas

Giaco
Giaco

eso mismo

San
San

por ahora en entorno desarrollo no puedo visualizar en ningun lado no?