LedgerSMB

LedgerSMB 项目的存储库 -- 用于会计和 ERP 的 Web 应用程序。「Repository for the LedgerSMB project -- web app for accounting & ERP」

Github stars Tracking Chart

LedgerSMB

中小企业会计和 ERP

概要

LedgerSMB 是一个免费的综合 web 应用会计系统,具有复式记账,预算,发票,报价,项目,时间卡,库存管理,运输和更多...

UI 允许全球访问。通过将其数据存储在企业级 PostgreSQL 开源数据库系统中,该系统对于每周处理数千笔交易的企业而言运行平稳。屏幕和客户可见的输出在模板中定义,可以轻松快速地进行自定义。支持的输出格式为PDF,CSV,HTML,ODF等。

通过内置的电子邮件功能将订单和发票直接发送给您的客户,或者将带有 RF 附件的询价(询价)发送给您的供应商。

系统要求

请注意,这些是当前开发版本 LedgerSMB 1.9 的系统要求。请检查 1.7 旧稳定版1.8 版本的系统要求。

  • Perl 5.24+
  • PostgreSQL 9.6+
  • Web server (e.g. nginx, Apache, lighttpd, Varnish)

Web 外部服务器仅在生产安装时才需要;为了进行评估,可以使用更简单的设置,如下所述。

客户端

客户端需要的是与Dojo 1.16 兼容的 Web 浏览器。它包括 3.6 和更高版本的所有当前版本的 Chrome 和 FireFox,以及 MS Internet Explorer 和各种移动浏览器。请注意,LedgerSMB 明确不进行任何支持 Internet Explorer 的尝试。

快速入门(Docker compose)

建立并运行 Docker 映像的最快方法是使用 GitHub 仓库中提供的 docker-compose 文件:

https://github.com/ledgersmb/ledgersmb-docker/blob/1.7/docker-compose.yml

它出于生产目的(即具有持久性(数据库)数据)设置 LedgerSMB 映像和支持的数据库映像,但有一件例外:设置具有 TLS 1.2 支持的 Nginx 或 Apache 反向代理 -- 如果您需要的话,这是一个要求 -- 通过任何类型的网络访问您的安装。

请参阅 Docker Hub 上的文档

快速入门(从压缩包开始)

以下说明可帮助您快速入门。 该项目的站点提供了针对生产安装的深入安装说明。

系统(库)依赖性

除了在 CPAN 的“如何安装CPAN模块”页面上记录的内容之外,还需要具有以下非 Perl(系统)依赖性,才能使下面提到的 cpanm 命令起作用。

  • cpanminus 可以手动安装,也可以作为系统软件包安装。 如果仅打算从 debian 软件包安装,则可能不需要安装 cpanminus。
  • PostgreSQL 客户端库
  • PostgreSQL 服务器
  • DBD::Pg 3.4.2+(因此 cpanm 认识到不需要编译它)在 Debian 中,此软件包称为 libdbd-pg-perl;在 RedHat/Fedora 中,此软件包称为 perl-DBD-Pg。
  • make 这由 cpan 依赖项在其构建过程中使用

然后,下面列出的某些功能也有系统要求:

  • latex-pdf-ps 取决于以下二进制文件或库:
  • latex(通常通过 texlive 软件包提供)
  • pdflatex
  • dvipdfm
  • dvips
  • pdf2ps

Perl 模块依赖性

本节取决于 有效的 local::lib 安装以及已安装的 cpanm 可执行文件。两者都可以从您发行版的软件包存储库中获得(Debian 分别称它们为 liblocal-lib-perl 和 cpanminus)。 cpanm 取决于 make 和 gcc 命令是否可用。

注意:安装所有 cpan 依赖项后,可以删除 gcc。但是,如果升级过程中需要其他模块,则可能需要重新安装它。

要安装 Perl 模块依赖项,请运行:

cpanm --quiet --notest --with-feature=starman [other features] --installdeps .
笔记
  1. 在 cpanm 命令的末尾不要错过 "." !
  2. 需要设置环境变量 PERL5LIB, PERL_MB_OPTPERL_MM_OPT 并且 PATH 需要包括 local::lib 位置。
  3. [其他功能]深入的安装说明中进行了描述。
  4. The 深入的安装说明包含分发提供的软件包的列表,以减少从 CPAN 安装的依赖项的数量。

