Application interface

The database is yours and documented, and we build the integrations that sit on it — bank feeds, storefronts, payment providers and bespoke tooling.

  • A documented PostgreSQL schema you can query directly.
  • Read-only reporting connections for BI tools and spreadsheets.
  • We build integrations onto it: bank feeds, e-commerce, payment providers, couriers.
  • The storefront is one such integration, writing its orders straight into SQL-Ledger.
  • Custom screens and reports can be added to the application itself.
  • Ask us what you need connected — that is the development side of what we do.

Where to find it Ask us

How the storefront integration works

The storefront is the integration we ship; it shows the shape of any other.

  1. The shop reads the parts table for its catalogue: number, description, price, image and on-hand.
  2. A checkout writes a sales order into the oe and orderitems tables under a WEB- number, with the customer created or matched by email.
  3. From there it is an ordinary order: it appears in Order Entry › Reports, is picked from Logistics › Ship, and is invoiced like any other.
  4. A read-only database role is the usual starting point for reporting tools; write access is done through the application’s own modules so the ledger stays consistent.
The storefront product listing
The storefront is one integration: it reads this catalogue…
Parts report showing the same items and prices
…the same parts records, at the same prices…
Sales order report showing storefront orders
…and writes its orders back as sales orders.
General ledger report
Everything lands in one PostgreSQL schema you can query directly.

How we extend it

  1. Every screen’s action can be driven without a browser: the scripts accept the request as a query string, so ct.pl "login=…&action=save&db=customer&name=…" creates a customer with the same validation, numbering and multi-table writes the screen would do. This is how the CSV imports and the storefront integration are built, and why they never leave the database half-written.
  2. Customisations go in bin/mozilla/custom/: a custom_gl.pl adds or overrides functions of gl.pl and is loaded automatically, and a custom_menu.ini adds menu entries in the same syntax as the main menu. Both survive upgrades untouched.
  3. A whole new module is three files — a SL/MyModule.pm for the SQL, a bin/mozilla/mymodule.pl for the screens, and a root dispatcher — and plugs into the same session, menu and role system.

From the blog

  • Revolut Integration with SQL-LedgerOur revolut module allows your to integrate and import transactions from your Revolut bank account into GL transactions This module also a rules engine…

Every dataset on our hosting has this, from day one.

Create your free account or ask us about migrating