Free and Online Accounting Software

Overview

Akaunting™

Release Downloads Translations Tests License

Akaunting is a free, open source and online accounting software designed for small businesses and freelancers. It is built with modern technologies such as Laravel, VueJS, Bootstrap 4, RESTful API etc. Thanks to its modular structure, Akaunting provides an awesome App Store for users and developers.

Requirements

  • PHP 7.3 or higher
  • Database (eg: MySQL, PostgreSQL, SQLite)
  • Web Server (eg: Apache, Nginx, IIS)
  • Other libraries

Framework

Akaunting uses Laravel, the best existing PHP framework, as the foundation framework and Module package for Apps.

Installation

  • Install Composer and Npm
  • Clone the repository: git clone https://github.com/akaunting/akaunting.git
  • Install dependencies: composer install ; npm install ; npm run dev
  • Install Akaunting:
php artisan install --db-name="akaunting" --db-username="root" --db-password="pass" --admin-email="[email protected]" --admin-password="123456"
  • Create sample data (optional): php artisan sample-data:seed

Contributing

Please, be very clear on your commit messages and pull requests, empty pull request messages may be rejected without reason.

When contributing code to Akaunting, you must follow the PSR coding standards. The golden rule is: Imitate the existing Akaunting code.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Translation

If you'd like to contribute translations, please check out our Crowdin project.

Changelog

Please see Releases for more information what has changed recently.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

Partners

Each of our partners can help you craft a beautiful, well-architected project. Feel free to get in contact with us to become a partner.

  • Creative Tim is our design partner since Akaunting 2.0 version. They create beautiful UI Kits, Templates, and Dashboards built on top of Bootstrap, Vue.js, React, Angular, Node.js, and Laravel.

Sponsors

Support Akaunting by becoming a sponsor on Patreon. Your logo will show up here with a link to your website.

License

Akaunting is released under the GPLv3 license.