PostgreSQL 配置

虽然可以将 LedgerSMB 与标准的 postgres 用户一起使用,但是最好创建一个单独的“LedgerSMB 数据库管理员”。在此快速入门中,我们为 postgres 超级用户添加了一个密码:

$ sudo -u postgres psql -U postgres \
   -c "alter role postgres password 'CHANGE-ME' valid until 'tomorrow'"
笔记

密码仅在分配给用户的当天有效,直到您忘记删除密码后才留下安全漏洞。

配置 LedgerSMB

LedgerSMB 应该无需配置即可运行。如果需要特定设置,请

cp doc/conf/ledgersmb.conf.default ledgersmb.conf

并编辑 ledgersmb.conf 以符合您的要求。

运行 Starman

完成上述步骤后,系统即可运行 Web 服务器:

$ starman --preload-app -I lib -I old/lib --listen localhost:5762 \
      bin/ledgersmb-server.psgi
2020/05/12-02:14:57 Starman::Server (type Net::Server::PreFork) starting! pid(xxxx)
Resolved [*]:5762 to [::]:5762, IPv6
Not including resolved host [0.0.0.0] IPv4 because it will be handled by [::] IPv6
Binding to TCP port 5762 on host :: with IPv6
Setting gid to "1000 1000 24 25 27 29 30 44 46 108 111 121 1000"
笔记

上面的命令不需要 root 特权

请不要使用 Starman 的 --user 选项设置用户。它与 LedgerSMB 运行的初始化交互很糟糕。

环境变量

我们在代码中支持以下环境变量

  • LSMB_WORKINGDIR : 可选
    • 使 chdir 进入指定目录,这是在starman.psgi 中完成的第一件事。
    • 如果未设置,则使用当前目录。
    • 一个例子是
    LSMB_WORKINGDIR=<span class="pl-s"><span class="pl-pds">'</span>/usr/local/ledgersmb/<span class="pl-pds">'</span></span> starman ...

我们为依赖项支持以下环境变量

  • PGHOST : 可选
    • 指定 Postgres server 域名或IP地址
  • PGPORT : 可选
    • Specifies the Postgres server Port
  • PGSSLMODE : 可选
    • Postgres 连接启用SSL

请注意有关 local::lib 环境的早期说明,该环境要求设置变量 PERL5LIB、PERL_MM_OPT、PERL_MB_OPT 和 PATH。

下一步

系统已安装,应该可以通过以下方式进行评估

该系统已为首次使用做好准备。 。

项目信息

网站:http://ledgersmb.org/

在线聊天:

邮件列表档案:http://archive.ledgersmb.org

邮件列表:

仓库:https://github.com/ledgersmb/LedgerSMB

项目贡献者

源代码贡献者可以在项目的 Git 提交历史记录以及存储库根目录的 CONTRIBUTORS 文件中找到。

可以在项目的 Git 提交历史记录以及 Transifex 项目时间轴中找到翻译贡献。

版权

Copyright (c) 2006 - 2020 The LedgerSMB Project contributors
Copyright (c) 1999 - 2006 DWS Systems Inc (under the name SQL Ledger)

许可

GPLv2


(The first version translated by vz on 2020.07.18)

Overview

Name With Ownerledgersmb/LedgerSMB
Primary LanguagePerl
Program languagePerl (Language Count: 11)
PlatformAndroid, BSD, Docker, iOS, Linux, Mac, Virtual Box, Windows
License:Other
Release Count358
Last Release Name1.11.12 (Posted on 2024-04-09 14:13:47)
First Release Name1.0.0 (Posted on 2006-09-06 17:54:38)
Created At2014-04-05 16:43:59
Pushed At2024-04-21 20:37:13
Last Commit At2024-04-21 22:37:13
Stargazers Count393
Watchers Count47
Fork Count151
Commits Count17.9k
Has Issues Enabled
Issues Count1584
Issue Open Count114
Pull Requests Count6164
Pull Requests Open Count2
Pull Requests Close Count310
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

LedgerSMB

Small and Medium business accounting and ERP

