Comments (8)
Debería. Pero por lo que me decís, parecería que el AFIP dió el okay.
Podés ver el objecto ReceiptValidation
de ese comprobante? Tiene un CAE?
from django-afip.
Perdon no estoy pudiendo replicar el error debido a un error de afip 502 Transaccion activa. Segun estuve investigando es un error interno de afip.
Fuente
Al registrar una receipt nueva me salta lo siguiente:
(1062, "Duplicate entry '1-4-163' for key 'afip_receipt_point_of_sales_id_receip_6a7c4af7_uniq'")
from django-afip.
Perdon no estoy pudiendo replicar el error debido a un error de afip 502 Transaccion activa. Segun estuve investigando es un error interno de afip.
No puedo ayudarte mucho ahí; es algo que tendrán que solucionar ellos.
Al registrar una receipt nueva me salta lo siguiente:
(1062, "Duplicate entry '1-4-163' for key 'afip_receipt_point_of_sales_id_receip_6a7c4af7_uniq'")
Rarísimo. Parecería que el número de comprobante que le estás poniendo ya está en uso en la base local.
Estás asignando el número de comprobante vos? No deberías, al validar se le asigna el siguiente en sequencia.
Generaste capaz otro compobante al que le asignaste número a mano, o te quedó alguna transacción a medias? (esto sería claro si tenés algun no-validado que sí tiene número).
from django-afip.
Para aclarar un poco más (y esto debería documentarlo bien), como los comprobantes tienen que validarse con número sequenciales, validate
setea el número al siguiente según el afip (último+1
).
Por ese motivo, no se espera que vos le asignes número a los comprobantes.
Por el error, daría la impresión de que tenés un comprobante con un número seteado pero que no fue validado.
from django-afip.
Sinceramente no se que paso, ahora ya puedo registrar receipts y validarlas. El error era lo que decias, al parecer el validate
tiraba error desde afip y por ende las proximas receipts tenian el mismo numero que la anterior la no poder validarla.
Otra cosa que me hace dudar es que no entiendo por que el validate le asigno el primer numero si la validacion dio error desde AFIP. Incluso con un transaction.atomic() no hace el rollback.
Creo que para evitar esto en un futuro deberia separar la instancia de registro de la receipt de la validacion.
Para aclarar un poco más (y esto debería documentarlo bien), como los comprobantes tienen que validarse con número sequenciales,
validate
setea el número al siguiente según el afip (último+1
).
Estaria bueno para entender un poco mas el funcionamiento y comprender los errores que puedan surgir.
Muchas gracias Hugo.
from django-afip.
Sinceramente no se que paso, ahora ya puedo registrar receipts y validarlas. El error era lo que decias, al parecer el validate tiraba error desde afip y por ende las proximas receipts tenian el mismo numero que la anterior la no poder validarla.
Esto puede pasar si estás ejecutando la validación fuera de una transacción.
En mi código siempre lo llamo dentro de un transaction.atomic
, pero estoy pensando que el método validate()
podría encargarse de la transacción por sí mismo.
Otra cosa que me hace dudar es que no entiendo por que el validate le asigno el primer numero si la validacion dio error desde AFIP
El número debe asignarse antes de mandarlo al AFIP.
Creo que para evitar esto en un futuro deberia separar la instancia de registro de la receipt de la validacion.
Separar asignación de número y validación puede traer muchos problemas, dado que impicaría que en el instante entre los dos pasos, tenés datos inválidos en la base, y puede generar el error que estás viendo. Creo que la solución correcta es, de nuevo, que validate
se encargue de hacer todo transaccional.
from django-afip.
Action points en base a esto:
- Aclarar en la documentación esto que hablamos.
- Make
validate
una transacción.
from django-afip.
Hugo vuelvo sobre este problema que ahora vuelve a ocurrir por algun motivo.
No logro detectar el por que de la falla pero tengo un panorama mas claro del sistema y tengo mas evidencias para ver si podemos solucionarlo. Ademas me gustaria saber como salir de esto para seguir facturando ya que el problema esta en produccion.
Esta claro que el problema es por que el sistema quiere asociarle un numero de factura que ya esta en el sistema, en este caso el numero de factura 719.
Revisando las Receipts
encuentro que efectivamente el numero existe en la base de datos pero sin ningun ReceiptValidation
asociado, tampoco hay ReceiptValidationObservations
asociados a esa factura.
Puede ser que esto se deba a un problema de fechas? Nosotros permitimos generar una Receipt
(sin asignarle numero de factura) y llamar a validate
dias posteriores a la generacion de la factura.
Como podemos salir de este problema? Que ocurre si seteo manualmente a null
el numero de factura que esta generando conflicto?
from django-afip.
Related Issues (20)
- Points of sales are incorrectly saved as blocked HOT 2
- Docs for `latest` should have a banner to indicate this is an unreleased version
- Change value used to check if fetched points of sales are blocked
- AuthTicket service field (DataError: value too long for type character varying(6) ) HOT 1
- Qn: What about adding new services to the project. HOT 5
- Test certificate used in CI has expired
- Fontconfig error: Cannot load default config file HOT 7
- CAEA support HOT 3
- Tox test error HOT 5
- Tests PointOfSales.issuance_type wrong value HOT 4
- Authorization over POS in tests HOT 3
- Tutorial de renovación de certificados HOT 3
- Error en el formulario de TaxPayer en referencia a certificate HOT 6
- Validations with cae expiration `31 de diciembre de 1969 a las 21:00` HOT 1
- Factura E
- Se pueden generar: Factura de Crédito electrónica MiPyMEs (FCE) A? HOT 9
- Se subio el changelog 11.2.0? HOT 3
- Crash with urllib3 >= 2.0.0
- Error al momento de registrar una Nota de Crédito electrónica MiPyMEs (FCE) A HOT 20
- Integrate with django's custom file storage settings HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-afip.