Comments
  • Multi-company invoices and revenues create errors

    Multi-company invoices and revenues create errors

    Please, submit only real issues. Use the forum for support, feature requests, proposals, new versions, help etc. https://akaunting.com/forum

    Steps to reproduce the issue

    1- Create a new company and switch to that company 2- Go to incomes->invoices or incomes->revenues 3- Click on add new and it will show "Whoops, looks like something went wrong." 4- Also an error when you try to go to general settings for this 2nd company

    Expected result

    1- It should show a form to add invoices or Revenues 2- For settings it should show general settings form

    Actual result

    Displays an error page with "Whoops, looks like something went wrong." error

    System information (Akaunting, PHP versions)

    Akaunting_1.3.14-Stable version, and

    PHP Version 7.1.27

    Additional comments

    After debugging I noticed that for 2nd company the settings table is not being populated with some required variable for invoices and revenues. After I changed the code and added those settings variables it started working as expected.

    I just want to know if I am doing anything wrong while adding new company or during company management do I need to do anything extra which I am missing.

    Bug 
    opened by iahmadaj 21
  • Added middleware for formatting currency

    Added middleware for formatting currency

    Middleware might be overboard but I figured it could be reused in case there are other sections that also require server-side logic to compute values. The middleware receives the request, replaces commas with periods using regular expressions, and passes it next() which is Items\Items@totalItem where it can be used normally. totalItem() wants to type cast the value as double but when the string contains commas as decimal points, then it messes up.

    If necessary, I can reimplement it without middleware.

    Referencing issue #185

    opened by cchoe1 19
  • Search/Filter not working

    Search/Filter not working

    Steps to reproduce the issue

    Open Invoices Lists search any word

    Actual result

    no data

    System information (Akaunting, PHP versions)

    2.0.4 PHP 7.4

    Additional comments

    Invoices and Purchases, Customers, Vendors. The search box in their list is not working

    image

    Bug 
    opened by aliuysal60 18
  • Freah Heroku Install - Class 'Faker\Factory' not found

    Freah Heroku Install - Class 'Faker\Factory' not found

    Can't Deploy on Heroku

    Steps to reproduce the issue

    Push the latest source code (version 1.3.3) to heroku

    Expected result

    It should install correctly

    Actual result

    remote: In DatabaseServiceProvider.php line 78: remote:
    remote: Class 'Faker\Factory' not found
    remote:
    remote:
    remote: Script php artisan ide-helper:generate handling the post-install-cmd event returned with error code 1

    System information (Akaunting, PHP versions)

    Heroku

    opened by warisali2 15
  • Impossible to update to latest Akaunting version

    Impossible to update to latest Akaunting version

    Akaunting version

    2.1.27

    PHP version

    7.4.3

    Operating system

    Ubuntu 20.4

    Steps to reproduce

    Update from version 2.1.27 to 2.1.28 through the Web Interface OR php artisan.

    Expected result

    The update should run.

    Actual result

    Getting an error. CLI Error: php artisan update core 1 --verbose:

    Not able to get the latest version of core!
    

    or php artisan updat:all 1 --verbose:

    Starting update...
    Updating core...
    The command php artisan update core 1 failed.<br /><br />Exit Code: 1(General error)<br /><br />Working directory: /var/www/html<br /><br />Output:<br />================<br />Not able to get the latest version of core!<br /><br /><br />Error Output:<br />================<br />
    Not able to update core!
    

    Web Interface error (in german, translates to smth like "Unable to download core") Screenshot 2021-12-06 at 13 28 43

    Additional comments

    I traced the php artisan update core 1 --verbose CLI command to where the error is thrown in the application.

    https://github.com/akaunting/akaunting/blob/afeef58f80ca48b7881d9f6453a3483541a6802a/app/Console/Commands/Update.php#L59

    getNewVersion() returns false, because the Versions utility checks for a data key on the versions object. see: https://github.com/akaunting/akaunting/blob/afeef58f80ca48b7881d9f6453a3483541a6802a/app/Utilities/Versions.php#L58

    The actual array is:

    Array
    (
        [core] => 2.1.28
        [bc21] => 2.0.0
        [my-private-module] => 1.0.0
        [offline-payments] => 2.0.1
        [paypal-standard] => 2.0.0
    )
    

    And as you can see there is no data property for core. But the file checks for empty($versions['core']->data)

    Relevant log output

    I checked PHP, Apache and laravel logs, without success.

    opened by josias-r 12
  • Dashboard Error after making entry in Income or Expense Tab.

    Dashboard Error after making entry in Income or Expense Tab.

    Hi I have installed akaunting(1.1.1) using softaculous which is not working properly after making entry in expense and income tab. If i am adding some entry in payments or revenues then it's adding successfully but after that i can't access dashboard or income report. It's showing some error (attached). If i delete that entry then it's working fine.

    Kindly fix this issue.

    Thanks

    error

    Bug 
    opened by gajendrazts 11
  • Negative Numbers in Expenses Not Working

    Negative Numbers in Expenses Not Working

    Please, submit only real issues. Use the forum for support, feature requests, proposals, new versions, help etc. https://akaunting.com/forum

    Steps to reproduce the issue

    Create a new expense f ex dishsoap 5.00 from Big Grocery Store. Now lets say you returned the item back to the grocery store. Create a new expense try to enter -5.00 in the amount.

    Expected result

    The amount field should allow a negative number for returns on your expenses.

    Actual result

    Does Not allow you to enter negative number under expenses.

    System information (Akaunting, PHP versions)

    Akaunt 1.3.1 / PHP 7.2

    Additional comments

    Expense refunds should not go under revenues as this is not a revenue and it would count towards income, and throw numbers off balance.

    opened by johnnyq 10
  • Can`t finish the 3rd installation step when setting the app with Docker.

    Can`t finish the 3rd installation step when setting the app with Docker.

    I have tried to install the software in a local container, but I cant go past the 3rd step. It says SQLSTATE[HY000] [2002] Connection refused (SQL: insert intoak_companies(domain,updated_at,created_at) values (, 2018-10-09 06:56:02, 2018-10-09 06:56:02)), but it did pass the database setup step correctly, so I am really lost and cant get why it complains.

    Steps to reproduce the issue

    Install the app via docker. Go to the app URL and start the installation. Go through the installation steps and on step 3 fill all the company info and save.

    Expected result

    It should install correctly.

    Actual result

    It fails with error SQLSTATE[HY000] [2002] Connection refused (SQL: insert intoak_companies(domain,updated_at,created_at) values (, 2018-10-09 06:56:02, 2018-10-09 06:56:02))

    System information (Akaunting, PHP versions)

    docker

    Additional comments

    screenshot from 2018-10-09 12-58-33

    opened by naneri 10
  • Update to v2.1.13 breaks installation

    Update to v2.1.13 breaks installation

    Please, submit only real issues. Use the forum for support, feature requests, proposals, new versions, help etc. https://akaunting.com/forum

    Steps to reproduce the issue

    Update to v2.1.13 from the UI.

    Expected result

    UI refreshes to dashboard.

    Actual result

    404 not found page.

    System information (Akaunting, PHP versions)

    v2.1.13 DigitalOcean one-click install.

    Additional comments

    How can I revert the system to a working state? I still have data in my DB.

    opened by ikhoury 9
  • Document type is missing in the histories table

    Document type is missing in the histories table

    Steps to reproduce the issue

    Using the Akaunting v2.1.0 mark a bill as received and then check the "Histories" table.

    Expected result

    There is a row saying "Bill marked as received!".

    Actual result

    There is a row saying " marked as received!":

    2021-01-01 20-01-04 Ubuntu Mate 19 10 (Снимок 164)  Работает  - Oracle VM VirtualBox   2

    System information (Akaunting, PHP versions)

    Akaunting v2.1.0. PHP v7.4.

    Additional comments

    The same is for other statuses like cancelled, sent, and viewed. I suppose that the easiest way to fix this is to provide the type as the App\Events\Document\DocumentSent public field and then just use it in the listener:

    2021-01-01 20-18-45 Ubuntu Mate 19 10 (Снимок 164)  Работает  - Oracle VM VirtualBox   1

    I'm willing to work on a PR for this issue.

    opened by pavel-mironchik 9
  • Extremely slow with 10K customers

    Extremely slow with 10K customers

    Steps to reproduce the issue

    1. I've imported 10.000 customers.
    2. Creating Invoice, Revenues etc. for all modules Can't select customer from list it's extremly slow.
    3. Also typing any other input is very slow.

    Actual result

    image

    System information (Akaunting, PHP versions)

    https://app.akaunting.com Version 2.0.15

    Bug 
    opened by fatihalp 9
  • migrate error newest version

    migrate error newest version

    Akaunting version

    latest

    PHP version

    8.1

    Operating system

    ubuntu 20.04

    Steps to reproduce

    i try install but when install i got the error when migrate

    Expected result

    all of migrate must be done

    Actual result

    image

    Additional comments

    No response

    Relevant log output

    No response

    opened by manhtien465 0
  • Issue with  Reconciliations

    Issue with Reconciliations

    Akaunting version

    3.0.7

    PHP version

    8.1.11

    Operating system

    ubuntu 20.04

    Steps to reproduce

    Hi Currently have configured in docker, when we create the first Reconciliations then save to draft. and then want to edit im getting the 500 internal error

    Expected result

    able to let me do reconciliations

    Actual result

    Uncaught TypeError: mainContent is null
        Layout https://domain.com/2/banking/reconciliations/3/edit:154
        <anonymous> https://domain.com/2/banking/reconciliations/3/edit:425
    
    

    Additional comments

    No response

    Relevant log output

    No response

    opened by killmasta93 0
  • Bugs Found on Discount

    Bugs Found on Discount

    Akaunting version

    3.0

    PHP version

    based on the current latest version hosted

    Operating system

    window 10

    Steps to reproduce

    image

    • create invoice and select for Discount by amount for total bill
    • for e.g amount is 3,400
    • after save invoice image
    • above value is none expected figure.
    • total extra 1 sen
    • individual item got discounted
    • and discount by value become by %.

    Once click edit , all discount value changes image

    Expected result

    image Expected result refer green highlighted

    • [ ] discount a total amount fix amount , do not need to change to %

    • [ ] discount do not need for individual item, as sales wise, we do not have this practice to share with customer the discount of individual item.

    • [ ] discounted value shouldn't have any cents, as it is a whole value discount.

    • [ ] when click edit, the amount should not change automatically.

    Actual result

    refer expected result

    Additional comments

    none

    Relevant log output

    none
    
    opened by otakuventure 0
  • Payment Method selection not listing offline payments

    Payment Method selection not listing offline payments

    Akaunting version

    3.0.9

    PHP version

    8.0.25

    Operating system

    Ubuntu 18.04

    Steps to reproduce

    Create new Expense

    Expected result

    The Payment Method selections should list "Cash" and "Bank Transfer"

    Actual result

    image

    Here's when i try to edit the other transaction which is using Bank Transfer image

    Additional comments

    Previously it's working fine, idk why this happens suddenly

    My offline payments settings: image

    Relevant log output

    [2022-11-21 17:25:59] production.ERROR: Attempted to lazy load [currency] on model [App\Models\Banking\Account]. {"userId":2,"exception":"[object] (Exception(code: 0): Attempted to lazy load [currency] on model [App\\Models\\Banking\\Account]. at /var/www/acct.runes.asia/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:677)
    [stacktrace]
    
    opened by raflymln 0
  • Postgres Object Creation Rules

    Postgres Object Creation Rules

    Akaunting version

    3.0.8

    PHP version

    8.1.12

    Operating system

    docker-compose on Arch Linux

    Steps to reproduce

    #!/bin/bash
    
    # Get the akaunting docker repo, which builds a docker image with
    # akaunting downloaded from https://akaunting.com/download.php?version=latest
    git pull https://github.com/akaunting/docker.git
    
    # Replace the mysql drivers with postgres in the docker image
    sed -i 's/pdo_mysql/pdo_pgsql/' Dockerfile
    
    # Use a postgres image instead of mariadb for the database container
    sed -i 's/mariadb/postgres:latest/' docker-compose.yml
    
    # Set environment variables for the database container
    cat << __EOF > env/db.env
    POSTGRES_USER=akaunting
    POSTGRES_DB=akaunting
    POSTGRES_PASSWORD=password
    __EOF
    
    # Set matching environment variables in the app container
    cp env/run.env.example env/run.env
    echo << __EOF >> env/run.env
    DB_CONNECTION=pgsql
    DB_DATABASE=akaunting
    DB_USERNAME=akaunting
    DB_PORT=5432
    __EOF
    
    # Start the containers and go into setup
    AKAUNTING_SETUP=true docker-compose up
    

    Go to the browser and log in with [email protected] and password, or whatever is set in env/run.env

    Try to create some extra currencies or Customers

    Expected result

    Currencies and Customers are created as expected, with no errors thrown.

    Actual result

    I've seen a related issue (https://github.com/akaunting/akaunting/issues/865) and a merged Pull Request (https://github.com/akaunting/akaunting/pull/1994) relating to errors that I am currently experiencing, such as the following:-

    akaunting-db-1      | 2022-11-01 21:57:17.642 UTC [1197] ERROR:  invalid input syntax for type integer: ""
    akaunting-db-1      | 2022-11-01 21:57:17.642 UTC [1197] CONTEXT:  unnamed portal parameter $2 = ''
    akaunting-db-1      | 2022-11-01 21:57:17.642 UTC [1197] STATEMENT:  select count(*) as aggregate from "users" where "email" = $1 and "id" <> $2 and "deleted_at" is null
    

    The Modal window for Customer creation doesn't close and the Customer isn't actually created.

    Additional comments

    This was fixed in the case of Documents, by https://github.com/akaunting/akaunting/pull/1994. However, this doesn't fix the issue for Currencies (https://github.com/akaunting/akaunting/issues/865) or Customers (what I am experiencing now).

    I've attached a diff where I think this particular type of issue can be fixed in various app/Http/Requests modules. However, to be honest I'm not entirely sure whether just changing $id = null to $id = 0 is the best thing to do.

    In the case of app/Http/Requests/Auth/User.php, what is the email Rule actually trying to accomplish? From the error message, it looks to constructs the following SQL query:-

    select count(*) as aggregate from "contacts" where "email" = [email protected] and "id" <> and "deleted_at" is null

    Why would id be null anyway, when it's a non-nullable, incremental field?

    Further, where is the syntax for that unique rule documented? The laravel docs don't seem to describe all those extra, comma-separated arguments?

    Could the better-documented and more expressive Rule syntax be used instead?

    e.g. in app/Http/Requests/Auth/User.php, instead of:- $email .= '|unique:users,email,' . $id . ',id,deleted_at,NULL';

    The rule might be:- $email .= Rule::unique('users', 'email')->whereNull('deleted_at');

    I'm not sure this does everything the current string does though, as am not sure what the $id,id part is trying to achieve?

    postgres.txt

    Relevant log output

    No response

    opened by alexleach 0
Releases(3.0.11)
Owner
Akaunting
Free and online accounting software. Manage your money. Get invoices paid. Track expenses.
Akaunting
Deployer is a free and open source deployment tool.

Deployer Deployer is a PHP Application deployment system powered by Laravel 6.0, written & maintained by Stephen Ball. Check out the releases, license

Stephen Ball 886 Dec 15, 2022
A free open source IT asset/license management system

Snipe-IT - Open Source Asset Management System This is a FOSS project for asset management in IT Operations. Knowing who has which laptop, when it was

snipe 7.2k Jan 7, 2023
Invoices, Expenses and Tasks built with Laravel and Flutter

Invoice Ninja Hosted | Self-Hosted We're on Slack, join us at slack.invoiceninja.com or if you like StackOverflow Just make sure to add the invoice-ni

Invoice Ninja 6.8k Jan 9, 2023
Attendize is an open-source ticket selling and event management platform built on Laravel.

Attendize is an open-source ticketing and event management application built using the Laravel PHP framework. Attendize allows event organisers to sel

Attendize 3.6k Jan 6, 2023
Vuedo is a blog platform, built with Laravel and Vue.js.

Vuedo What is Vuedo? Vuedo is an open source project built with Laravel and Vue.js. It is a live example of how everything works together. Interested

vuedo 2.3k Dec 24, 2022
Personal CRM. Remember everything about your friends, family and business relationships.

Personal Relationship Manager Monica is a great open source personal relationship management system. Introduction Purpose Features Who is it for? What

Monica 18.5k Jan 2, 2023
"Student Management System (SMS) is a solution tool that is designed to track, maintain and manage all the data generated by a School, including the grades of a student.

STUDENT-MANAGEMENT-SYSTEM "Student Management System" (SMS) is a solution tool that is designed to track, maintain and manage all the data generated b

SAMBIT RAJ 13 Aug 21, 2021
HLedger is cross-platform accounting software for both power users and folks new to accounting

HLedger Plain Text Accounting on Nextcloud HLedger is cross-platform accounting software for both power users and folks new to accounting. It's good f

Ryan Boder 11 Jan 20, 2022
Akaunting is a free, open source and online accounting software designed for small businesses and freelancers

Akaunting is a free, open source and online accounting software designed for small businesses and freelancers

jahidul alam mishuk 1 Jan 9, 2022
Free and Online Accounting Software

Akaunting™ Akaunting is a free, open source and online accounting software designed for small businesses and freelancers. It is built with modern tech

Akaunting 5.8k Dec 27, 2022
eMarket Online Store. It is a free online store engine. Make the best online shop with us.

eMarket Online Store. It is a free online store engine. Make the best online shop with us. Join our Open Source community. Together we will make the best free e-commerce solution.

Alexander 54 Oct 22, 2022
A free and open-source accounting and production system for businesses and non-profits with support for multiple users and varied integrations

A free and open-source accounting and production system for businesses and non-profits with support for multiple users and varied integrations.

null 3 Sep 22, 2022
An eCommerce website is an online store where you can buy or sell products online. An eCommerce offers a professional online store builder that helps you launch your eCommerce business quickly and successfully.

An eCOMMERCE-SITE An eCommerce website is an online store where you can buy or sell products online. An eCommerce offers a professional online store b

UTTKARSH PARMAR 2 Aug 8, 2022
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

kuaifan 3k Jan 5, 2023
GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking and software auditing.

GLPI stands for Gestionnaire Libre de Parc Informatique is a Free Asset and IT Management Software package, that provides ITIL Service Desk features, licenses tracking and software auditing.

GLPI 2.9k Jan 2, 2023
AbanteCart is a free PHP based eCommerce solution for merchants to provide ability creating online business and sell products online quick and efficient.

AbanteCart is a free PHP based eCommerce solution for merchants to provide ability creating online business and sell products online quick and efficient. AbanteCart application is built and supported by experienced enthusiasts that are passionate about their work and contribution to rapidly evolving eCommerce industry. AbanteCart is more than just a shopping cart, it is rapidly growing eCommerce platform

AbanteCart 129 Nov 15, 2022
Lakasir is a free, open source and online Point Of Sale Software designed for small shop or retail

Lakasir is a free, open source and online Point Of Sale Software designed for small shop or retail. It is built with modern technologies such as Laravel, VueJS, Bootstrap 4, RESTful API etc.

Lakasir 234 Dec 31, 2022
All the basic features of accounting sotware

Anzarkhan.com Invoice Anzarkhan.com Invoice is an open source accounting and invoicing solution built with PHP. For more information, visit http://www

Anzar Khan 7 Jul 1, 2022
PHP library for Mexican SAT Electronic Accounting 1.3

phpcfdi/ceutils Librería de PHP para trabajar con contabilidad electrónica. ???? The documentation of this project is in spanish as this is the natura

phpCfdi 8 Jul 18, 2022
A high-performance license server system service for creating and managing products, major versions, and software licenses for the purpose of selling installable software products.

A high-performance license server system service for creating and managing products, major versions, and software licenses for the purpose of selling installable software products. Comes with a SDK and command-line tool. Works anywhere that PHP runs.

CubicleSoft 32 Dec 5, 2022