Recent content https://ledgersmb.org/ en Can I use the webservices using curl? https://ledgersmb.org/faq/can-i-use-webservices-using-curl <span class="field field--name-title field--type-string field--label-hidden">Can I use the webservices using curl?</span> <div class="clearfix text-formatted field field--name-field-detailed-question field--type-text-long field--label-hidden field__item"><p>I'm writing this script in bash that I want to use to invoke functionality in LedgerSMB. Can I use curl and the webservices API to do that?</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, 06/13/2021 - 13:35</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Yes you can. In order to do so, you must first create a valid session for your follow-up requests by authenticating:</p> <pre> $ curl -c cookie-jar.txt -H 'Content-Type: application/json' \ -d '{"login": "&lt;your-user&gt;", "password": "&lt;your-password&gt;", "company": "&lt;your-company&gt;"}' \ https://example.org/login.pl?action=authenticate</pre> <p>The request above creates a file called "cookie-jar.txt" in the current directory which - after successful authentication - contains the authentication cookie to be used for follow-up requests. To use it, use curl's -b parameter:</p> <pre> $ curl -b cookie-jar.txt -c cookie-jar.txt -H 'Content-Type: application/json' \ -d @request-body.json https://example.org/erp/api/v0/invoices/</pre> <p>Note that the use of curl's "-d" parameter implies that a POST request is issued. The presence of the at-sign in "@request-body.json" tells curl to read the request body from the file 'request-body.json'. When you decide not to use 'curl', but issue these requests from programming language, please make sure to issue POST requests.</p> <p>OpenAPI documentation of the LedgerSMB API by version is available at <a href="https://docs.ledgersmb.org/openapi">https://docs.ledgersmb.org/openapi</a></p> </div> <div class="field field--name-field-component field--type-list-string field--label-above"> <div class="field__label">Component</div> <div class="field__item">Base</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 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/integration" hreflang="en">Integration</a></div> </div> <section class="field field--name-comment-node-faq field--type-comment field--label-hidden comment-wrapper"> </section> Sun, 13 Jun 2021 20:35:25 +0000 ehu 526 at https://ledgersmb.org https://ledgersmb.org/faq/can-i-use-webservices-using-curl#comments Chat Support (Matrix) https://ledgersmb.org/content/chat-support-matrix <span class="field field--name-title field--type-string field--label-hidden">Chat Support (Matrix)</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>For real-time help try our Matrix (IRC like) room  <a href="https://app.element.io/#/room/#ledgersmb:matrix.org" title="#ledgersmb chat room on matrix.org">#ledgersmb</a> - you will usually find most of the core team hanging out there. The most feature-full and commonly used client is <a href="https://app.element.io">Element</a>. It is available as a web client (for computers) and also as <a href="https://play.google.com/store/apps/details?id=im.vector.alpha" title="Riot App for Android Devices">Android</a> and <a href="https://itunes.apple.com/us/app/vector.im/id1083446067" title="Riot app for iOS">iOS</a> clients from within the appropriate app stores. We suggest you create a matrix account as that will allow you to log back in later to see our response to your question.</p> <p>There are people there who range from users to developers who are willing to help. We have agreed to adopt the <a href="http://www.ubuntu.com/about/about-ubuntu/conduct">Ubuntu code of conduct</a> for our community. Please read it if you plan on joining.</p> <p>Please keep in mind that the community (especially the people you may need help from) are scattered around the world and will likely be in a different timezone to you. This means that it can sometimes take quite a few hours before someone responds. (although these days on IRC there is someone around almost all of the time). For email lists this is not a big problem, but if you are using Matrix (directly or via a matrix guest session) you will need to stay connected until someone answers otherwise we have no way to contact you :-)</p> <p>If you ask for help as a signed up Matrix user, please log back in and check for a response occasionally, we will always respond as soon as someone is available.</p> <p><strong>NOTE</strong>: there is a nice feature of the Riot web app (a bell shaped icon near the top right) that shows all the messages that mention your name.<br /> This is useful when you come back after a while to see if someone has responded to your question.<br /> Just click on a message there to jump to that point in the chat history</p> <h5>Connecting to MATRIX</h5> <p>Read more about using <a href="http://matrix.org" title="The matrix.org network (Bridge All The Things)">Matrix</a>  and <a href="https://element.io" title="Riot Clients for the matrix.org network">Element Client</a></p> <h5>Webclient</h5> <p>You can use a <a href="https://app.element.io/#/room/#ledgersmb:matrix.org">browser-based matrix client </a>to join the channel.<br /> It defaults to guest access with reduced features, but it is trivial to sign up and get additional benefits like channel history and other things.</p> <h5>Dedicated Chat client</h5> <ul><li><a href="https://matrix.org/blog/project/matrix-console-android/">Matrix Console for Android</a></li> <li><a href="https://matrix.org/blog/project/matrix-console-ios/">Matrix Console for iOS</a></li> <li><a href="http://matrix.org/blog/try-matrix-now/">Other Matrix clients and plugins</a> (eg: <a href="http://matrix.org/blog/project/weechat-plugin/">plugin for Weechat</a>)</li> </ul><p><!--break--></p> </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">Wed, 12/26/2012 - 11:21</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/help" hreflang="en">Help</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> <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="/taxonomy/term/150" hreflang="en">1.10</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> <section class="field field--name-comment-node-article field--type-comment field--label-hidden comment-wrapper"> </section> Wed, 26 Dec 2012 19:21:35 +0000 Anonymous 19 at https://ledgersmb.org 1.11 release notes https://ledgersmb.org/content/111-release-notes <span class="field field--name-title field--type-string field--label-hidden">1.11 release notes</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_63S" style="display: none;"> </span>Be sure to check the <strong>UPGRADE NOTES</strong> below!</p> <h1>What's new in LedgerSMB 1.11</h1> <ul><li>...</li> </ul><p><!--{C}%3C!%2D%2Dbreak%2D%2D%3E--></p> <h1>New features</h1> <h2>Feature 1</h2> <p>Description 1.</p> <p><strong>Note for upgrades</strong>: There is no impact on upgrades.</p> <h2>Webservices for GIFIs, SICs, Types of Business, Price groups, Warehouses and Languages</h2> <p>Webservices have been created to manage configuration of a number of entities:</p> <ul><li>Countries (/erp/api/v0/countries)</li> </ul><p>These were created in support of moving the front-end to Vue3 components, with the intent to use them as a learning experience for further API development. Due to this approach, the services do not support filtering, sorting or paging yet. For more information on how to use these services, see  <a href="https://docs.ledgersmb.org/openapi" title="LedgerSMB Webservices">LedgerSMB Webservices</a>.</p> <p><strong>Note for upgrades</strong>: There is no impact on upgrades.</p> <h1>Notable changes</h1> <h2>Change summary 1</h2> <p>Explanation 1.</p> <p><strong>Note for upgrades</strong>: There are no consequences for upgrades: template sets used with 1.9 can be carried over without modification.</p> <h1>Upgrade notes</h1> <h2>Sequences in System &gt; Sequences switched to show "next value" instead of "last value"</h2> <p>If you use custom sequences, you need to increase the values in the Sequence column by 1 in order to prevent values from being used twice.</p> <p><em>Background</em>: The number shown in the "Sequence" column on the System &gt; Sequences menu page, used to show the last value used. As of 1.11, it shows the next value that will be used. This ensures that value "1" in the sequence will be used now (it used to be skipped before), which helps auditability.</p> <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">Fri, 01/06/2023 - 13:35</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> <section class="field field--name-comment-node-article field--type-comment field--label-hidden comment-wrapper"> </section> Fri, 06 Jan 2023 21:35:30 +0000 ehu 620 at https://ledgersmb.org https://ledgersmb.org/content/111-release-notes#comments 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.10. 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.6 and older should no longer be used due to known security issues that will not 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-embed-display-settings="{&quot;image_style&quot;:&quot;&quot;,&quot;image_link&quot;:&quot;&quot;}" data-entity-type="file" data-entity-uuid="db4ffe70-23c4-48ef-8c9f-0405eb494751" class="align-left embedded-entity" data-langcode="und"> <img loading="lazy" 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.10) and old-stable (1.9) release. Docker images are around 250MB 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.10.x release. The "master" tag points to the most recent alpha or beta of the development version (1.11).</p> <h1>Distribution packages</h1> <div data-embed-button="file_browser" data-entity-embed-display="image:image" data-entity-embed-display-settings="{&quot;image_style&quot;:&quot;&quot;,&quot;image_link&quot;:&quot;&quot;}" data-entity-type="file" data-entity-uuid="1d5cf6f4-3ed1-4df8-a1e4-309812de8639" class="align-left embedded-entity" data-langcode="und"> <img loading="lazy" 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.10.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-embed-display-settings="{&quot;image_style&quot;:&quot;&quot;,&quot;image_link&quot;:&quot;&quot;}" data-entity-type="file" data-entity-uuid="667831a5-e5bd-4c88-b4f4-a7888392a414" class="align-left embedded-entity" data-langcode="und"> <img loading="lazy" 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-embed-display-settings="{&quot;image_style&quot;:&quot;&quot;,&quot;image_link&quot;:&quot;&quot;}" data-entity-type="file" data-entity-uuid="83035d31-c255-4445-9a55-855637a29250" class="align-left embedded-entity" data-langcode="und"> <img loading="lazy" 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-embed-display-settings="{&quot;image_style&quot;:&quot;&quot;,&quot;image_link&quot;:&quot;&quot;}" data-entity-type="file" data-entity-uuid="03989031-93cc-478e-bde5-816a93069d95" class="align-left embedded-entity" data-langcode="und"> <img loading="lazy" 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-embed-display-settings="{&quot;image_style&quot;:&quot;&quot;,&quot;image_link&quot;:&quot;&quot;}" data-entity-type="file" data-entity-uuid="c371efe2-7772-4c1a-9600-76c376e8ba47" class="align-left embedded-entity" data-langcode="und"> <img loading="lazy" 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-embed-display-settings="{&quot;image_style&quot;:&quot;&quot;,&quot;image_link&quot;:&quot;&quot;}" data-entity-type="file" data-entity-uuid="106c6ca2-81f6-4434-b470-75da3589fb42" class="align-left embedded-entity" data-langcode="und"> <img loading="lazy" 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.9.x and 1.10.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.9.zip">1.9.x from GitHub</a>, <a href="https://github.com/ledgersmb/LedgerSMB/archive/1.10.zip">1.10.x from GitHub</a>. Check the repository for the change log in <a href="https://github.com/ledgersmb/LedgerSMB/blob/1.10/Changelog">1.10.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 Community overview 2022 https://ledgersmb.org/content/community-overview-2022 <span class="field field--name-title field--type-string field--label-hidden">Community overview 2022</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<br /> our community has achieved over the past year. At the end of last<br /> year, I wished everybody a healthy and prosperous 2022 and now<br /> is a time to look back and see how we did.</p> <h1>== Community interest ==</h1> <p>After years of decline in the number of hits on our website, this year<br /> has broken the trend: ca 2,000 hits more than in 2021!<br /> Traffic on the mailing lists was - in line with 2021 and 2020 - very low this<br /> year. However, from the fact that during the year, we've seen the continued<br /> increase in number of Stars and Forks on GitHub (Stars went up from 261<br /> on 16 January 2022 to 304 today), we can conclude that there is still<br /> interest in the project. Fortunately, with Covid behind us, new members<br /> are coming to the project's chat channel on Element: people have time<br /> to show their interest and contribute again.</p> <h1>== Releases ==</h1> <p>With the release of 1.10.0  on 08 October 2022, we realized our goal<br /> to release 1.10 in the second half of the year, roughly a year after<br /> 1.9. With releases in the third quarter, we aim to provide mature software<br /> before year-end -- when most companies close their books.<br /> Despite the short release cycle, we were able to include a sizeable<br /> list of new functionalities, changes and (code) cleanups through 1157<br /> commits, 738 files changed, 236,716 added lines and 148,116 removed<br /> lines of code (and comments) between 1.9.0 and 1.10.0.</p> <p>With 37 releases across 4 maintenance branches in 2022, the project was<br /> able to maintain the pace set in 2021 (which had 38 releases):</p> <p>  1.7 (4): 1.7.38 - 1.7.41<br />   1.8 (15): 1.8.25 - 1.8.31<br />   1.9 (6): 1.9.6 - 1.9.22<br />   1.10 (9): 1.10.0 - 1.10.8</p> <p>Which excludes the alpha, beta and release candidate releases.</p> <h1>== Packaging and installation ==</h1> <p>For 1.10, configuration has switched from the traditional "INI" file<br /> configuration to enable/disable predefined options to a YAML based<br /> configuration file declaring dependency injection. This switch was<br /> made to support much more flexible customization options: entirely<br /> new functionalities can now be added just through the configuration<br /> file, instead of strictly en-/disabling existing ones.</p> <h1>== Development progress ==</h1> <p>This year saw similar numbers of commits as last year. Although the<br /> number of commits was in the same range, the number of pull<br /> requests (623) is lower than last year (827). The number of<br /> active developers - derived from accepted commits - went back<br /> down from 9 last year to 7 this year - the same as in 2020.</p> <p>This year, too, we were able to close a number of long-standing<br /> bugs/issues, continuing last year's focus to close as many issues<br /> as possible in the 7-year-and-older range:</p> <ul><li>#1133: Add listing of user login accounts and employees</li> <li>#1821: Allow page size for documents to be set through System &gt; Defaults</li> <li>#1881: Improve user feedback on saving, posting, etc of documents</li> <li>#2321: VOID transaction does not reverse actual invoice</li> </ul><p>All from 2016 and 2015, just to name a few.</p> <p>Project commits on all branches (excluding merges):<br />     927 Erik Huelsmann*<br />     132 Yves Lavoie*<br />      10 Aung Zaw Win*<br />       6 Neil Tiffin*<br />       5 Jeff Shelley*<br />       3 Hugh Esco<br />       2 Chris Travers</p> <p>By comparison, these are the figures for 2021:<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</p> <p>Please note that the number of commits is in no way a measure of time<br /> spent on the project. Also note that these numbers don't include the<br /> time spent by those taking the effort to report their problems and<br /> taking the time to respond to developer questions as well as helping<br /> to test solutions when developers think they solved the problem.<br /> Similarly, there was a lot of activity with respect to issues:</p> <p>  Number of open issues at 2022-01-01: 158<br />     of which remain open today: 124</p> <p>  Issues closed: 92<br />     of which created before 2022-01-01: 34</p> <p>  Issues created: 82<br />     of which still open: 24</p> <p>  Number of open issues today: 148</p> <p>This amount of development activity triggers many CI/CD jobs. To run<br /> our test workloads, we have been using GitHub Actions as well as<br /> CircleCI, each set up to test different aspects.</p> <p>There isn't much in the 1.11 Changelog that we've spent time on that wasn't<br /> included in a 1.10 maintenance release. Areas that we're<br /> currently spending time on, include:</p> <ul><li>Driving the buttons on the AR/AP/Order screens from workflow configuration</li> <li>Cleaning the code base from long-deprecated coding patterns such as DBObject</li> <li>Creating more web services to drive migration of the front-end to Vue</li> </ul><p>The 148 issues that are open today summarize into these statistics:</p> <ul><li>8 bite-sized: a good place to start when looking to make contributions</li> <li>51 enhancement: requesting new features added to the application</li> <li>5 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> <h1>== New functionality and improvements ==</h1> <p>Not an immediate feature by itself, but with 1.10 a lot of flexibility<br /> was added through configuration by dependency injection. One of<br /> the possibilities that have been unlocked with this change, is to have<br /> PDF output based on other input formats than LaTeX (e.g. HTML).<br /> The dependency injection change offers further improvements towards<br /> increased flexibility by allowing different authentication mechanisms<br /> and multiple workflow sources to be registered. All this to increase<br /> possibilities for customization of installations.</p> <h1>== Looking forward to 2023 ==</h1> <p>In 2023, we'll likely release 1.11 around the third quarter;<br /> again in a release cycle a bit shorter than a year. This year the<br /> 1.9 release branches will reach End-Of-Life status on 24 September<br /> 2023, as we have reverted back to only two concurrently supported<br /> maintenance releases with a supported lifecycle of 2 years, meaning<br /> that each year one will reach End-Of-Life.</p> <p>And last but not least, I'm hoping for 1 or 2 new contributors (not<br /> necessarily developers; translators, testers, documentation writers or<br /> UI artists are all greatly appreciated!). If you want to contribute,<br /> 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,<br /> especially to</p> <p>Computerisms.ca for hosting our DNS<br /> Freelock.com for hosting our website and mailing lists<br /> Efficito.com for hosting our mailing list archive, apt repository,<br /> release and download server<br /> GitHub.com, CircleCI and coveralls.io for hosting our development workflow</p> <p>My special personal thanks go to my GitHub Sponsors for supporting me<br /> 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<br /> ones - happy holidays and a safe and productive 2023!</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">Tue, 12/27/2022 - 08:59</span> <section class="field field--name-comment-node-article field--type-comment field--label-hidden comment-wrapper"> </section> Tue, 27 Dec 2022 16:59:22 +0000 ehu 617 at https://ledgersmb.org https://ledgersmb.org/content/community-overview-2022#comments Installing LedgerSMB 1.10 https://ledgersmb.org/content/installing-ledgersmb-110 <span class="field field--name-title field--type-string field--label-hidden">Installing LedgerSMB 1.10</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><h1>Installation from tarballs</h1> <p>This page contains the comprehensive version with the installation instructions for LedgerSMB 1.10 targetting a production installation <strong>from release tarballs</strong> and deals with these steps:</p> <ul><li>Installing the LedgerSMB Perl module dependencies</li> <li>Configuring the PostgreSQL server</li> <li>Configuring a webserver</li> <li>Configuring LedgerSMB</li> </ul><p>If you already have all of the above, please proceed to the <a href="http://ledgersmb.org/topic/preparing/preparing-ledgersmb-15-first-use">"Preparing for first use" guide</a>.</p> <p><!--{C}%3C!%2D%2D%7BC%7D%253C!%252D%252Dbreak%252D%252D%253E%2D%2D%3E--></p> <p><em><strong>These are </strong></em><strong>not</strong><em><strong> the <a href="https://github.com/ledgersmb/LedgerSMB#quick-start">Quick start instructions</a>, but instructions for setting up a full production system. Also, please note that if you're in a position to use <a href="https://hub.docker.com/r/ledgersmb/ledgersmb/">LedgerSMB's Docker images</a>, or <a href="/node/140">packages for your Unix/Linux distribution</a>, using those will be far quicker and easier than following the instructions below.</strong></em></p> <h2><a>System requirements</a></h2> <p>Requirements for both clients and server are documented on the <a href="https://ledgersmb.org/content/system-requirements">system requirements page</a>.</p> <h2>Unpacking the release tarball</h2> <p>According to the <a href="https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard">Filesystem Hierarchy Standard</a>, both /usr/local/ledgersmb and /opt/ledgersmb could be chosen as install locations. Unpack the tarball by running (as "root" user):</p> <pre> # tar xf ledgersmb-1.10.x.tar.gz --directory /usr/local/</pre> <h2><a>Installing the LedgerSMB Perl module dependencies</a></h2> <p>Please note that some distributions (e.g. Fedora) do not by default install <em>all</em> core modules, but rather, install a subset. LedgerSMB doesn't list core modules as dependencies as they are assumed to be available. Running "dnf install perl-core" or "yum install perl-core" ensures the perl distribution is complete.</p> <p>The instructions below assume all dependencies will be installed from CPAN. It is however possible to install most modules from distribution repositories. The Docker image can be consulted for <a href="https://github.com/ledgersmb/ledgersmb-docker/blob/1.6/Dockerfile#L27-L56">an example</a> of how to do that for Debian or Ubuntu.</p> <p><code><strong># Installation of LedgerSMB Perl dependencies from CPAN</strong><br /> cpanm --quiet --notest --with-feature=starman --installdeps /usr/local/ledgersmb/</code></p> <p>Then, there are a number of features which need additional modules.<br /> The above command includes the Starman feature which is required for most installations.<br /> The modules required for each feature can be installed by appending "--with-feature=&lt;feature-name&gt;" to the above command line.</p> <p>These features are supported:</p> <table><thead><tr><th>Feature</th> <th>Description</th> </tr></thead><tbody><tr><td><code>latex-pdf-ps</code></td> <td>Enable PDF and PostScript output<br /><em>Note</em>: In order to make use of this functionality, the server must also have 'latex' or 'xelatex' installed. On many distributions, these packages are called 'texlive-latex' and 'texlive-tetex' respectively.</td> </tr><tr><td><code>starman</code></td> <td>Starman Perl/PSGI (standalone) web server</td> </tr><tr><td><code>openoffice</code></td> <td>OpenOffice.org document output</td> </tr><tr><td>xls</td> <td>Microsoft Excel XLS and XLSX document output</td> </tr><tr><td><code>edi</code></td> <td>(EXPERIMENTAL) X12 EDI support</td> </tr></tbody></table><p> </p> <p><code><strong># Installation of LedgerSMB Perl dependencies directly from CPAN<br /> # With Starman and PDF &amp; Postscript output</strong><br /> cpanm --quiet --notest --with-feature=starman --with-feature=latex-pdf-ps \<br /> --installdeps /usr/local/ledgersmb/</code></p> <h2><a>Configuring the PostgreSQL server</a></h2> <p>There are only two requirements for the PostgreSQL database server. This section instructs how to configure a pre-installed PostgreSQL installation to meet those requirements. It's assumed that the LedgerSMB server and PostgreSQL are being run on the same system. The requirements to meet are:</p> <ol><li>A database administrator user (in PostgreSQL called a 'role') for creation and administration of LedgerSMB company databases</li> <li>Authorization setup so the database administrator can log into the database through LedgerSMB's 'setup.pl' program</li> </ol><h3><a>Creating the company database administrator account</a></h3> <p>For maximum security, it's important to go through the steps in this section: it allows you to run your setup with an administrator user which doesn't have superuser rights. Superuser accounts have rights to override access controls throughout PostgreSQL; the account created in this section won't. If you want to skip this section, please add a password to the "postgres" user using the command:</p> <p><code><code># su - postgres -c "psql -c \"alter user postgres password 'YOURSECRET' valid until 'tomorrow'\""</code></code></p> <p>To create the more secure database administrator user account needs to have at the bare minimum:</p> <ul><li>The right to create databases (CREATEDB)</li> <li>The right to create roles (CREATEROLE)</li> <li>The right to log in (LOGIN)</li> <li>A password to authenticate logins</li> </ul><p>The following command issued as root user, creates a user named "lsmb_dbadmin" (which isn't a super user):</p> <p><code><code># su - postgres -c 'createuser -S -d -r -l -P lsmb_dbadmin'<br /> Enter password for new role: <strong>************</strong><br /> Enter it again: <strong>************</strong></code></code></p> <h3><a>Configuring database access rights</a></h3> <p>PostgreSQL takes its access configuration through a file called 'pg_hba.conf'. The location of this file may differ per distribution:</p> <ul><li>Debian derivatives: /etc/postgresql/&lt;version&gt;/&lt;cluster&gt;/pg_hba.conf</li> <li>RedHat derivatives: /var/lib/pgsql/&lt;version&gt;/data/pg_hba.conf</li> </ul><p>On most systems, this file has four effective lines:</p> <p><code>local   all             postgres                                peer<br /> local   all             all                                     peer<br /> host    all             all             127.0.0.1/32            peer<br /> host    all             all             ::1/128                 peer</code></p> <p>If you have decided not to create a dedicated database administrator account. Please make sure that your pg_hba.conf contains these two lines:</p> <p><code>host    all             all             127.0.0.1/32            scram-sha-256<br /> host    all             all             ::1/128                 scram-sha-256</code></p> <p>instead of the last two lines above which end in "peer". The remainder of this section isn't relevant if you're going to stick with the "postgres" superuser.</p> <p>If you decided to create a dedicated database administrator, please follow the remaining steps below.</p> <p>The 4 quoted lines above mean that each system user can connect to the database system with an equally named database user; the connecting source doesn't make a difference: unix and TCP/IP sockets have the same configuration.</p> <p>The LedgerSMB software needs to be able to connect to the database system as 'lsmb_dbadmin' or as a LedgerSMB user, not as the user that runs the server process. The new content should look like:</p> <p><code>local   all             postgres                         peer<br /> local   all             all                              peer<br /> host    all             postgres         127.0.0.1/32     reject<br /> host    all             postgres        ::1/128      reject<br /> host    postgres,template0,template1   lsmb_dbadmin         127.0.0.1/32     scram-sha-256<br /> host    postgres,template0,template1   lsmb_dbadmin         ::1/128      scram-sha-256<br /> host    postgres,template0,template1   all          127.0.0.1/32     reject<br /> host    postgres,template0,template1   all          ::1/128      reject<br /> host    all             all             127.0.0.1/32     scram-sha-256<br /> host    all             all             ::1/128          scram-sha-256</code></p> <p>This configuration takes advantage of the fact that each connection method (unix sockets vs TCP/IP sockets/addresses) can be separately configured. While the default connection method of the 'psql' tool is to connect over the 'local' (unix socket method), the default connection method for LedgerSMB is to use 'localhost' (127.0.0.1/32 or ::1/128).</p> <p>The above configuration means that the user 'postgres' can't be used any longer to connect from 'localhost', no user can connect to the 'postgres' database through 'localhost' [reject] and all other combinations of users and database names need password authentication [md5].</p> <p>Notes:</p> <ol><li>PostgreSQL matches the lines first to last and uses the first matching line, so <strong>the order of the lines is very importance</strong>.</li> <li>For more information about the pg_hba.conf configuration options, see the <a href="https://www.postgresql.org/docs/9.4/static/auth-pg-hba-conf.html">PostgreSQL pg_hba.conf documentation</a></li> <li>The databases 'template1' and 'template0' are system databases available in every cluster; this configuration blocks those for access from LedgerSMB as well.</li> <li>If you have an older Pg version, "scram-sha-256" may not be supported and needs to be replaced with "md5"</li> </ol><p>After reconfiguring pg_hba.conf, the PostgreSQL service needs to be restarted. this works with one of the following commands (depending on your distribution):</p> <p><code><strong># restarting postgresql service (as root)</strong><br /> # service postgresql restart<br /><strong># - or -:</strong><br /> $ service postgresql-&lt;version&gt; restart</code></p> <p><a>Verifying database access</a></p> <p>To verify access for the database admin user 'lsmb_dbadmin', an accessible database - not named 'postgres', 'template0' or 'template1' - is required. On new installs, these are the only databases. So the next example creates one. Here's how to verify the setup:</p> <p><code><strong># Verify access configuration (run as root)</strong><br /> $ su - postgres -c 'createdb lsmb_access_test_db'<br /> $ psql -h localhost -U lsmb_dbadmin -d lsmb_access_test_db -c "select version()"<br /> PostgreSQL 9.6.3 &lt;--- this line indicates success("9.6.3" is just an example version number)<br /> $ su - postgres -c 'dropdb lsmb_access_test_db'</code></p> <p><a>Configuring a web server</a></p> <p>Regardless of your web server setup, configuration of an "application server" is required. The application server used with LedgerSMB can be any PSGI compatible server. The default application server is Starman, which is widely considered the fastest available. The Starman server process lives behind a <a href="https://en.wikipedia.org/wiki/Reverse_proxy">reverse proxy</a>. While Starman deals specifically with those HTTP requests which require "application logic", all other requests (mostly static content, such as images or CSS) are dealt with by the proxy.</p> <h3><a>Configuring the Starman application server</a></h3> <p>Depending on the distribution, a startup method must be installed; this can be one of:</p> <ul><li>SysV init script</li> <li>Upstart configuration</li> <li>Systemd configuration</li> </ul><p>At the time of writing, the only configuration that comes with LedgerSMB's tarball is the systemd configuration. The following common setup is required regardless of the system used to manage services on the target system.</p> <p>To support priviledge separation, the Starman server should be running as a user which meets these criteria:</p> <ul><li>Not the same user as the web server</li> <li>Does not have write access to the LedgerSMB directories</li> </ul><p>To that extent, identify an existing (unused) system user, or create one with this command:</p> <p><code><strong># create 'ledgersmb' user for Starman server to run</strong><br /> $ useradd -d /non-existent -r -U -c "LedgerSMB/Starman service system user" ledgersmb</code></p> <h4><a>Configuring systemd for Starman</a></h4> <p>In the directory doc/conf/systemd/ from the tarbal, there is a preconfigured systemd service file, which needs to be copied into place. In case you decided to install dependencies into a local::lib, the service file needs to be edited to set a PERL5LIB environment variable before you can succesfully start the service.</p> <p><code><strong># 'copy' systemd service configuration, enable and start</strong><br /> $ sed -e "s#WORKING_DIR#$PWD#" doc/conf/systemd/ledgersmb_starman.service \<br />    | sudo tee /etc/systemd/system/ledgersmb-starman.service</code><br /><code>$ systemctl enable ledgersmb-starman<br /> $ service ledgersmb-starman start</code></p> <p>Note that the above assumes that the commands are being run from the root of the unpacked tarball. It also assumes that the tarball has been unpacked at its installation path.</p> <p>To verify that the service started up correctly, run:</p> <p><code><strong># verify that the Starman/LedgerSMB server started correctly</strong><br /> $ journalctl -u ledgersmb-starman.service --since="today" -l -e</code></p> <h3><a>Configuring a reverse proxy</a></h3> <p>For a quick test-run or demo setup running on localhost only, configuration of a proxy isn't mandatory. However, for a production setup with LedgerSMB being network or even web-exposed, it's ill-advised to run without the reverse proxy for - at least - the following reasons:</p> <ul><li>The proxy can serve static content [much] more efficiently (performance)</li> <li>The proxy can support HTTP/2 which multiplexes requests (performance)</li> <li>The proxy guards Starman against public exposure (security)</li> <li>The proxy adds TLS (security)</li> </ul><p>With TLS certificates being completely free these days through <a href="https://letsencrypt.org/">Let's Encrypt</a>, and only a few dollars for the simplest of certificates from commercial vendors, there's really no reason <em>not</em> to secure traffic to the server. Further documentation below assumes you have such a certificate. As for getting Let's Encrypt certificates, use their <a href="https://letsencrypt.org/getting-started/">Getting Started guide</a>.</p> <p>For simplicity, only the configuration of nginx as a reverse proxy is documented here.</p> <h4><a>Configuring nginx</a></h4> <p>The tarball contains an example virtual host configuration file to set up a reverse proxy with nginx. It needs to be included in the 'http { }' block in your nginx configuration. On Debian derived systems, this is done by copying the file to /etc/nginx/sites-available/ledgersmb.conf. On RedHat/Fedora derivatives, the copying goes to /etc/nginx/conf.d/ledgersmb.conf. After editing the file, replacing the following variables:</p> <ul><li><working_dir> Same replacement as before</working_dir></li> <li>SSL_CERT_FILE<br /> Should be where your certificate file is stored; probably /etc/certs/your_host.example.com.pem</li> <li>SSL_KEY_FILE<br /> Probably the same as the SSL_CERT_FILE, but with '.key' extension</li> <li>YOUR_SERVER_NAME<br /> If nothing else, should be replaced by the output of the command 'hostname -f'</li> </ul><p>NOTE: by default snakeoil certificates will be used by at least our nginx sample config files.<br /> These certificates are locally created and will normally require your browser clients to override something before they can be used.</p> <p>On Debian derivatives, activate this file after it has been edited, using:</p> <p><code><strong># On Debian/Ubuntu/Mint activate the virtual host</strong><br /> $ ln -s /etc/nginx/sites-available/ledgersmb.conf /etc/nginx/sites-enabled/</code></p> <p>On RedHat/Fedora derivatives, no symlinking is necessary: the configuration is active immediately. Now, verify that the configuration is acceptable:</p> <p><code><strong># (Re)start nginx service to make nginx reconfigure itself and validate configuration</strong><br /> $ service nginx restart</code></p> <h2><a>Configuring LedgerSMB</a></h2> <p>The tarball has a default LedgerSMB configuration file doc/conf/ledgersmb.conf.default. Without configuration file, LedgerSMB runs with sensible default settings. If you want to change the defaults, install the configuration file with:</p> <p><code><strong># Install the default ledgersmb.conf configuration file</strong><br /> $ cp doc/conf/ledgersmb.conf.default ledgersmb.conf</code></p> <p>And edit configuration to taste.</p> <p>In case the in-app e-mail feature is going to be used, check the values in the [mail] section and optionally adjust for the mail setup of the target system.</p> <h2>Next steps</h2> <p>Now follow the instructions in the <a href="http://ledgersmb.org/topic/preparing/preparing-ledgersmb-15-first-use">"Prepare LedgerSMB for first use" guide</a>.</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, 10/08/2022 - 01:43</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-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> Sat, 08 Oct 2022 08:43:06 +0000 ehu 597 at https://ledgersmb.org https://ledgersmb.org/content/installing-ledgersmb-110#comments 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.10"><em><strong>1.10</strong></em></a> - initially released on Oct 8, 2022. This release has a wide variety of improvements and code cleanups: it features support for customized workflows, the ability to export document templates from the database, much more flexibility for customization by dependency injection, cleaned up document templates, login.pl &amp; setup.pl being translated based on browser preferences 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="fd6419af-309a-4ef9-9686-cfd876195cd0" href="/content/110-release-notes" title="1.10 release notes">release notes</a>. This release will see its End-Of-Life for community support on <strong>Oct 8, 2024</strong>.</p> <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 on <strong>Sep 24, 2023</strong>.</p> <h1>Older versions</h1> <p>Version is <a href="https://github.com/ledgersmb/LedgerSMB/tree/1.8"><em><strong>1.8</strong></em></a> has been declared End-Of-Life on Sep 04, 2022 (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>.</p> <p>Version is <em><a href="https://github.com/ledgersmb/LedgerSMB/tree/1.7"><strong>1.7</strong></a></em> has been declared End-Of-Life on Oct 04, 2022 (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>.</p> <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, because of known security problems.</p> <p>It's project policy to provide at least 24 months of community support for every 1.x release series, aiming to have two versions supported at any time.</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 https://ledgersmb.org/content/open-source-erp-accounting-invoicing-and-more#comments Controlling Starman https://ledgersmb.org/faq/controlling-starman <span class="field field--name-title field--type-string field--label-hidden">Controlling Starman</span> <div class="clearfix text-formatted field field--name-field-detailed-question field--type-text-long field--label-hidden field__item"><p>Useful Starman commands.<br /> Using the perl based Starman webserver is the easiest way to run LedgerSMB locally (and quite possibly for production use as well).</p> </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">Sun, 12/27/2015 - 15:02</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>## At the terminal, and from your LedgerSMB directory:<br /> ### Start Starman</p> <pre>starman tools/starman.psgi</pre><p>Default port is 5000.</p> <pre>starman -l :8080 tools/starman.psgi</pre><p>Start with 8080 specified as the port.</p> <p>Note: some documentation specifies the switch</p> <pre>--preload-app</pre><p>It has been sugggested that this may give performance advantages in a production environment but isn't recommended while developing.<br /> The manpage has more to say on this.</p> <pre>man starman</pre><p>Based on that we currently would not recommend using --preload-app even on a production server</p> <p>### While Starman is running</p> <p>#### Reload Starman</p> <pre>pkill -HUP -f "starman master"</pre><p> #### Restart Starman {#RestartStarman}</p> <pre>pkill -TERM -f "starman master"</pre><p> #### Release the port if Starman is terminated<br /> NOTE: try [Restart Starman](#RestartStarman) before doing this.</p> <pre>pkill -KILL -f "starman master"</pre></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> </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/installation" hreflang="en">Installation</a></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/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> </div> <section class="field field--name-comment-node-faq field--type-comment field--label-hidden comment-wrapper"> </section> Sun, 27 Dec 2015 23:02:39 +0000 Anonymous 338 at https://ledgersmb.org Screenshots for 1.10 https://ledgersmb.org/content/screenshots-110 <span class="field field--name-title field--type-string field--label-hidden">Screenshots for 1.10</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">Mon, 10/31/2022 - 14:18</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/150" hreflang="en">1.10</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/2022-10/f48e21d47d7d1544ed74faa1ef4ec3d3-step-post-1_0.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.10 Login screen&quot;}" role="button" title="1.10 Login screen" data-colorbox-gallery="gallery-all-SYlgJkEoWC4" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.10 Login screen&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2022-10/f48e21d47d7d1544ed74faa1ef4ec3d3-step-post-1_0.png?itok=fr_-UViJ" width="325" height="230" alt="1.10 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/2022-10/f48e21d47d7d1544ed74faa1ef4ec3d3-step-post-3.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.10 Admin interface login&quot;}" role="button" title="1.10 Admin interface login" data-colorbox-gallery="gallery-all-SYlgJkEoWC4" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.10 Admin interface login&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2022-10/f48e21d47d7d1544ed74faa1ef4ec3d3-step-post-3.png?itok=cKV7tffu" width="325" height="230" alt="1.10 Admin interface 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/2022-10/1e697f84931add8190179970614c7c8f-step-post-0.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.10 Welcome screen (after login)&quot;}" role="button" title="1.10 Welcome screen (after login)" data-colorbox-gallery="gallery-all-SYlgJkEoWC4" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.10 Welcome screen (after login)&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2022-10/1e697f84931add8190179970614c7c8f-step-post-0.png?itok=2T5hSzhO" width="325" height="230" alt="1.10 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/2022-10/1e697f84931add8190179970614c7c8f-step-post-4.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.10 Batch post (approval)&quot;}" role="button" title="1.10 Batch post (approval)" data-colorbox-gallery="gallery-all-SYlgJkEoWC4" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.10 Batch post (approval)&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2022-10/1e697f84931add8190179970614c7c8f-step-post-4.png?itok=ByxWEaE7" width="325" height="230" alt="1.10 Batch post (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/2022-10/823cfa711d89778dd6e0d74b6d772f48-step-post-12.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.10 Bank Reconciliation&quot;}" role="button" title="1.10 Bank Reconciliation" data-colorbox-gallery="gallery-all-SYlgJkEoWC4" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.10 Bank Reconciliation&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2022-10/823cfa711d89778dd6e0d74b6d772f48-step-post-12.png?itok=vNGi-li1" width="325" height="230" alt="1.10 Bank Reconciliation" 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/2022-10/67b9ff63df723ffc820c4c63f77016f1-step-post-14.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.10 Balance sheet&quot;}" role="button" title="1.10 Balance sheet" data-colorbox-gallery="gallery-all-SYlgJkEoWC4" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.10 Balance sheet&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2022-10/67b9ff63df723ffc820c4c63f77016f1-step-post-14.png?itok=_Pmxi8qL" width="325" height="230" alt="1.10 Balance sheet" 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/2022-10/11054eefee3130c019ef7ce14a538d0c-step-post-26.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.10 AR transaction entry&quot;}" role="button" title="1.10 AR transaction entry" data-colorbox-gallery="gallery-all-SYlgJkEoWC4" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.10 AR transaction entry&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2022-10/11054eefee3130c019ef7ce14a538d0c-step-post-26.png?itok=jYyXiZKc" width="325" height="230" alt="1.10 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/2022-10/11054eefee3130c019ef7ce14a538d0c-step-post-91.png" aria-controls="colorbox" aria-label="{&quot;alt&quot;:&quot;1.10 GL transaction entry&quot;}" role="button" title="1.10 GL transaction entry" data-colorbox-gallery="gallery-all-SYlgJkEoWC4" class="colorbox" data-cbox-img-attrs="{&quot;alt&quot;:&quot;1.10 GL transaction entry&quot;}"><img src="/sites/default/files/styles/max_325x325/public/2022-10/11054eefee3130c019ef7ce14a538d0c-step-post-91.png?itok=A4CFOR_h" width="325" height="230" alt="1.10 GL transaction 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> Mon, 31 Oct 2022 21:18:11 +0000 ehu 608 at https://ledgersmb.org https://ledgersmb.org/content/screenshots-110#comments How do I restore my data? https://ledgersmb.org/faq/how-do-i-restore-my-data <span class="field field--name-title field--type-string field--label-hidden">How do I restore my data?</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">Mon, 05/13/2013 - 13:04</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Assuming you have followed the <a href="/faq/how-do-i-backup-my-data">How Do I Backup My Data</a> instructions, you can restore your database as follows...</p> <p>Note LedgerSMB versions prior to version 1.9.16 did not support PostgreSQL 14 or higher due to a backward incompatible change in PostgreSQL 14.</p> <p><strong>Note</strong> that the following examples use the  'lsmb_dbadmin' for the database administrative user. Recent LedgerSMB installs do not automatically create an 'lsmb_dbadmin' user.  This has to be created manually.  You may have to use the 'postgres' user depending on how your database was installed.</p> <h2>1) Restore the roles</h2> <pre> $ psql -h [database host] -U [database admin user] &lt; [roles backup file]</pre> <p>For example:</p> <pre> $ psql -h localhost -U lsmb_dbadmin &lt; lsmb-roles.sqlc</pre> <h2>2) Create a new database to restore into</h2> <pre> $ psql -h [database host] -U [database admin user] -c 'CREATE DATABASE [new company name]'</pre> <p>For example:</p> <pre> $ psql -h localhost -U lsmb_dbadmin -c 'CREATE DATABASE newcompany'</pre> <h2>3) Restore the company backup into the new database:</h2> <pre> $ psql -h [database host] -U [database admin user] [new company name] &lt; [company backup file]</pre> <p>For example:</p> <pre> $ psql -h localhost -U lsmb_dbadmin newcompany &lt; lsmb-db.sqlc </pre> </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="/taxonomy/term/150" hreflang="en">1.10</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/administration" hreflang="en">Administration</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/backup" hreflang="en">Backup</a></div> <div class="field__item"><a href="/topics/restore" hreflang="en">Restore</a></div> </div> </div> <section class="field field--name-comment-node-faq field--type-comment field--label-hidden comment-wrapper"> </section> Mon, 13 May 2013 20:04:59 +0000 ehu 247 at https://ledgersmb.org