Recent content https://ledgersmb.org/ en 1.10 release notes https://ledgersmb.org/content/110-release-notes <span class="field field--name-title field--type-string field--label-hidden">1.10 release notes</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><h1><span id="cke_bm_63S" style="display: none;"> </span>What's new in LedgerSMB 1.10</h1> <ul> <li> </li> </ul> <p><!--break--></p> <h1>New features</h1> <h2>&lt;title&gt;</h2> <p>&lt;description&gt;</p> <p><strong>Note for upgrades</strong>: &lt;description&gt;</p> <h1>Notable changes</h1> <p> </p> <p> </p> <p> </p> <h1>Upgrade notes</h1> <h2>AR/AP transaction print templates</h2> <p>In 1.10, the line item descriptions on AR/AP transaction print templates have been renamed from "description" to "linedescription" to eliminate overlapping use of the "description" field. This means you need to either re-import the templates (which can be done through "setup.pl") or change all occurrences of:</p> <pre> description.${lc}</pre> <p>and</p> <pre> description.${loop_count}</pre> <p>respectively to:</p> <pre> linedescription.${lc}</pre> <p>or</p> <pre> linedescription.${loop_count}</pre> <p>This applies to both AR and AP transaction templates (accessible through the System &gt; Templates menu), for all formats (csv, tex and html).</p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>ehu</span></span> <span class="field field--name-created field--type-created field--label-hidden">Mon, 03/28/2022 - 13:29</span> <div class="field field--name-field-topic field--type-entity-reference field--label-above"> <div class="field__label">Topic</div> <div class="field__items"> <div class="field__item"><a href="/taxonomy/term/148" hreflang="en">Draft</a></div> </div> </div> <div class="field field--name-field-release field--type-entity-reference field--label-above"> <div class="field__label">Release</div> <div class="field__items"> <div class="field__item"><a href="/taxonomy/term/150" hreflang="en">1.10</a></div> </div> </div> <section class="field field--name-comment-node-article field--type-comment field--label-hidden comment-wrapper"> </section> Mon, 28 Mar 2022 20:29:49 +0000 ehu 583 at https://ledgersmb.org 1.9 release notes https://ledgersmb.org/content/19-release-notes <span class="field field--name-title field--type-string field--label-hidden">1.9 release notes</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><h1>What's new and notable in LedgerSMB 1.9</h1> <ul> <li>Customer/Vendor drop-down on invoices searchable</li> <li>E-mailed documents stored in the database</li> <li>Searching open invoices for payment by customer/vendor name</li> <li>A new command line application for administrative tasks and automation</li> <li>"GIFI" selections are now hidden when no GIFI is configured</li> <li>Replace "Ignore Year-ends" with opening or closing balances on balance sheet report</li> <li>Mailing of aging reports</li> <li>'Update' no longer clobbers saved invoices and transactions</li> <li>Optimized HTML and JavaScript responses for faster page loading</li> </ul> <h1>New features</h1> <h2>Mailing of aging reports</h2> <p>Versions of LedgerSMB up to and including 1.4 had a function to mail aging reports to customers. With the release of 1.5, this functionality was accidentally removed: forgotten to be implemented in the refactoring of the last reporting functionalities being moved to "the new reporting framework". This was in 2016. Finally, this function has been <em><strong>added back</strong></em> into LedgerSMB as of the 1.9 release.</p> <h2>Customer/Vendor drop-down on invoices (and transactions) searchable</h2> <p>The customer/vendor selection drop-down on AR/AP transactions and invoices has been replaced with an input element which filters available names based on input entered. Before, there was a regular drop-down listing a fixed list of choices. However, when the number of customers gets too big, that's an impractical way of selecting a customer or vendor. Therefore, another input selection mechanism was available where a regular textbox was used to search the desired customer/vendor on 'Update'. This new feature provides good middle ground. If your database is configured to use the regular textbox, entering a high enough number in the "Max per drop-down" setting in the "System &gt; Defaults" screen enables this new functionality (for drop-downs no larger than the specified number of items).</p> <h2>E-mailed documents stored in the database</h2> <p>Invoices and aging reports, when mailed, are now stored in the database. This provides the opportunity to download the documents for inspection from the e-mail entry screen as well as that it serves as an archive of what has been sent to whom. In the past, there was no way to check emails having been sent, other than by including oneself as a Bcc recipient.</p> <h2>Searching open invoices for bulk payment by customer/vendor name</h2> <p>This release adds the option to select invoices offered for payment in the bulk-payment screen by vendor/customer name in addition to the (existing) option to select invoices by vendor/customer number.</p> <h2>A new command line application for administrative tasks and automation</h2> <p>A new command line application "ledgersmb-admin" offers the ability to run a number of administrative commands from the command line (instead of from "setup.pl"). The following commands have been implemented so far:</p> <ul> <li>Database management commands <ul> <li>backup<br /> creates backups of a database</li> <li>copy<br /> creates copies of a database</li> <li>create<br /> creates a new database, optionally with configuration and a user</li> <li>destroy<br /> removes a database</li> <li>rename<br /> renames a database, while retaining access rights for existing users</li> <li>restore<br /> restores a database from a backup file created with the "backup" command</li> <li>upgrade<br /> upgrades a database's schema and stored procedures for a new application version</li> </ul> </li> <li>Company management commands <ul> <li>template<br /> imports, exports and lists templates in a company</li> </ul> </li> </ul> <p>More commands are expected to be available on 1.10 or later.</p> <h2>Replace "Ignore Year-ends" with opening or closing balances on balance sheet report</h2> <p>Before this release, there was an option to either include or ignore "year ends" when running the balance sheet report. This type of input was deemed too technical: the actual question the application was trying to ask was whether the user is trying to run an opening or a closing balance at the given date. Exactly <em>how</em> the application achieves that, is an implementation detail that involves date calculus and in-/exclusion of "year ends". These technicalities have now been hidden from the user.</p> <p>The Income Statement and Trial balance report have been aligned to reconcile with the "Closing balance" report (the default) of the balance sheet: both reports run from the opening balance of the start date to the closing balance of the end date.</p> <h1>Notable changes</h1> <h2>'Update' no longer clobbers saved invoices and transactions</h2> <p>For a long time the function has existed in LedgerSMB whereby a user can save a transaction in order to store it and either work on it later, or post it later. The function has been broken for quite a while due to the fact that clicking "Update" on a saved transaction (or invoice) would restore the transaction to its saved state - undoing all work done on the saved transaction to prepare it for posting. Technically, it was a complex task to prevent the entered data from being reverted to the original state, but the 1.9 release finally fixes this issue which was filed in 2015.</p> <h2>Optimized HTML and JavaScript responses for faster page loading</h2> <p>Extensive research has been performed on what determined the response times for HTML pages. Many small code changes were implemented to speed up page response times, shaving off some 30% of the response time of a huge GL search report.</p> <p>Additionally, a lot of research went into finding ways to reduce the size of the JavaScript files being used by the application as well as reducing the number of requests to load these files into the browser. As a result, LedgerSMB now uses <a href="https://webpack.js.org/guides/installation/">Webpack</a> to process JavaScript source files from our own project, <a href="https://dojotoolkit.org/">Dojo Toolkit</a> and JS dependencies from NPM. Further research to increase JS performance is on-going, even after the 1.9 release, all in terms of number of dependencies, code size and execution speed.</p> <h2>"GIFI" selections are now hidden when no GIFI is configured</h2> <p>Most installations don't need GIFI codes for their accounts: it's a canadian coding system required by law to support government reporting. Often, it's being used for alternative reporting classifications for companies outside of Canada. When neither is the case, GIFI would be offered as a search delimiter in many places. Now, GIFI input boxes are being suppressed when no GIFI is configured for the company. As soon as a single GIFI code is configured, the codes will show in the UI again.</p> <h1>Other user-visible changes</h1> <ul> <li>The list of country names in the preferences screen is now translated to the selected language</li> <li>The invoice entry screen now links to the customer/vendor screen with the customer/vendor preselected</li> <li>Faster calculation of the balance sheet report</li> <li>Faster population of the list of currencies (applies to all screens with a currency drop-down)</li> <li>All non-required drop-downs now contain an empty value that can be selected to undo the selection of a non-empty value</li> <li>Orders and invoices show history: e.g. saving, posting, printing and mailing</li> <li>Improved error reporting and handling on failure with Print buttons</li> <li>E-mailed invoices generated based on the data in the database instead of the data visible (and editable!) on-screen ensuring consistency between invoice and stored data</li> </ul> <h1>Known problems</h1> <p> </p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>ehu</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sun, 08/22/2021 - 06:58</span> <div class="field field--name-field-topic field--type-entity-reference field--label-above"> <div class="field__label">Topic</div> <div class="field__items"> <div class="field__item"><a href="/taxonomy/term/145" hreflang="en">Release notes</a></div> </div> </div> <div class="field field--name-field-release field--type-entity-reference field--label-above"> <div class="field__label">Release</div> <div class="field__items"> <div class="field__item"><a href="/taxonomy/term/149" hreflang="en">1.9</a></div> </div> </div> <section class="field field--name-comment-node-article field--type-comment field--label-hidden comment-wrapper"> </section> Sun, 22 Aug 2021 13:58:02 +0000 ehu 545 at https://ledgersmb.org Download https://ledgersmb.org/content/download <span class="field field--name-title field--type-string field--label-hidden">Download</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><h1>Maintained releases</h1> <p>The current stable release line is 1.8. For more information about older versions, see <a href="http://ledgersmb.org/faq/support/which-versions-do-you-support">the FAQ item about supported releases</a>. Versions 1.2 and older should no longer be used due to known security issues that cannot be resolved in that code base.</p> <h1>Official release distribution</h1> <div data-embed-button="file_browser" data-entity-embed-display="image:image" data-entity-type="file" data-entity-uuid="db4ffe70-23c4-48ef-8c9f-0405eb494751" class="align-left embedded-entity" data-langcode="und"> <img src="/sites/default/files/lsmb_0%20%281%29.jpg" /> </div> <p> The latest <strong>official release</strong> of LedgerSMB is always at <a href="http://download.ledgersmb.org/f/">download site</a>. Releases are signed with GPG to assert integrity. Our public GPG key can be found on <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x39A629558DA0AF10">MIT's key server</a> or on <a href="http://pgpkeys.eu/pks/lookup?op=get&amp;search=0x39A629558DA0AF10">pgpkeys.eu</a>. <a href="https://ledgersmb.org/content/installing-ledgersmb-15">Install  </a>and <a href="https://ledgersmb.org/content/upgrading-ledgersmb-15">upgrade</a> info.</p> <p>You can verify the release with the command</p> <div class="geshifilter"><pre class="bash geshifilter-bash"><span class="co4">$ </span>gpg <span class="re5">--verify</span> ledgersmb-<span class="sy0">&lt;</span>version<span class="sy0">&gt;</span>.tar.gz.asc ledgersmb-<span class="sy0">&lt;</span>version<span class="sy0">&gt;</span>.tar.gz</pre></div> <h1>Docker images</h1> <p><img alt="Docker logo" data-entity-type="file" data-entity-uuid="fb9cc1b3-c021-4959-9ae7-8f6b4253a098" height="77" src="/sites/default/files/inline-images/small_v-trans_0.png" width="87" loading="lazy" class="align-left" />There are production level <a href="https://docs.docker.com/">Docker</a> images <a href="https://github.com/ledgersmb/ledgersmb-docker/pkgs/container/ledgersmb">available on GitHub</a>. New containers are released on every stable (1.9) and old-stable release. Docker images are around 200MB in size.</p> <p>The docker repository identifier is "ledgersmb/ledgersmb" with the "latest" tag always pointing to the most recent stable release, which is currently the most recent 1.9.x release. The "master" tag points to the most recent alpha or beta of the development version (1.10).</p> <h1>Distribution packages</h1> <div data-embed-button="file_browser" data-entity-embed-display="image:image" data-entity-type="file" data-entity-uuid="1d5cf6f4-3ed1-4df8-a1e4-309812de8639" class="align-left embedded-entity" data-langcode="und"> <img src="/sites/default/files/openlogo-nd-25_1.png" /> </div> <p> A <strong>Debian</strong> package is available in Debian v11 (stable, 'bullseye') and Debian v10 (oldstable, 'buster') but was <em>not</em> available in Debian v9 (Stretch, oldoldstable) due to problems with the Dojo dependency (which failed to build). Note that the current LedgerSMB version that is recommended for use is one in the 1.9.x series, which is not in Debian. We're working to get 1.8.x or 1.9.x packages into Debian.</p> <p>Newer packages than those distributed by Debian can be found in the <a href="https://apt.ledgersmb.org/">LedgerSMB APT</a> repository (along with their updated dependancies as necessary).</p> <div data-embed-button="file_browser" data-entity-embed-display="image:image" data-entity-type="file" data-entity-uuid="667831a5-e5bd-4c88-b4f4-a7888392a414" class="align-left embedded-entity" data-langcode="und"> <img src="/sites/default/files/ubuntu_0_1.png" /> </div> <p><strong> Ubuntu</strong> packages are available in the standard distributions based off of the Debian packages.</p> <p>Newer packages than those distributed in Ubuntu can be found in the <a href="https://launchpad.net/~ledgersmb/+archive/ubuntu/main/+packages">LedgerSMB PPA</a><a href="https://repo.ledgersmb.org/"> </a>repository.</p> <div data-embed-button="file_browser" data-entity-embed-display="image:image" data-entity-type="file" data-entity-uuid="83035d31-c255-4445-9a55-855637a29250" class="align-left embedded-entity" data-langcode="und"> <img src="/sites/default/files/rpm_logo1_0.png" /> </div> <p> <strong>RPM</strong> Packaging contributions solicited.</p> <div data-embed-button="file_browser" data-entity-embed-display="image:image" data-entity-type="file" data-entity-uuid="03989031-93cc-478e-bde5-816a93069d95" class="align-left embedded-entity" data-langcode="und"> <img src="/sites/default/files/freebsd_0.png" /> </div> <p><strong>FreeBSD</strong> Packaging contributions solicited</p> <div data-embed-button="file_browser" data-entity-embed-display="image:image" data-entity-type="file" data-entity-uuid="c371efe2-7772-4c1a-9600-76c376e8ba47" class="align-left embedded-entity" data-langcode="und"> <img src="/sites/default/files/ppuf_0_0.png" /> </div> <p> <strong>OpenBSD</strong> Packaging contributions solicited.</p> <div data-embed-button="file_browser" data-entity-embed-display="image:image" data-entity-type="file" data-entity-uuid="106c6ca2-81f6-4434-b470-75da3589fb42" class="align-left embedded-entity" data-langcode="und"> <img src="/sites/default/files/Virtualbox_logo_0.png" /> </div> <p><strong> Virtual Box</strong> No up-to-date images at this time.<contribute one=""></contribute></p> <h1>Keeping up with the latest developments</h1> <p>The latest 1.7.x, 1.8.x and 1.9.x are available directly from <strong>GitHub</strong> as a .zip file (it's not an official release, but has the latest fixes you may need) <a href="https://github.com/ledgersmb/LedgerSMB/archive/1.7.zip">1.7.x from GitHub</a>, <a href="https://github.com/ledgersmb/LedgerSMB/archive/1.8.zip">1.8.x from GitHub</a>, <a href="https://github.com/ledgersmb/LedgerSMB/archive/1.9.zip">1.9.x from GitHub</a>. Check the repository for the change log in <a href="https://github.com/ledgersmb/LedgerSMB/blob/1.9/Changelog">1.9.x from GitHub</a> or <a href="https://github.com/ledgersmb/LedgerSMB/blob/master/Changelog">the changes in bleeding edge ('master')</a>.</p> <p><strong>LedgerSMB public GPG key</strong><br /> The LedgerSMB GPG public key can be found on the<a href="http://pgp.mit.edu/"> MIT key server.</a>  Here is the <a href="http://pgp.mit.edu:11371/pks/lookup?op=get&amp;search=0x39A629558DA0AF10">direct link</a>.</p> <div id="cke_pastebin" style="position: absolute; top: 508.8px; width: 1px; height: 1px; overflow: hidden; left: -1000px;"> </div> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Anonymous (not verified)</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sat, 04/01/2017 - 05:28</span> <div class="field field--name-field-topic field--type-entity-reference field--label-above"> <div class="field__label">Topic</div> <div class="field__items"> <div class="field__item"><a href="/topic/installation" hreflang="en">Installation</a></div> </div> </div> <div class="field field--name-field-operating-system field--type-entity-reference field--label-above"> <div class="field__label">Operating system</div> <div class="field__items"> <div class="field__item"><a href="/operating-system/windows" hreflang="en">Windows</a></div> <div class="field__item"><a href="/operating-system/other" hreflang="en">Other</a></div> <div class="field__item"><a href="/operating-system/ios" hreflang="en">iOS</a></div> <div class="field__item"><a href="/operating-system/freebsd" hreflang="en">FreeBSD</a></div> <div class="field__item"><a href="/operating-system/linux" hreflang="en">Linux</a></div> <div class="field__item"><a href="/operating-system/centos" hreflang="en">CentOS</a></div> <div class="field__item"><a href="/operating-system/debian" hreflang="en">Debian</a></div> <div class="field__item"><a href="/operating-system/fedora" hreflang="en">Fedora</a></div> <div class="field__item"><a href="/operating-system/linux/gentoo" hreflang="en">Gentoo</a></div> <div class="field__item"><a href="/operating-system/redhat-enterprise-linux" hreflang="en">RedHat Enterprise Linux</a></div> <div class="field__item"><a href="/operating-system/linux/ubuntu" hreflang="en">Ubuntu</a></div> <div class="field__item"><a href="/operating-system/macos-x" hreflang="en">MacOS X</a></div> <div class="field__item"><a href="/operating-system/openbsd" hreflang="en">OpenBSD</a></div> <div class="field__item"><a href="/operating-system/android" hreflang="en">Android</a></div> </div> </div> <section class="field field--name-comment-node-page field--type-comment field--label-hidden comment-wrapper"> </section> Sat, 01 Apr 2017 12:28:25 +0000 Anonymous 140 at https://ledgersmb.org https://ledgersmb.org/content/download#comments Community overview 2021 https://ledgersmb.org/content/community-overview-2021 <span class="field field--name-title field--type-string field--label-hidden">Community overview 2021</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>As the year-end approaches, it's time to provide an overview of what our community has achieved over the past year. At the end of last year, I wished everybody a healthy and prosperous 2021. The year has turned out to be as challenging as the last and I hope this overview reaches you in a health as good as (or better than) last year's.</p> <h1>== Community interest ==</h1> <p>Although the number of hits on the website has declined steadily over the years, it seems that the decrease is slowing down: ca 1,000 fewer hits than in 2020, but 2020 lost ca 6,000 hits when compared to 2019. Traffic on the mailing lists was - in line with 2020 - very low this year. However, from the fact that during the year, we've also seen the number of Stars and Forks on GitHub slowly but steadily increase (Stars went up from 207 on 22 December 2020 to 260 today), we can conclude that there is still interest in the project, however, the broader community didn't have much time to engage with the project this year -- similar to what other volunteer-driven projects are experiencing this year.</p> <h1>== Releases ==</h1> <p>With the release of 1.9.0  on 25 September 2021, we realized our goal to release 1.9 in the second half of the year, around a year after 1.8. This way, our target of releasing around the middle of the year, in order for the software to mature well before year-end (when most companies close their books).<br /> Despite the short release cycle, we were able to include a sizeable list of new functionalities, changes and (code) cleanups through 902 files changed, 306,496 added lines and 271,066 removed lines of code (and comments) between 1.8.0 and 1.9.0.</p> <p>With the number of releases doubled in 2020 over 2019 (44 releases over ~20 before), the question was whether we'd keep it up to release that often. Turns out we were able to meet our prior year standards with 38 releases in 2021:</p> <p>  1.6 (5): 1.6.29 - 1.6.33<br />   1.7 (12): 1.7.26 - 1.7.37<br />   1.8 (15): 1.8.10 - 1.8.24<br />   1.9 (6): 1.9.0 - 1.9.5</p> <p>Which excludes the alpha, beta and release candidate releases.</p> <h1>== Packaging and installation ==</h1> <p>For the 1.9 Docker images, we moved from Debian Buster to Debian Bullseye as the base operating system. Contrary to prior experience - moving to Buster - there were no notable problems in the move.</p> <p>Significant engineering effort went into automating the mapping of Perl dependencies to their Debian package names during the Docker build process. By having this automation in place, error margin and manual release maintenance has been eliminated. The automation worked so well that it was backported from the initial 1.9 implemenetation to the release processes for 1.8 and 1.7 as well.</p> <p>With some help from the Debian community, we were able to fix the packages that come with Debian Bullseye: the packages that were there before were missing the "old/lib/" subdirectory. Unfortunately, Debian still includes 1.6.</p> <h1>== Development progress ==</h1> <p>This year saw fewer commits than last year. Although this could be an indication that our project is suffering from the same problem many other Open Source projects have during the pandemic: a loss of available time from their contributors. I don't think that's the case for our project as some of it can be explained by the tougher topics being picked up in the second half of the year. Although the sheer number of commits was lower, the number of pull requests (832) is in the same order of magnitude as those from last year. The number of active developers - judging by accepted commits - went up from 47 last year to 9 people contributing commits this year - even though 2 of last year's contributors were one-off contributions.</p> <p>Last year I expressed my desire to close a number of long-standing issues this year and in fact, we have:</p> <ul> <li>#975: Edit/Update on a saved invoice or transaction clobbers changes</li> <li>#1135: Ability to delete a login account</li> <li>#816: Ability to install in a schema other than "public"</li> <li>#835: Performance of the balance sheet report (should use cached balances)</li> </ul> <p>All from 2015, just to name a few.</p> <p>Project commits on all branches (excluding merges and bots):<br />     895 Erik Huelsmann*<br />     139 Yves Lavoie*<br />      61 Aung Zaw Win*<br />      11 Neil Tiffin*<br />       4 Richard T. Weeks<br />       3 NoGare<br />       2 lianto.ruyang<br />       2 daOrangePeeler<br />       1 Xin Wang<br /> * includes contributions on maintenance branches</p> <p>By comparison, these are the figures for 2020:<br />     1247 Erik Huelsmann*<br />     179 Yves Lavoie*<br />     108 Nick Prater*<br />      37 Aung Zaw Win*<br />       3 Håvard Sørli<br />       1 Bobberty<br />       1 Andreas Karlsson</p> <p>Please note that the number of commits is in no way a measure of time spent on the project. Also note that these numbers don't include the time spent by those taking the effort to report their problems and taking the time to respond to developer questions as well as helping to test solutions when developers think they solved the problem. Similarly, there was a lot of activity with respect to issues:</p> <p>  Number of open issues at 2021-01-01: 226<br />     of which remain open today: 137</p> <p>  Issues closed: 173<br />     of which created before 2021-01-01: 89</p> <p>  Issues created: 105<br />     of which still open: 21</p> <p>  Number of open issues today: 158</p> <p>This amount of development activity triggers many CI/CD jobs. Last year, we had just moved our regular CI loads to GitHub Actions; this year we have run almost 2,000 CI workflows on the main repository alone(!). A high number of jobs was triggered by Dependabot and Renovate Bot, two bots which have helped us to keep our JavaScript dependencies up to date. While Dependabot could run integration checks multiple times a day, we moved to Renovate in order to be able to reduce the number of CI jobs and merges. They're now set to once a week -- we're not releasing multiple times per day from our repository anyway.</p> <p>In the Changelog for 1.10 (https://github.com/ledgersmb/LedgerSMB/blob/master/Changelog#L3), you'll be able to read where we spent our time, for all effort that didn't end up in 1.9 and wasn't listed above. Areas that we're currently spending time on, include:</p> <ul> <li>Encapsulating Dojo widgets in "custom elements" in order more easily switch component libraries<em> </em></li> <li>Putting the requirements in place in order to develop our UI with Vue3</li> <li>Development of webservice APIs</li> </ul> <p>The 158 issues that are open today summarize into these statistics:</p> <ul> <li>11 bite-sized: a good place to start when looking to make contributions</li> <li>69 enhancement: requesting new features added to the application</li> <li>4 help wanted: looking for someone to help out on this issue</li> <li>10 migration: these issues need help testing and developing migration from SQL Ledger</li> <li>6 needs-documentation: there's not enough documentation...</li> </ul> <p>(Note that an issue may fall into more than one category or none at all.)</p> <p>== New functionality and improvements ==</p> <p>Distributed with 1.10, a very nice although somewhat niche, functionality was added supporting localized handling of taxes: in the US, Washington State (WA) operates a web service which serves the tax rate in the tax district. We have built a module that queries this service based on the billing address on the invoice. The module calculates the applicable tax amount and posts it. The webservice returns a "tax district code" which gets posted with the amount for tracking and auditing by an accountant. This use-case goes to show what customizations are becoming possible after the years LedgerSMB has been in development, with all the code cleanup that has been going on.</p> <h1>== Looking forward to 2022 ==</h1> <p>In 2022, we'll likely release 1.10 around the middle of the year; again in a release cycle a bit shorter than a year. This year two release branches will reach End-Of-Life status: 1.8 on 4 September 2022 and 1.7 on 4 October 2022. By the end of 2022, we'll be back to supporting two active release branches as we were before we switched to yearly release cycles. Experience has shown that given sufficient automation, maintenance of 3 branches is doable, but still challenging; there are simply too many merge conflicts on any non-trivial backport to do the job well.</p> <p>And last but not least, I'm hoping for 1 or 2 new contributors (not necessarily developers; translators, testers, documentation writers or UI artists are all greatly appreciated!). If you want to contribute, but don't know where to start, please contact me.</p> <h1>== In closing ==</h1> <p>Thanks to everybody who contributed to any of the above in any way, especially to</p> <ul> <li>Computerisms.ca for hosting our DNS</li> <li>Freelock.com for hosting our website and mailing lists</li> <li>Efficito.com for hosting our mailing list archive, apt repository, release and download server</li> <li>GitHub.com, CircleCI and coveralls.io for hosting our development workflow</li> </ul> <p>My special personal thanks go to my GitHub Sponsors for supporting me for time, efforts and (financial) resources dedicated to the project!</p> <p><br /> Leaves me only to wish everybody in our community - and their loved ones - happy holidays and a safe and productive 2022!</p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>ehu</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sun, 12/26/2021 - 09:27</span> <section class="field field--name-comment-node-article field--type-comment field--label-hidden comment-wrapper"> </section> Sun, 26 Dec 2021 17:27:03 +0000 ehu 572 at https://ledgersmb.org Screenshots for 1.9 https://ledgersmb.org/content/screenshots-19 <span class="field field--name-title field--type-string field--label-hidden">Screenshots for 1.9</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>ehu</span></span> <span class="field field--name-created field--type-created field--label-hidden">Thu, 10/21/2021 - 23:36</span> <div class="field field--name-field-topic field--type-entity-reference field--label-above"> <div class="field__label">Topic</div> <div class="field__items"> <div class="field__item"><a href="/taxonomy/term/141" hreflang="en">Screenshots</a></div> </div> </div> <div class="field field--name-field-release field--type-entity-reference field--label-above"> <div class="field__label">Release</div> <div class="field__items"> <div class="field__item"><a href="/taxonomy/term/149" hreflang="en">1.9</a></div> </div> </div> <div class="field field--name-field-media field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/f48e21d47d7d1544ed74faa1ef4ec3d3-step-post-5.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 login screen&quot;}" role="button" title="1.9 login screen" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 login screen&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/f48e21d47d7d1544ed74faa1ef4ec3d3-step-post-5.png?itok=GZpJswAy" width="325" height="250" alt="1.9 login screen" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/f48e21d47d7d1544ed74faa1ef4ec3d3-step-post-2.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Setup application login screen&quot;}" role="button" title="1.9 Setup application login screen" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Setup application login screen&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/f48e21d47d7d1544ed74faa1ef4ec3d3-step-post-2.png?itok=l3pCP8Cc" width="325" height="250" alt="1.9 Setup application login screen" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/ff8dcc516037939d5fbcf5ef6db85e35-step-post-1.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Welcome screen (after login)&quot;}" role="button" title="1.9 Welcome screen (after login)" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Welcome screen (after login)&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/ff8dcc516037939d5fbcf5ef6db85e35-step-post-1.png?itok=RIrCw8St" width="325" height="250" alt="1.9 Welcome screen (after login)" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-183.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 configuration screen&quot;}" role="button" title="1.9 configuration screen" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 configuration screen&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-183.png?itok=WfwPZ96B" width="325" height="250" alt="1.9 configuration screen" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-26.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 AR transaction entry&quot;}" role="button" title="1.9 AR transaction entry" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 AR transaction entry&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-26.png?itok=S5MJuSEt" width="325" height="250" alt="1.9 AR transaction entry" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-197.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Tax configuration&quot;}" role="button" title="1.9 Tax configuration" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Tax configuration&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-197.png?itok=C6gqVseo" width="325" height="250" alt="1.9 Tax configuration" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/1e697f84931add8190179970614c7c8f-step-post-4.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 batch posting (approval)&quot;}" role="button" title="1.9 batch posting (approval)" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 batch posting (approval)&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/1e697f84931add8190179970614c7c8f-step-post-4.png?itok=rXHNtoSj" width="325" height="250" alt="1.9 batch posting (approval)" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-91.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Chart of Accounts overview&quot;}" role="button" title="1.9 Chart of Accounts overview" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Chart of Accounts overview&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-91.png?itok=7g-6ixcW" width="325" height="250" alt="1.9 Chart of Accounts overview" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-96.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Journal entry&quot;}" role="button" title="1.9 Journal entry" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Journal entry&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-96.png?itok=PTA08WvO" width="325" height="250" alt="1.9 Journal entry" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/67b9ff63df723ffc820c4c63f77016f1-step-post-14.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Balance sheet report&quot;}" role="button" title="1.9 Balance sheet report" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Balance sheet report&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/67b9ff63df723ffc820c4c63f77016f1-step-post-14.png?itok=e4ifXq0p" width="325" height="250" alt="1.9 Balance sheet report" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/823cfa711d89778dd6e0d74b6d772f48-step-post-12.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Reconciliation screen&quot;}" role="button" title="1.9 Reconciliation screen" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Reconciliation screen&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/823cfa711d89778dd6e0d74b6d772f48-step-post-12.png?itok=Tu1ISTu3" width="325" height="250" alt="1.9 Reconciliation screen" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/b9fcc2b78d79669910495ccbc554aeae-step-post-6.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Account configuration screen&quot;}" role="button" title="1.9 Account configuration screen" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Account configuration screen&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/b9fcc2b78d79669910495ccbc554aeae-step-post-6.png?itok=S0Jew5HE" width="325" height="250" alt="1.9 Account configuration screen" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/cb74c50a4f5fdfa84f0f9eb25fad296f-step-post-23.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Exchange rate entry&quot;}" role="button" title="1.9 Exchange rate entry" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Exchange rate entry&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/cb74c50a4f5fdfa84f0f9eb25fad296f-step-post-23.png?itok=jqU6pBej" width="325" height="250" alt="1.9 Exchange rate entry" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/d7f00066a13ac7cf6ce4b669a33cc02d-step-post-10.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 User preferences screen&quot;}" role="button" title="1.9 User preferences screen" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 User preferences screen&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/d7f00066a13ac7cf6ce4b669a33cc02d-step-post-10.png?itok=hvAhTOco" width="325" height="250" alt="1.9 User preferences screen" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/d9b476f2b5609e8fd818d54b25262d4d-step-post-59.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Payment entry screen&quot;}" role="button" title="1.9 Payment entry screen" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Payment entry screen&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/d9b476f2b5609e8fd818d54b25262d4d-step-post-59.png?itok=zwcCiPzh" width="325" height="250" alt="1.9 Payment entry screen" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-151.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Add sales order&quot;}" role="button" title="1.9 Add sales order" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Add sales order&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/11054eefee3130c019ef7ce14a538d0c-step-post-151.png?itok=mNm3oyA4" width="325" height="250" alt="1.9 Add sales order" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> <div class="field__item"><article class="media media--type-screenshots media--view-mode-full"> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <a href="https://ledgersmb.org/sites/default/files/2021-10/205d71829069c419143bbbd51af13889-step-post-12.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.9 Sales invoice entry&quot;}" role="button" title="1.9 Sales invoice entry" data-colorbox-gallery="gallery-all--jiPKEf52i8" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.9 Sales invoice entry&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2021-10/205d71829069c419143bbbd51af13889-step-post-12.png?itok=YxwWyLWv" width="325" height="230" alt="1.9 Sales invoice entry" loading="lazy" class="image-style-max-325x325" /> </a> </div> </article> </div> </div> <section class="field field--name-comment-node-article field--type-comment field--label-hidden comment-wrapper"> </section> Fri, 22 Oct 2021 06:36:18 +0000 ehu 565 at https://ledgersmb.org Using Docker to develop LedgerSMB https://ledgersmb.org/content/using-docker-develop-ledgersmb <span class="field field--name-title field--type-string field--label-hidden">Using Docker to develop LedgerSMB</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Getting all the development dependencies and a working copy for LedgerSMB can be time consuming and complex. However, using our <a href="https://docs.docker.com/compose/">Docker Compose</a> infrastructure reduces this to four simple steps:</p> <ol> <li><a href="https://docs.docker.com/engine/installation/">Install Docker</a></li> <li><a href="https://docs.docker.com/compose/install/">Install Docker Compose</a></li> <li>Clone the <a href="https://github.com/ledgersmb/LedgerSMB">LedgerSMB repository</a> from GitHub</li> <li>Clone the <a href="https://github.com/ledgersmb/ledgersmb-dev-docker">LedgerSMB Development Docker repository</a> from GitHub</li> </ol> <p>(And start the infrastructure from the docker compose file.)</p> <h1>Example</h1> <p>The example below works on Debian Stretch:</p> <h2 class="perl">Install Docker</h2> <div class="geshifilter"><pre class="perl geshifilter-perl">$ sudo apt<span class="sy0">-</span>get install \ apt<span class="sy0">-</span>transport<span class="sy0">-</span>https \ ca<span class="sy0">-</span>certificates \ curl \ gnupg2 \ software<span class="sy0">-</span>properties<span class="sy0">-</span>common $ curl <span class="sy0">-</span>fsSL https<span class="sy0">://</span>download<span class="sy0">.</span>docker<span class="sy0">.</span>com<span class="sy0">/</span>linux<span class="sy0">/</span><span class="co5">$(</span><span class="sy0">.</span> <span class="sy0">/</span>etc<span class="sy0">/</span>os<span class="sy0">-</span>release<span class="sy0">;</span> echo <span class="st0">"$ID"</span><span class="br0">)</span><span class="sy0">/</span>gpg <span class="sy0">|</span> sudo apt<span class="sy0">-</span>key add <span class="sy0">-</span> $ sudo add<span class="sy0">-</span>apt<span class="sy0">-</span>repository \ <span class="st0">"deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "</span><span class="re0">$ID</span><span class="st0">") <span class="es0">\</span> $(lsb_release -cs) <span class="es0">\</span> stable"</span> $ sudo apt<span class="sy0">-</span>get update $ sudo apt<span class="sy0">-</span>get install docker<span class="sy0">-</span>ce</pre></div> <h2>Install Docker Compose</h2> <p>Check the latest release at <a href="https://github.com/docker/compose/releases/">https://github.com/docker/compose/releases/</a> (and replace 1.17.0 with it)</p> <div class="geshifilter"><pre class="bash geshifilter-bash">$ <span class="kw2">sudo</span> curl <span class="re5">-L</span> https:<span class="sy0">//</span>github.com<span class="sy0">/</span>docker<span class="sy0">/</span>compose<span class="sy0">/</span>releases<span class="sy0">/</span>download<span class="sy0">/</span>1.17.0<span class="sy0">/</span>docker-compose-<span class="sy0">`</span><span class="kw2">uname</span> -s<span class="sy0">`</span>-<span class="sy0">`</span><span class="kw2">uname</span> -m<span class="sy0">`</span> \ <span class="re5">-o</span> <span class="sy0">/</span>usr<span class="sy0">/</span>local<span class="sy0">/</span>bin<span class="sy0">/</span>docker-compose $ <span class="kw2">sudo</span> <span class="kw2">chmod</span> +x <span class="sy0">/</span>usr<span class="sy0">/</span>local<span class="sy0">/</span>bin<span class="sy0">/</span>docker-compose</pre></div> <h2>Install docker compose bash completion (optional)</h2> <div class="geshifilter"><pre class="bash geshifilter-bash">$ <span class="kw2">sudo</span> curl <span class="re5">-L</span> https:<span class="sy0">//</span>raw.githubusercontent.com<span class="sy0">/</span>docker<span class="sy0">/</span>compose<span class="sy0">/</span>1.17.0<span class="sy0">/</span>contrib<span class="sy0">/</span>completion<span class="sy0">/</span>bash<span class="sy0">/</span>docker-compose \ <span class="re5">-o</span> <span class="sy0">/</span>etc<span class="sy0">/</span>bash_completion.d<span class="sy0">/</span>docker-compose</pre></div> <h2>Clone the LedgerSMB repository from GitHub (checks out 'master' branch)</h2> <div class="geshifilter"><pre class="bash geshifilter-bash">$ <span class="kw2">git clone</span> https:<span class="sy0">//</span>github.com<span class="sy0">/</span>ledgersmb<span class="sy0">/</span>LedgerSMB.git ledgersmb <span class="co0"># and, for 1.8 or earlier, additionally:</span> $ <span class="kw3">cd</span> ledgersmb <span class="sy0">&amp;&amp;</span> <span class="kw2">git submodule</span> update <span class="re5">--init</span> <span class="re5">--recursive</span> <span class="sy0">&amp;&amp;</span> <span class="kw3">cd</span> ..</pre></div> <h2 class="perl">Clone the LedgerSMB Development Docker repository from GitHub</h2> <div class="geshifilter"><pre class="bash geshifilter-bash"><span class="co4">$ </span><span class="kw2">git clone</span> https:<span class="sy0">//</span>github.com<span class="sy0">/</span>ledgersmb<span class="sy0">/</span>ledgersmb-dev-docker.git lsmb-dev-docker</pre></div> <p class="perl"> </p> <p>At this point you are set up to start developing and testing LedgerSMB; in order to test your changes in a running LedgerSMB instance, run:</p> <div class="geshifilter"><pre class="bash geshifilter-bash">$ <span class="kw3">cd</span> ledgersmb $ ..<span class="sy0">/</span>lsmb-dev-docker<span class="sy0">/</span>lsmb-dev master up <span class="re5">-d</span></pre></div> <p>This command starts the container infrastructure (using the names "ldmaster-lsmb", "ldmaster-proxy" and "ldmaster-db" for the LedgerSMB, NGinx and PostgreSQL containers respectively), taking the sources in the current directory (ledgersmb) to run the application. It also starts a Selenium grid to allow browser tests.</p> <h1>Notes</h1> <h2>File permissions</h2> <p>You may run into problems with file permissions if you want to run commands inside the containers which try to modify your local repository. You will need to either recursively set the file ownership to this user in your local tree, assign liberal 0777 (directory) and 0666 (file) permissions or execute the commands inside the container as root.</p> <h2>Example using www-data user, after you fix your file permissions:</h2> <div class="geshifilter"><pre class="bash geshifilter-bash">docker <span class="kw3">exec</span> <span class="re5">-ti</span> ldmaster-lsmb <span class="kw2">bash</span> www-data<span class="sy0">@</span>90451823cb57:<span class="sy0">/</span>srv<span class="sy0">/</span>ledgersmb$ <span class="kw2">make</span> dojo</pre></div> <h3>Example using root inside the container:</h3> <div class="geshifilter"><pre class="bash geshifilter-bash">docker <span class="kw3">exec</span> <span class="re5">-ti</span> <span class="re5">--user</span>=root ldmaster-lsmb <span class="kw2">bash</span></pre></div> <h2>Cache issues</h2> <p>The container is set up with template caching enabled. This means that you'll need to restart the container after code changes to see them. This is a simple:</p> <div class="geshifilter"><pre class="bash geshifilter-bash"><span class="co4">$ </span>..<span class="sy0">/</span>lsmb-dev-docker<span class="sy0">/</span>lsmb-dev master restart</pre></div> <h2>Supported versions</h2> <p>The development container infrastructure only supports development of 1.5 and never versions of LedgerSMB.</p> <p>Enjoy!</p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>freelock</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sat, 01/14/2017 - 09:38</span> <div class="field field--name-field-topic field--type-entity-reference field--label-above"> <div class="field__label">Topic</div> <div class="field__items"> <div class="field__item"><a href="/topics/development" hreflang="en">Development</a></div> </div> </div> <div class="field field--name-field-operating-system field--type-entity-reference field--label-above"> <div class="field__label">Operating system</div> <div class="field__items"> <div class="field__item"><a href="/operating-system/linux" hreflang="en">Linux</a></div> </div> </div> <div class="field field--name-field-release field--type-entity-reference field--label-above"> <div class="field__label">Release</div> <div class="field__items"> <div class="field__item"><a href="/release/15" hreflang="en">1.5</a></div> <div class="field__item"><a href="/taxonomy/term/142" hreflang="en">1.6</a></div> <div class="field__item"><a href="/taxonomy/term/146" hreflang="en">1.7</a></div> <div class="field__item"><a href="/taxonomy/term/147" hreflang="en">1.8</a></div> <div class="field__item"><a href="/taxonomy/term/149" hreflang="en">1.9</a></div> <div class="field__item"><a href="/taxonomy/term/150" hreflang="en">1.10</a></div> </div> </div> <div class="field field--name-field-faq-category field--type-entity-reference field--label-above"> <div class="field__label">FAQ Category</div> <div class="field__item"><a href="/faq-categories/contributing" hreflang="en">Contributing</a></div> </div> <section class="field field--name-comment-node-article field--type-comment field--label-hidden comment-wrapper"> </section> Sat, 14 Jan 2017 17:38:23 +0000 freelock 369 at https://ledgersmb.org System requirements https://ledgersmb.org/content/system-requirements <span class="field field--name-title field--type-string field--label-hidden">System requirements</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><h1>Hardware requirements</h1> <p>The hardware required to run LedgerSMB greatly depends on the number of users. However, with a small number of users (up to 10 or so), a 32bit server with 512MB to 1GB of memory (including Linux Server OS) and just a few hundred MB of storage (excluding OS) should be enough to get good performance.<br /> For a 64bit server, you probably need 1GB to 2GB of memory, but otherwise the requirements are the same.</p> <h1>Operating system requirements</h1> <p>LedgerSMB runs on Linux/Unix (for the Server) and any platform with a compatible Web Browser (for the Client).<br /> Platforms that have known-compatible browsers are Linux, Windows, MacOS, most smart phones and tablets should also work although the current UI requires a large screen for optimum usability. (Minimal size: 9.7" tablet in landscape mode.)</p> <p>Unix includes all flavours (variants) of Linux including</p> <ul> <li>Debian</li> <li>Mint</li> <li>Ubuntu</li> <li>RedHat</li> <li>Fedora</li> <li>BSD</li> <li>MacOS / OS X</li> <li>and many more</li> </ul> <h2>MS Windows</h2> <ul> <li>While in the past the server would run on Windows as well, this is currently not tested and expected to break.</li> <li>LedgerSMB has a client / server architecture, so while it is often better to run the server on Linux, this will not stop you from running the clients on windows. In fact this is a common situation and is fully supported.</li> </ul> <p>For more information on running on windows please look at the FAQ item <a href="http://ledgersmb.org/faq/can-i-use-ledgersmb-ms-windows">Can I use LedgerSMB on MS Windows?</a></p> <h1>Software requirements (client)</h1> <p>On the client, LedgerSMB requires a compatible browser. As of version 1.9, the development team keeps track of which exact browser capabilities that are used by LedgerSMB to determine which browser versions are supported and which ones are not. On versions 1.8 and older, the indicated minimum requirement is based on the indication provided by the <a href="https://dojotoolkit.org/reference-guide/1.10/releasenotes/1.10.html#user-agent-support">Dojo Toolkit development team</a> in combination with a rough impact estimation of additional capabilities used by LedgerSMB's own JavaScript.</p> <table border="1" cellpadding="1" cellspacing="1"> <caption>Minimum browser versions supported by LedgerSMB (by version)</caption> <thead> <tr> <th rowspan="2" scope="row"> </th> <th class="text-align-center" colspan="2" rowspan="2" scope="col">Chrome</th> <th class="text-align-center" colspan="2" scope="col">Safari</th> <th class="text-align-center" rowspan="2" scope="col">Firefox</th> <th class="text-align-center" rowspan="2" scope="col">Opera</th> <th class="text-align-center" rowspan="2" scope="col">Edge</th> <th class="text-align-center" rowspan="2" scope="col">Internet<br /> Explorer</th> </tr> <tr> <th class="text-align-center" scope="col">Desktop</th> <th class="text-align-center" scope="col">Mobile</th> </tr> </thead> <tbody> <tr> <th scope="row">1.4</th> <td class="text-align-center" colspan="2" rowspan="5">13</td> <td class="text-align-center" colspan="2" rowspan="5">5</td> <td class="text-align-center" colspan="1" rowspan="5">3.6</td> <td class="text-align-center" colspan="1" rowspan="5">10.50</td> <td class="text-align-center" colspan="1" rowspan="5">(all)</td> <td class="text-align-center">8</td> </tr> <tr> <th scope="row">1.5</th> <td class="text-align-center" colspan="1" rowspan="3">10</td> </tr> <tr> <th scope="row">1.6</th> </tr> <tr> <th scope="row">1.7</th> </tr> <tr> <th scope="row">1.8</th> <td class="text-align-center">n/a</td> </tr> <tr> <th scope="row">1.9</th> <td class="text-align-center" colspan="2" rowspan="1">2017-09 (61)</td> <td class="text-align-center">2017-03 (10.1)</td> <td class="text-align-center">2017-03 (10.3)</td> <td class="text-align-center">2018-05 (60)</td> <td class="text-align-center">2017-09 (48)</td> <td class="text-align-center">2017-10 (16)</td> <td class="text-align-center">n/a</td> </tr> <tr> <th scope="row">1.10</th> <td class="text-align-center" colspan="2" rowspan="1">2017-09 (61)</td> <td class="text-align-center">2017-03 (10.1)</td> <td class="text-align-center">2017-03 (10.3)</td> <td class="text-align-center">2018-05 (60)</td> <td class="text-align-center">2017-09 (48)</td> <td class="text-align-center">2017-10 (16)</td> <td class="text-align-center">n/a</td> </tr> </tbody> </table> <p>Please note that on Android, browsers are being pushed to end-user devices so that most devices always have the latest Chrome, FireFox or Opera browser. To that extent, there's little point in mentioning the oldest supported version. If you would be interested to know anyway: the desktop versions of the same browsers are a good indication of support of the required capabilities on mobile as well.</p> <h1>Software requirements (server)</h1> <p>LedgerSMB builds upon technology of some very widely used - proven - projects:</p> <ul> <li><a href="https://www.postgresql.org/">PostgreSQL</a> - the enterprise level quality open source database</li> <li>Starman (perl webserver)</li> <li><a href="http://www.perl.org/">Perl</a> - the programming language of the web</li> <li>(Xe)LaTeX - the typesetting language (optional)<br /> This is used by the Templating system to generate PDF and Postscript output for printing, email or saving to disk</li> </ul> <p>Each version of LedgerSMB has its own requirements. The high level requirements are listed in the table below.</p> <table border="1" cellpadding="1" cellspacing="1"> <caption>Requirements by LedgerSMB version</caption> <thead> <tr> <th rowspan="2" scope="row"> </th> <th rowspan="2" scope="col">Status</th> <th rowspan="2" scope="col">PostgreSQL</th> <th rowspan="2" scope="col">Application server<br /> / HTTP server</th> <th rowspan="2" scope="col">Perl</th> <th class="text-align-center" colspan="2" scope="col">PDF</th> </tr> <tr> <th class="text-align-center" scope="col">PDF</th> <th class="text-align-center" scope="col"><abbr title="PDF for Archiving, also known as ISO 19005-1">PDF/A</abbr></th> </tr> </thead> <tbody> <tr> <th scope="row">1.4</th> <td colspan="1" rowspan="3">End-Of-Life<br /> (no community support)</td> <td>8.4 and up</td> <td>Apache 1.3 and up</td> <td colspan="1" rowspan="2">5.10 and up</td> <td rowspan="7">LaTeX for ASCII or<br /> XeLaTeX for UTF-8 characters</td> <td rowspan="7">LuaTeX with pdfx TeX package</td> </tr> <tr> <th scope="row">1.5</th> <td colspan="1" rowspan="3">9.4 and up</td> <td colspan="1" rowspan="6">Starman*</td> </tr> <tr> <th scope="row">1.6</th> <td>5.14 and up</td> </tr> <tr> <th scope="row">1.7</th> <td>old old stable</td> <td>5.18 and up</td> </tr> <tr> <th scope="row">1.8</th> <td>old stable</td> <td>9.6 and up</td> <td>5.20 and up</td> </tr> <tr> <th scope="row">1.9</th> <td>stable</td> <td>10 and up</td> <td>5.24 and up</td> </tr> <tr> <th scope="row">1.10</th> <td>unstable</td> <td>13 and up</td> <td>5.32 and up</td> </tr> </tbody> </table> <p>* While Starman is the prefered (and tested) webserver for 1.5 and newer.<br />       It should <strong>ALWAYS</strong> be reverse proxied as HTTPS using Apache/Nginx or possibly other HTTP servers.<br />       It may be possible to run directly from another HTTPD server, but this is not a supported configuration.<br />       Also, in most cases there are performance gains to be had by using Starman.</p> <h2>Perl module dependencies</h2> <p>The Perl module dependencies are listed in the <a href="https://github.com/ledgersmb/LedgerSMB/blob/master/cpanfile">'cpanfile' in the root of the project tree</a>. Many distributions include at least <em>some</em> of the dependencies in their repositories, so that it <em><strong>shouldn't</strong></em> be necessary to install <em><strong>all</strong></em> the dependencies listed in the cpanfile from <a href="http://www.cpan.org/">CPAN</a>.</p> <p>During the installation process, the availability of the "cpanm" binary is required.</p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>ehu</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sat, 06/30/2012 - 05:58</span> <div class="field field--name-field-topic field--type-entity-reference field--label-above"> <div class="field__label">Topic</div> <div class="field__items"> <div class="field__item"><a href="/faq-categories/installation" hreflang="en">Installation</a></div> <div class="field__item"><a href="/topic/installation" hreflang="en">Installation</a></div> </div> </div> <section class="field field--name-comment-node-page field--type-comment field--label-hidden comment-wrapper"> </section> Sat, 30 Jun 2012 12:58:33 +0000 ehu 164 at https://ledgersmb.org Preparing LedgerSMB 1.9 for first use https://ledgersmb.org/content/preparing-ledgersmb-19-first-use <span class="field field--name-title field--type-string field--label-hidden">Preparing LedgerSMB 1.9 for first use</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p><span id="cke_bm_103S" style="display: none;"> </span> </p> <p>This page explains how to set up LedgerSMB's first company after having completed installation, e.g. through <a href="https://github.com/ledgersmb/ledgersmb-docker/tree/1.9">the docker-compose.yml file</a>. Please note that your full URL may differ depending on your installation method.</p> <p><!--break--></p> <p>In case you just completed the quick-start instructions, the base URL at which LedgerSMB is accessible is http://localhost:5762 (If you have a full production setup, you shouldn't need the port indicator [the ":5762" part]). There are two URLs (entry-points) you can use to access the application:</p> <ul> <li>/setup.pl [full URL: http://localhost:5762/setup.pl ]</li> <li>/login.pl [full URL: http://localhost:5762/login.pl ]</li> </ul> <p>The two entry points each serve their own purpose: setup.pl is the main tool for the database admin (lsmb_dbadmin); it serves to create new companies, create copies of companies, add users to companies and reset user's passwords. login.pl provides access to all other types of users.</p> <h2>Creating the first company</h2> <p>After browsing to setup.pl, the browser should show:</p> <p><img alt="Setup login screen" data-entity-type="file" data-entity-uuid="8e63bc73-d413-42b4-a37a-1dcc2ec9caaf" src="/sites/default/files/inline-images/2021-08-28_16-16.png" width="572" height="410" loading="lazy" /></p> <p>In case the screen only shows the "Database" field, this indicates problems with JavaScript not having loaded correctly. Fill out the fields as follows:</p> <ul> <li>Super-user login: <em>lsmb_dbadmin</em></li> <li>Password: <em>&lt;the password used in the installation&gt;</em></li> <li>Database: <em>testcompany</em></li> </ul> <p>Confirm the screen by clicking "Create". When the server is done creating the database for the company, a new screen will be returned. This can take up to 20 seconds.</p> <p>The resulting screen shows:</p> <p><img alt="Chart of account selection (step 1: country)" data-entity-type="file" data-entity-uuid="075f0173-f7a4-4897-ae05-1e7e47748fa1" src="/sites/default/files/inline-images/2021-08-28_16-17.png" width="1895" height="362" loading="lazy" />Click "Skip" in order to skip loading a pre-defined Chart of Accounts. Select a country code and click Next to list the pre-defined charts of accounts.</p> <p>The resulting screen then shows a list of available Charts of Accounts:</p> <p><img alt="Chart of accounts selection step 2 (country-chart &amp; gifi selection)" data-entity-type="file" data-entity-uuid="336440d8-6bfe-457f-8bc2-8ad9ccf76350" src="/sites/default/files/inline-images/2021-08-28_16-18.png" width="1906" height="329" loading="lazy" /></p> <p>The screen above isn't shown when "Skip" was selected in the step before. Clicking "Skip" in this screen skips loading a pre-defined chart of accounts.</p> <p>Regardless of whether CoA loading was skipped or performed, the following screen will be presented:</p> <p><img alt="Selection of templates for printed documents (invoices, etc.)" data-entity-type="file" data-entity-uuid="15150b01-2bed-4c48-9e82-f9a4e4162607" src="/sites/default/files/inline-images/2021-08-28_16-19.png" width="1920" height="217" loading="lazy" /></p> <p>Select 'demo' templates for use with LaTeX; select 'xedemo' templates for use with XeLaTeX (which has better support for UTF-8 / accented characters and non-latin character sets). The exact choice made in this step is not highly important: templates can later be changed by loading new ones into the database. After confirming the selection by clicking "Load Templates", the following screen shows:</p> <p><img alt="Creation of the first user" data-entity-type="file" data-entity-uuid="0c9f2c6f-b492-4c79-9fc5-c62ece65b660" src="/sites/default/files/inline-images/2021-08-28_16-20.png" width="1920" height="464" loading="lazy" /></p> <p>With this screen, the first user for this company gets created. There are two modes:</p> <ul> <li>Import (Yes): Assumes the username already exists in the database (e.g. because it is already used for another company; re-uses the existing username+password)</li> <li>Create (No): Assumes the username does <em>not</em> already exist; will create a new username</li> </ul> <p>The "Assign Permissions" selection determines the rights assigned to the user:</p> <ul> <li>"Full Permissions": The user may perform <em>any</em> task in the application</li> <li>"Manage Users": The user has just enough rights to create new users who have appropriate rights</li> </ul> <p>For the purpose of this quick-start guide, enter the following details:</p> <ul> <li>Username: <em><strong>first_user</strong></em></li> <li>Password: <em><strong>first_user</strong></em></li> <li>Import: <em><strong>No</strong></em></li> <li>Salutation: <em><strong>Mr</strong></em></li> <li>First Name: <em><strong>First</strong></em></li> <li>Last Name: <em><strong>User</strong></em></li> <li>Employee Number: <em><strong>1</strong></em></li> <li>Date of Birth: <em>(today's date)</em></li> <li>Tax ID/SSN: <strong><em>1</em></strong></li> <li>Country: <em>(your country)</em></li> <li>Assign Permissions: <em><strong>Full Permissions</strong></em></li> </ul> <p>After confirming these data by clicking the "Create User" button, the following screen shows:</p> <h2><img alt="Confirmation of database creation (completed)" data-entity-type="file" data-entity-uuid="926c3ddb-36a2-4ab5-b313-27f71694e029" src="/sites/default/files/inline-images/2021-08-28_16-21.png" width="1920" height="539" loading="lazy" />First user login</h2> <p>The "Start Using LedgerSMB" link opens the main application login screen, which can be used to log in using the initial user created above:</p> <p><img alt="Application login" data-entity-type="file" data-entity-uuid="96a23e98-69eb-4c02-bbaa-53bbbb4b998c" src="/sites/default/files/inline-images/2021-08-28_16-22.png" width="410" height="478" loading="lazy" /></p> <p>Confirming login results in the following page*:</p> <p><img alt="Initial application screen" data-entity-type="file" data-entity-uuid="3ae71dd8-b11d-4f38-9103-87308d00f041" src="/sites/default/files/inline-images/2021-08-28_16-22_1.png" width="815" height="448" loading="lazy" /></p> <p>* Note that the picture shows company name "test", but when succinctly following the instructions, it should show "testcompany".</p> <h2>Database administration of first company</h2> <p>Once the <em>testcompany</em> has been created, it can be logged into through setup.pl as well as through login.pl. When logging in through setup.pl, the following screen with database administration functions shows:</p> <h2><img alt="Database management console (setup.pl)" data-entity-type="file" data-entity-uuid="645310e2-cba5-4e3c-9e4c-8bdeee55d85d" src="/sites/default/files/inline-images/2021-08-28_16-23.png" width="1182" height="544" loading="lazy" />What's next?</h2> <p>The system is now set up for evaluation and testing. The project has multiple channels to contact other users or the developers. Read all about that on the <a href="http://ledgersmb.org/project-resources">community project resources</a> page.</p> <p>Any comments as to this specific article? Please <a href="http://ledgersmb.org/user/register">sign up</a> to the site and leave your comments below!</p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>ehu</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sat, 08/28/2021 - 06:59</span> <div class="field field--name-field-topic field--type-entity-reference field--label-above"> <div class="field__label">Topic</div> <div class="field__items"> <div class="field__item"><a href="/taxonomy/term/152" hreflang="en">Draft (148</a></div> </div> </div> <div class="field field--name-field-release field--type-entity-reference field--label-above"> <div class="field__label">Release</div> <div class="field__items"> <div class="field__item"><a href="/taxonomy/term/149" hreflang="en">1.9</a></div> </div> </div> <section class="field field--name-comment-node-article field--type-comment field--label-hidden comment-wrapper"> </section> Sat, 28 Aug 2021 13:59:38 +0000 ehu 552 at https://ledgersmb.org Open Source ERP: accounting, invoicing and more https://ledgersmb.org/content/open-source-erp-accounting-invoicing-and-more <span class="field field--name-title field--type-string field--label-hidden">Open Source ERP: accounting, invoicing and more</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><h1>Mission</h1> <p><a href="/statement-direction-ledgersmb">The LedgerSMB project</a> provides small and mid-size businesses with open source <a href="https://en.wikipedia.org/wiki/Accounting_software">accounting software</a>: integrating invoicing, order processing, quotations and more (<a href="https://en.wikipedia.org/wiki/Enterprise_resource_planning">ERP</a>). LedgerSMB aims to provide a strong (multi-currency accounting) basis to build your business on -- without vendor lock-in.</p> <h1><span style="line-height: 36.4000015258789px;">Features</span></h1> <ul> <li>Sales (Invoices, Orders, Quotations)</li> <li>Receivables &amp; Payables</li> <li>General ledger</li> <li>Inventory management</li> <li>Fixed asset accounting &amp; depreciation</li> <li>Profit &amp; cost centers, departments, projects</li> <li>Output documents in PDF, HTML, CSV, Office formats</li> <li>Mail documents (e.g. invoices) from within the application</li> <li>Translatable to your language (comes with 45 languages)</li> <li><a href="http://ledgersmb.org/features">and more</a></li> </ul> <p>The fact that LedgerSMB is <a href="https://opensource.org/osd">open source</a> - meaning that the source code is freely available - makes it even more customizable and flexible.</p> <h1 style="line-height: 36.4px;">Use-cases</h1> <h2>By industry</h2> <p>While LedgerSMB will generally work in any industry for its basic accounting functionalities, it is known to have been deployed in the following types of businesses:</p> <ul> <li>Communications<br /> e.g. VOIP services</li> <li>Factoring<br /> i.e. invoicing of others</li> <li>(IT) Services<br /> e.g. Website design, IT Support, hourly services</li> <li>Financial services<br /> e.g. Investment firms</li> <li>Rental<br /> e.g. Housing rental, IT Hosting</li> <li>Retail<br /> e.g. Sewing necessities</li> <li>Trade<br /> e.g. Trading pet foods</li> </ul> <p>Many of these applications include integration with domain-specific applications to perform specific business functions.</p> <p>Next to the ones listed above, various manufacturing setups have been deployed, ranging from standard (batch based) mass production, to make-to-order one-time product configurations. The latter being supported by a custom developed product configuration plugin.</p> <h2>By country</h2> <p>Although the nature of open source projects makes it hard to know where our software is being used; however, the project is aware of installations in the <span class="mx_MTextBody mx_EventTile_content"><span class="mx_EventTile_body" dir="auto">US, Canada, EU (Netherlands, Hungary, Estonia, United Kingdom), Indonesia, Myanmar, Philippines, Hong Kong, Malaysia, Australia, Barbados and Colombia.</span></span></p> <p><span class="mx_MTextBody mx_EventTile_content"><span class="mx_EventTile_body" dir="auto">The software can run in a different language for each user. Also: documents (invoices, orders, etc) can be produced in selectable languages, different from the user's language.</span></span></p> <h1>Contributions</h1> <p>The project welcomes any and all contributions. With lots of areas which would benefit from more attention, we like to invite newcomers to read our <a data-entity-substitution="canonical" data-entity-type="node" data-entity-uuid="c8075f26-dba4-48f6-bf53-3702c418dbdd" href="/content/community-guide" title="Community guide">community guidelines</a> and start out simple. Good (and helpful!) starting points are <a data-entity-substitution="canonical" data-entity-type="node" data-entity-uuid="3fc7f2b0-0844-4ae0-868b-90b968686d0f" href="/community-guide/community-guide/translating" title="Translating">translation contributions</a> as well as reviewing our (beginners) documentation.</p> <h1 style="line-height: 36.4px;">Current versions</h1> <p>Our current stable version is <a href="https://github.com/ledgersmb/LedgerSMB/tree/1.9"><em><strong>1.9</strong></em></a> - initially released on Sep 24, 2021. This release has a wide variety of improvements and code cleanups: it features faster loading of pages, restored ability to mail aging reports regressed from 1.4, e-mailed documents (invoices, orders, etc) being stored in the database and much more... More details about this release can be found in the <a data-entity-substitution="canonical" data-entity-type="node" data-entity-uuid="59544c34-caac-4ca5-9a28-97b5b6a1c8f1" href="/content/19-release-notes" title="1.9 release notes">release notes</a>. This release will see its End-Of-Life for community support at <strong>Sep 24, 2023</strong>.</p> <p>Our old stable version is <a href="https://github.com/ledgersmb/LedgerSMB/tree/1.8"><em><strong>1.8</strong></em></a> - initially released on Sep 04, 2020. This release has a wide variety of improvements and code cleanups: it features faster loading of the menu, fixed migrations from 1.2, the ability to upload a logo into the database and include it in printed documents and much more... More details about this release can be found in the <a data-entity-substitution="canonical" data-entity-type="node" data-entity-uuid="ff891fb8-f65b-486c-a374-1510c5c24975" href="/content/18-release-notes" title="1.8 release notes">release notes</a>. This release will see its End-Of-Life for community support at <strong>Sep 04, 2022</strong>.</p> <p>Our current oldest supported version is <em><a href="https://github.com/ledgersmb/LedgerSMB/tree/1.7"><strong>1.7</strong></a></em> - initially released on Oct 04, 2019. This release focusses on improved support for foreign currency transactions, lifting the restriction of a single rate per currency per day; UI improved by showing both the functional and foreign currency amounts. Additionally, a lot of work has been spent on increasing the application stability through more rigorous testing and code cleanup. A full summary of the changes since 1.6 can be found in the release announcement. More details on this release can be found in the <a href="https://ledgersmb.org/content/17-release-notes">release notes</a>. This release will see its End-Of-Life for community support at <strong>Oct 04, 2022</strong>.</p> <h1>Older versions</h1> <p>Version <strong><em>1.6</em></strong> has been declared End-Of-Life on 2021, June 10th (released on June 10 2018). With 33 patch releases, we consider this version highly stable. Although there are more patch releases for 1.6 than thee are for 1.5, their size is on average smaller, attesting to the project's promise of delivering increasing software quality.</p> <p>Version <em><strong>1.5</strong></em> has been declared End-Of-Life on 2019, Dec 23rd (released on 2016-12-23). With 30 patch releases, we consider this version highly stable. We believe that the lower number of patch releases over a similar life-span as 1.4 is an indication of better stability of the initial 1.5.0 release. We conclude that the project is delivering on its promise of increasing stability of minor releases.</p> <p>Version <em><strong>1.4</strong></em> has been declared End-Of-Life on 2017, Sep 15th (released on 2014-09-15). With 42 patch releases, we consider this version highly stable.</p> <p>Version <em><strong>1.3</strong></em> has been declared End-Of-Life on 2015, Dec 23rd (released on 2011-10-11). With a total of 48 patch releases since the initial release in October 2011, we consider this version highly stable.</p> <p>Although their use is highly discouraged for both security reasons and data stability issues, older versions are still available for <a href="http://download.ledgersmb.org/f/Releases/">download</a>. When using LedgerSMB versions 1.2 or earlier, you should to do so in only in a highly restricted network environment.</p> <p>It's project policy to provide at least 24 months of community support for every 1.x release series; note that this policy was updated: releases 1.7 and earlier had 36 months community support. As such, there's no community support available for 1.5 or earlier LedgerSMB versions. Vendors may be willing to provide <a href="http://ledgersmb.org/topic/commercial-support">support or migration services</a>.</p> <h1><a id="history" name="history"></a>History</h1> <p>LedgerSMB began in 2006 as a fork of the popular general ledger software package called <a class="ext" href="http://www.sql-ledger.com/" style="text-decoration: underline; ">SQL-Ledger</a> largely written and maintained by Dieter Simader since 1999. Versions 1.2 and earlier are heavily based on SQL-Ledger's code.<br /> As of 1.3 our codebase is quickly moving away from what we inherited.<br /> As of 1.5 our User Interface has moved to Dojo Javascript libraries providing a more dynamic feel.<br /> Some of the improvements that we've made to the code base so far include:</p> <ul> <li>Enhanced security</li> <li>More reports</li> <li>Better data integrity controls</li> <li>More code quality control measures</li> <li>Major code size reduction while growing functionality</li> <li>Unit testing Infrastructure to help ensure once an issue is fixed it stays fixed</li> <li>BDD (headless automated browser) Testing infrastructure</li> <li>A very large number of tests against both testing frameworks</li> </ul> <p>Travel in our history with Internet Archive and <a href="http://wayback.archive.org/web/*/http://www.ledgersmb.org">WayBackMachine</a>.</p> <p> </p> <p>Matrix support request ownership proof: ehuels@gmail.com</p> </div> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>Chris Travers</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sat, 03/17/2007 - 23:08</span> <section class="field field--name-comment-node-page field--type-comment field--label-hidden comment-wrapper"> </section> Sun, 18 Mar 2007 06:08:41 +0000 Chris Travers 153 at https://ledgersmb.org Which versions do you support? https://ledgersmb.org/faq/which-versions-do-you-support <span class="field field--name-title field--type-string field--label-hidden">Which versions do you support?</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span>ehu</span></span> <span class="field field--name-created field--type-created field--label-hidden">Sun, 12/30/2012 - 03:17</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><h1>Active support</h1> <p>Versions 1.7 and higher are under active development and are supported by the community. Planned end-of-life dates for current releases are:</p> <ul> <li>1.7: Planned End-of-life date: 2022-10-04 (released: 2019-10-04)</li> <li>1.8: Planned End-of-life date: 2022-09-04 (released 2020-09-04)</li> <li>1.9: Planned End-of-life date: 2023-09-24 (released 2021-09-24)</li> </ul> <h1 style="line-height: 36px;">End of life</h1> <p>If you're looking for help on how to use EOL-ed versions, please try mailing <a href="https://lists.ledgersmb.org/mailman/listinfo/users">the users mailing</a> list.<br /> If you're looking for someone to create bugfixes, please check with one of the parties providing <a href="http://ledgersmb.org/topic/commercial-support">commercial support</a> or for less urgent fixes <a href="https://github.com/ledgersmb/LedgerSMB/issues">LedgerSMB Issues</a></p> <p>Version 1.6 has been declared end-of-life on 2021-06-10. The last release in the series is 1.6.33. No further releases will be made by the community.</p> <p>Version 1.5 has been declared end-of-life on 2019-12-23. The last release in the series is 1.5.30. No further releases will be made by the community.</p> <p>Version 1.4 has been declared end-fo-life on 2017-09-16. The last release in the series is 1.4.42. No further releases will be made by the community.</p> <p>Version 1.3 has been declared end-of-life on 2015-12-23. The last release in the series is 1.3.47. No further releases will be made by the community.</p> <p>LedgerSMB versions 1.0, 1.1 and 1.2 won't be maintained any further due to the fact that there are some known security issues which can't be fixed.<!--break--></p> </div> <div class="field field--name-field-release field--type-entity-reference field--label-above"> <div class="field__label">Release</div> <div class="field__items"> <div class="field__item"><a href="/release/all-versions" hreflang="en">All Versions</a></div> <div class="field__item"><a href="/release/10" hreflang="en">1.0</a></div> <div class="field__item"><a href="/release/11" hreflang="en">1.1</a></div> <div class="field__item"><a href="/release/12" hreflang="en">1.2</a></div> <div class="field__item"><a href="/release/13" hreflang="en">1.3</a></div> <div class="field__item"><a href="/release/14" hreflang="en">1.4</a></div> <div class="field__item"><a href="/release/15" hreflang="en">1.5</a></div> <div class="field__item"><a href="/taxonomy/term/142" hreflang="en">1.6</a></div> <div class="field__item"><a href="/taxonomy/term/146" hreflang="en">1.7</a></div> <div class="field__item"><a href="/taxonomy/term/147" hreflang="en">1.8</a></div> <div class="field__item"><a href="/taxonomy/term/149" hreflang="en">1.9</a></div> <div class="field__item"><a href="/release/20" hreflang="en">2.0</a></div> </div> </div> <div class="field field--name-field-faq-category field--type-entity-reference field--label-above"> <div class="field__label">FAQ Category</div> <div class="field__item"><a href="/faq-categories/support" hreflang="en">Support</a></div> </div> <div class="field field--name-field-topic field--type-entity-reference field--label-above"> <div class="field__label">Topic</div> <div class="field__items"> <div class="field__item"><a href="/topics/support" hreflang="en">Support</a></div> <div class="field__item"><a href="/topics/security" hreflang="en">Security</a></div> <div class="field__item"><a href="/topics/end-life" hreflang="en">End Of Life</a></div> </div> </div> <section class="field field--name-comment-node-faq field--type-comment field--label-hidden comment-wrapper"> </section> Sun, 30 Dec 2012 11:17:51 +0000 ehu 217 at https://ledgersmb.org