What's new in LedgerSMB 1.12
This release features, among others:
- Support for "At the attention of" (Attn) for shipping addresses
- Support for external template rendering engines
- A new (experimental) Orders and Quotes webservice API
- Transaction history on AR and AP transactions (as already available on invoices)
Be sure to check the UPGRADE NOTES below! When upgrading from 1.10 or earlier, please read the 1.11 release notes.
New features
Support for "At the attention of" (Attn) for shipping addresses
There's a new type of contacts available ("Ship to Attn") on the "Contacts > Contact Information" tab. When creating a contact information item of this type, the contact item will be selectable on the "Ship To" screen.
Note for upgrades: To make use of this functionality, invoice templates need to be adjusted. Invoice templates with support for this new field ship with the 1.12 release.
Support for external template rendering engines
External template rendering engines can now be used to transform a fully expanded template (usually a textual representation) to a target output format, such as PDF, PNG or other format. With this functionality it's now possible to use other applications to produce PDF output than the builtin LaTeX option based on different inputs; eg. weasyprint could be used to transform HTML+CSS to PDF.
Note for upgrades: There is no impact on upgrades.
New (experimental) Orders and Quotes web API
In line with earlier releases which included an (experimental) API for Invoices, this release expands the set of available APIs with an API to create Orders and Quotes. The OpenAPI documentation is available on https://docs.ledgersmb.org/openapi/. Submitting your feedback for experimental APIs will help improve the APIs and ultimately remove the "experimental" label.
Note for upgrades: There is no impact on upgrades.
Transaction history for AR and AP transactions
Invoices have displayed an audit trail for several releases. This release introduces the same audit trail ("transaction history") for AR and AP transactions allowing reviewers to understand exactly who executed which actions on the transaction (and when).
Note for upgrades: There is no impact on upgrades.
Notable changes
"Ship To" addresses are immutable
Once a Ship To address has been set on an invoice, the address will not be changed, even if the address on the customer is changed. Note that it's possible to change the Ship To address on the invoice directly until the invoice is posted. If a Ship To address has been assigned to an invoice, but needs to be changed, this is no longer possible through the customer screens, but it will work directly in the invoice screen.
Note for upgrades: There are no consequences for upgrades.
Enhancements for upgrades to 1.12 from (very) old versions
This version includes many improvements and enhancements to the upgrade process and experience with improvements applicable for those upgrading from 1.7, 1.5 and even 1.3. Although all of these versions have long be declared End-Of-Life, with some regularity, cases pop up where users are working to upgrade their old setup. The project is dedicated to help users move to supported versions.
Note for upgrades: Users upgrading from one of these old versions should experience a much smoother process and greatly reduced chances for their upgrades failing to complete correctly.
Upgrade notes
"Report" templates changes
The "Report" templates (on-disk name: "display_report.*") have been merged with their sub-templates "dynatable.*". During the upgrade process, the templates "display_report.*" need to be re-imported into the database. To do so, use the "ledgersmb-admin" application (for, eg. the HTML format template):
$ cat templates/display_report.html | \ bin/ledgersmb-admin load localhost:5432/COMPANY_DATABASE display_report html
Background: All downloaded documents are rendered based on templates stored in the database. This is to allow different templates with different output for each company, even when run on top of the same LedgerSMB installation. However, the dynatable sub-templates were stored on-disk, meaning they applied to all companies. It also means that they could not be changed or even viewed by end-users. By merging the sub-templates into the templates, the entire report template is now editable on a per-company level by end-users.
Upgrading from SQL Ledger
Upgrades are supported for SQL Ledger versions up to 3.0. The project aspires to support migrations for SQL Ledger up to and including 3.2.12 and is looking for real-life data to build and test these migrations.
Background: Building a data migration from an accounting system to another is a non-trivial effort, even if accounting data looks the same in all of them. The project set high standards for the quality of every aspect of the software. After all: this is your accounting data! In order to deliver sufficient quality migrations, real-world test data is an absolute must-have before release; almost always there are functionalities hidden in the database data that can't be seen from the database tables and indexes alone.