CII Best Practices
Build Status
Lgtm total alerts
GPLv2 Licence
Coverage Status
Docker
Language grade: JavaScript
Mentioned in Awesome

SYNOPSIS

LedgerSMB is a free integrated web application accounting system, featuring
double entry accounting, budgetting, invoicing, quotations, projects, timecards,
inventory management, shipping and more ...

The UI allows world-wide accessibility; with its data stored in the
enterprise-strength PostgreSQL open source database system, the system is known
to operate smoothly for businesses with thousands of transactions per week.
Screens and customer visible output are defined in templates, allowing easy and
fast customization. Supported output formats are PDF, CSV, HTML, ODF and more.

Directly send orders and invoices from the built-in e-mail function to your
customers or RFQs (request for quotation) to your vendors with PDF attachments.

System requirements

Note that these are the system requirements for LedgerSMB 1.8; the planned next
minor release. Please check the system requirements for the 1.6 old stable
version

and current 1.7 version.

Server

  • Perl 5.18+
  • PostgreSQL 9.4+
  • Web server (e.g. nginx, Apache, lighttpd)

The web external server is only required for production installs;
for evaluation purposes a simpler setup can be used, as detailed
below.

Client

A Dojo 1.15 compatible web browser
is all that's required on the client (except IE8 and 9); it includes all
current versions of Chrome and FireFox as of 3.6, as well as MS Internet
Explorer as of version 10 and a wide range of mobile browsers.

Quick start (Docker compose)

The quickest way to get the Docker image up and running is by using the
docker-compose file available through the GitHub repository at:

https://github.com/ledgersmb/ledgersmb-docker/blob/1.7/docker-compose.yml

which sets up both the LedgerSMB image and a supporting database image for
production purposes (i.e. with persistent (database) data, with the
exception of one thing: setting up an Nginx or Apache reverse proxy
with TLS 1.2 support -- a requirement if you want to access your
installation over any type of network.

See the documentation on Docker Hub.

Quick start (from source)

The instructions below are for getting started quickly; the project's site
provides in-depth installation instructions
for production installs.

System (library) dependencies

The following non-Perl (system) dependencies need to be in place for the
cpanm command mentioned below to work, in addition to what's documented
on the How to install CPAN modules
page on CPAN.

  • cpanminus This can be manually installed, or installed as a system package.
    It may not be necessary to install cpanminus if you are only going to install from debian packages.
  • PostgreSQL client libraries
  • PostgreSQL server
  • DBD::Pg 3.4.2+ (so cpanm recognises that it won't need to compile it)
    This package is called libdbd-pg-perl in Debian and perl-DBD-Pg
    in RedHat/Fedora
  • make This is used by cpan dependencies during thier build process

Then, some of the features listed below have system requirements as well:

  • latex-pdf-ps depends on these binaries or libraries:
    • latex (usually provided through a texlive package)
    • pdflatex
    • dvitopdf
    • dvitops
    • pdftops

Perl module dependencies

This section depends on a working local::lib installation
as well as an installed cpanm executable. Both should be available from
your distribution's package repository (Debian calls them liblocal-lib-perl
and cpanminus respectively). cpanm depends on the make and gcc commands being available.

NOTE: gcc can be removed after all cpan dependencies are installed.
However, it may be necessary to reinstall it if additional modules are required during an upgrade

To install the Perl module dependencies, run:

 $ cpanm --quiet --notest --with-feature=starman [other features] --installdeps .

NOTE: Don't miss the "." at the end of the cpanm command!
Don't forget to make sure the environment variable PERL5LIB=/home/ledgersmb/perl5/lib/perl5 points at the running user's perl5 dir
Also, NEVER run cpanm as root, it's best to run it as the user you intend to run ledgersmb as when possible.
This installs the cpan modules in ~/perl5
If you can't run it as the final user, don't worry, just run it as any user (eg: johnny),
and make sure the environment variable PERL5LIB=/home/johhny/perl5/lib/perl5 points at jonny's perl5 dir

Setting the PERL5 environment variable is normally done by editing the initscript, or systemd service file.
If you are running manually, then you will need to set and export PERL5 before running starman/plack

The following features may be selected by
specifying --with-feature=<feature>:

To the top