基于 Laravel 构建的适用于小公司和自由职业者的免费在线财务会计系统 —— Akaunting


概述

Akaunting 是一个免费开源的在线会计软件,专为小型企业或自由职业者管理财务并保持现金流而设计,基于 Laravel、Bootstrap、jQuery 以及 RESTful API 等现代技术构建,在模块化结构的基础上(基于 Laravel 扩展包 nwidart/laravel-modules 实现),Akaunting 得以为用户和开发者提供非常棒的 App Store。你可以通过以下方式了解更多关于 Akaunting 的更多信息:

  • 官网 —— 官网主页
  • 博客 —— 获取最新资讯
  • 论坛 —— 向他人求助
  • 文档 —— 学习如何使用
  • 翻译 —— 获取本地化 Akaunting

系统要求

  • PHP 5.6.4+(Akaunting 基于 Laravel 5.4 开发)
  • 数据库(如 MySQL)
  • Web服务器(如 Nginx)
  • PHP扩展:PDO、OpenSSL、Mbstring、Tokenizer、XML、Zip

应用安装&初始化

和 WordPress 类似,Akaunting 在下载页面提供了两钟方式进行安装,一种是云服务,一种是自己下载安装包部署:

Akaunting下载页面

没有自己的服务器,或者自己本身是非技术人员,可以尝试左侧的云服务版本,对于以学习为目的或者本身就是技术控,还是选在右侧下载安装包将服务部署到自己的服务器进行维护比较好。下面学院君就以下载安装包安装的方式进行演示。

这里下载的完整代码包,下载完成后需要解压到服务器根目录下。

当然你可以通过 git clone 的方式进行下载安装(对比那感人的下载速度,还是github更合适我们):

git clone https://github.com/akaunting/akaunting.git
cd akaunting
composer install
cp .env.example .env
php artisan key:generate

以上步骤完成之后就可以在 Web 服务器里面配置下虚拟域名(我这里配置的域名是 akaunting.app)对应用进行映射,注意这里的映射目录直接到应用根目录而不是 public

server {

    listen 80;

    server_name akaunting.app;
    root /var/www/akaunting;
    index index.php index.html index.htm;

    location / {
         try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_pass php-upstream;
        fastcgi_index index.php;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        #fixes timeouts
        fastcgi_read_timeout 600;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    location /.well-known/acme-challenge/ {
        root /var/www/letsencrypt/;
        log_not_found off;
    }

    error_log /var/log/nginx/akaunting_error.log;
    access_log /var/log/nginx/akaunting_access.log;
}

重启下 Web 服务器,然后在数据库中创建一个名为 akaunting 的数据库,并修改项目根目录下 .env 中的数据库相关配置,将 APP_URL 配置值修改为 http://akaunting.app(不要忽视这个配置,不改的话后面登录成功无法跳转到管理后台)。

至此,我们已经完成了所有准备工作,在应用根目录下通过命令行对应用进行初始化:

php artisan install --db-host=localhost --db-name=akaunting --db-username=root --db-password=root --company-name=Laravel学院

初始化过程主要是创建数据表和创建管理员账号,按照提示填写即可。

初始化完成后在浏览器地址栏访问 http://akaunting.app(Chrome最新版 .app 后缀会跳转到 https 域名,你可以选择修改域名后缀,也可以选择其他浏览器测试),未登录的情况下会跳转到登录页面:

Akaunting后台登录页面

按照初始化填写的账号信息登录,登录成功即可进入管理页面:

Akaunting后台管理页面

功能特性

从业务角度来看,Akaunting 大体上支持的功能包括:

  • 创建客户并向其发送发票,您还可以设置密码,以便他们可以访问客户端;
  • 向客户发送专业发票并开始接受在线支付,无佣金/交易费用;
  • 在帐户之间进行存款和转帐,保持您的银行帐户余额有效;
  • 创建供应商,以便您可以为他们分配账单和付款,然后轻松过滤他们的交易;
  • 创建和管理账单,使您的财务状况始终准确、健康,知道什么以及何时支付;
  • 添加非可结算费用作为付款,以使您的银行/现金帐户余额保持最新;
  • 库存管理:启用库存跟踪并在货物进出时管理货物;
  • 支持创建无限个银行和现金账户并跟踪其开仓和当前余额;
  • 发送发票并支持以多种货币添加费用,并让系统以主货币进行转换;
  • 从一个管理面板管理多家公司的财务,并将用户分配给不同的公司;
  • 获取详细的财务报告,以帮助您更好地查看改善业务所需的所有信息;
  • 与您的客户共享交易和发票,并在线接受批量付款;
  • 自动为正在进行的工作创建发票、收入、账单和付款;
  • 通过向客户提供折扣来提高客户忠诚度;
  • 查看客户资料、地址、交易清单以及付费、未结和过期总计;
  • 将您的业务文件和/或收据附在发票,费用和原始证据付款上;
  • 创建收入,费用和项目的类别,并一目了然地查看您的业务流程;
  • 为每个税收设置不同的名称,并将特定税收与特定产品或交易相关联,以节省您的时间;

从技术角度来看,Akaunting 拥有以下特性:

  • 免费
  • 在线
  • 开源(支持二次开发)
  • 易扩展(拥有自己的 App Store,方便在线安装插件)
  • 支持多语言
  • 支持权限系统

学院君不是专业的会计人员,也不太懂一般的会计工作流程,也给不出更多的指导,而且这个项目目前也不支持中文,但是对于这方面有迫切需求的小公司或自由职业者来说,我想这点困难应该是可以克服的,更多使用明细,请访问官方文档:https://akaunting.com/docs/user-manual/dashboard


点赞 取消点赞 收藏 取消收藏

<< 上一篇: 基于 Laravel 开源项目 Monica 构建个人关系管理(CRM)应用

>> 下一篇: 造个轮子:基于 Laravel 的下一代 PHP 开发框架