Postbooks

PostBooks is a proprietary accounting and enterprise resource planning business system geared toward small to medium-sized businesses. It used to be released under an open source CPAL license on GitHub, but was made non-free in June 2019. Postbooks was based on the commercially licensed xTuple ERP system created by xTuple, a private software company based in Norfolk, Virginia (VA), United States.

Name
The name PostBooks is derived from three aspects of the project. The first "Post" alludes to the common concept of posting journals in accounting. Second, the name refers to the project's technological roots as it runs exclusively on the PostgreSQL database. Finally, the name suggests PostBooks as a logical step of progression for businesses that have outgrown the popular QuickBooks small business accounting product by Intuit.

History
PostBooks is the foundation of the xTuple ERP software developed and marketed by the company of the same name beginning in the year 2000. All of the xTuple ERP Editions are targeted toward small to midsize companies. PostBooks is offered on a commercial base in the Distribution Edition, the Manufacturing Edition, and the Enterprise Edition.

The first stable release of PostBooks was version 2.2.0 announced in September 2007 when its code was first made publicly available on SourceForge. Since then source code management has been moved to GitHub.

On June 20, 2019, it was announced the distribution of the free PostBooks Editions has been discontinued.

Functionality
PostBooks is divided into 7 functional modules: Accounting, Sales, CRM, Manufacture, Purchase, Inventory and Products. It supports multi-currency and multi-language capability and is therefore suited for international deployment. All modules are integrated into a single common code base in the client, and reside in a single database schema on the server. The difference between PostBooks and commercial editions is completely managed in the database schema where the Commercial database includes additional tables and functions to support larger enterprises.

The PostBooks project includes two application interface options: a locally installed Graphical User Interface (GUI) client and a REST based web services API for integration with third-party applications, all of which feed into the same PostgreSQL back end database. The GUI client is using a client–server methodology written in C++ using the Qt framework. Both the Qt client and PostgreSQL database server may be run on Windows, Macintosh, or Linux operating systems. The GUI client also uses the OpenRPT report writer and renderer as its embedded reporting engine. OpenRPT is an LGPL licensed open source project also administered by xTuple and hosted on GitHub. The web client is written entirely in JavaScript using Enyo to manage the presentation layer and Backbone for the model layer. It communicates with a NodeJS server which provides the REST web services interface. The web client uses Pentaho to provide reporting and business intelligence functions.

Extendability
One of the major advantages of the PostBooks (and commercial) software is the technology it is written in, which allows significant customization of the database and functionality of the system. Customization is overlaid over core functionality and allows easy manipulation of the system from the simple addition of an extra field, to significant functionality overhauls. This is evident in that the entire Manufacturing feature set is developed as a scripted package over the commercial core application. As such PostBooks can be modified to meet the requirements of most organizations.

Community
Before going proprietary, PostBooks had a mature and established community. While the project was technically maintained on GitHub, most community activity is initiated at the xTuple hosted community website where additional forums and technical documents are available.

PostBooks is written using English as the base language but has been or is being translated into several languages by the community at large including Spanish, French, German, Russian, Turkish, Chinese and Portuguese.