This file contains a brief summary of new features and dependency changes or releases, in reverse chronological order.


  • New runtime dependency: pyBarcode>=0.8b1.
  • The receipt class now has a is_validated property to check if a single instance has been validated.
  • All internal errors now raise DjangoAfipException or a subclass of it.
  • Add barcodes to receipt PDFs (AFIP 1702/04).
  • TaxPayer certs are now blankable, which should improve admin usability, as well as make forms for new TaxPayers friendlier. You might need to check your forms if users are expected to always provide a certificate.
  • Certificate expiration dates are now stored (via a pre-save hook) and exposed by the TaxPayer model. This should also make it impossible to upload garbage instead of a proper certificate file.


  • Receipt entries are now shown in the Receipts admin.
  • Fix receipt entries being mis-rendered (missing quantity) in PDFs.
  • Allow generating PDFs for receipts via the admin.
  • Use PES (ARS) as a default currency for Receipts (only if metadata is present), and ‘1’ as a currency quote.
  • Customized admins are now included for a few more models.


  • The entire ReceiptBatch model has been dropped, along with Validation. Receipts are now validated via Receipt querysets, eg: Receipt.objects.filter(...).validate(). The existing ReceiptValidation objects remain unchanged.
  • Validation of Receipts can now be done in a single action via the Receipt admin.
  • Receipt instances have a new validate() method to validate that single receipt.
  • The receiptnumber tag is now deprecated. Use Receipt.formatted_number instead.


  • Drop support for Django 1.9, support Django 1.11.
  • The default ordering of Receipt instances has now changed, both via querysets and in the admin.
  • The total amount for receipts is not shown in ARS.
  • CI now run tests with all supported Python and Django versions.
  • This version has experimental Django 2.0 support.
  • Include a new ReceiptPDF admin.
  • All exceptions now inherit from DjangoAfipException.


  • Language settings of downstream apps should no longer generate bogus migrations for django-afip.


  • It is now possible to generate keys and CSRs for taxpayers, both programmatically, and via the admin.
  • The AuthTicket.authorize method no longer takes a save argument. Authorized tickets are now always immediately saved.
  • Add a missing migration.


  • Fix an error validating receipts with not VAT or Tax.


  • We now rely on zeep, rather suds, update your dependencies accordingly.


  • Raise CertificateExpired, UntrustedCertificate or AuthenticationError when attempting an authentication fail.
  • The field ReceiptEntry.amount has been renamed to quantity.
  • Add a links to documentation on where to obtain the AFIP WS certificates.
  • Introduce this changelog.