Commit Graph

1667 Commits

Author SHA1 Message Date
Darko Gjorgjijoski
9afd4011a6 New translations en.json (Hindi) 2026-02-25 12:16:09 +01:00
Corey Salzano
01528d9ebe Fix wrong customer names on invoice list page 2+
On the invoices list, when viewing page 2 or later, customer names in the
table could be wrong—opening an invoice showed a different customer than
the one displayed in that row.

Ensure we only apply API responses that match the currently requested page.
This prevents stale or out-of-order responses from overwriting the displayed
data. Also use row id as v-for key for correct Vue reconciliation.
2026-02-16 11:57:36 -05:00
Darko Gjorgjijoski
d20f1aa105 New Crowdin updates (#539)
* Update source file en.json

* New translations en.json (Slovak)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Arabic)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Georgian)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Slovenian)

* New translations en.json (Albanian)

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Bengali)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* New translations en.json (Estonian)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Swahili)

* New translations en.json (Serbian (Latin))

* Update source file en.json
2026-02-08 17:34:06 +01:00
Abdulrazzaq Alhendi
65d1fdd3f0 feat(mail): add CC and BCC fields to email requests and forms (#466)
* feat(mail): add CC and BCC fields to email requests and forms

* chore: fmt
2026-02-06 01:59:38 +01:00
Darko Gjorgjijoski
796f6f364a New Crowdin updates (#481)
* New translations en.json (Norwegian)

* New translations en.json (Croatian)

* New translations en.json (French)

* New translations en.json (Arabic)

* New translations en.json (Dutch)

* New translations en.json (Dutch)

* New translations en.json (Dutch)

* New translations en.json (Chinese Simplified)

* New translations en.json (Dutch)

* New translations en.json (Spanish)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (Romanian)

* New translations en.json (Dutch)

* New translations en.json (Romanian)

* New translations en.json (Romanian)

* New translations en.json (Swedish)

* New translations en.json (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.json (Slovenian)

* New translations en.json (Slovenian)

* New translations en.json (Italian)

* New translations en.json (Bengali)

* New translations en.json (Slovak)
2026-02-06 01:53:49 +01:00
Radoš
61b345d473 chore: lang - cs.json (#490)
Wrong translation for tax_id
2026-02-06 01:44:03 +01:00
Darko Gjorgjijoski
a30b2e751b Pin PHP version to 8.4 in development Dockerfile 2026-02-06 00:57:13 +01:00
Devstack
af205acb75 Fix aggregates for customers using withSum() (SQL-portable, no DB mode tweaks) (#486)
* Update CustomersController.php

Fix: replace GROUP BY + SUM join with withSum() to avoid ONLY_FULL_GROUP_BY; no API changes (same aliases)

* Update CustomersController.php

style: apply Laravel Pint formatting
2026-01-01 22:43:52 +01:00
Ahmed Ashraf
24546aea3c New currency: Qatari Riyal (#476)
* add qatari riyal currency to migration and seeder

* run pint
2026-01-01 17:50:31 +01:00
Darko
935fe06f9e Bump version 2025-09-19 15:50:54 +02:00
Darko Gjorgjijoski
18d63a3375 Configurations cleanup & database configurations for mail and pdfs (#479)
* Move Mail, PDF configuration to Database, standardize configurations

* Set default currency to USD on install

* Pint code
2025-09-19 15:42:53 +02:00
Darko Gjorgjijoski
3da86965e1 New Crowdin updates (#454)
* New translations en.json (French)

* New translations en.json (Norwegian)

* New translations en.json (Norwegian)

* New translations en.json (Norwegian)

* New translations en.json (Norwegian)

* New translations en.json (Norwegian)

* New translations en.json (Norwegian)

* New translations en.json (Italian)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Arabic)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Japanese)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Danish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Georgian)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Serbian (Latin))

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Bengali)

* New translations en.json (Estonian)

* New translations en.json (Malay)

* New translations en.json (Swahili)

* New translations en.json (Portuguese)

* New translations en.json (Albanian)

* Update source file en.json
2025-09-13 16:42:20 +02:00
Darko Gjorgjijoski
5aa54dbd86 Fix docker asset url (#472) 2025-09-08 17:52:33 +02:00
Darko Gjorgjijoski
58b262fe32 Fix path to sqlite.empty.db in setup script 2025-09-08 14:19:59 +02:00
lupus
f8c4e63b3f Fix: broken file links for development files (#469)
* FIx broken file links for development files

* Fix: Compose Files Context / Paths / Networks
2025-09-07 14:16:39 +02:00
Darko Gjorgjijoski
78dfdbe162 Devenv subcommands for test / format (#462)
* Add devenv subcommands for test / format

* Rename dev-env-config to devenvconfig for consitency sake
2025-09-02 03:32:21 +02:00
Darko Gjorgjijoski
770da45dbf Production docker improvements (#463)
* Update production dockerfiles for testing

* Add bash, nano and remove unecessary sqlite3 alpine package
2025-09-02 03:27:26 +02:00
Christos Yiakoumettis
3e96297699 Add expense number at Expenses (#406)
* add expense number at expenses

* Re-order expense fields

* Rename expense_number migration

* Add expense_number to tests

---------

Co-authored-by: Darko Gjorgjijoski <dg@darkog.com>
2025-09-02 03:20:27 +02:00
Rihards Simanovičs
f3e49d3044 Temperately hide modules tab while Module Management is developed (#443)
* fix(navigation): temperately hide modules tab while Module Management is developed

* chore run pint
2025-09-02 01:30:53 +02:00
Darko Gjorgjijoski
05ab78942c Update JS dependencies 2025-09-01 20:58:43 +02:00
Rihards Simanovičs
827436af15 chore: Ignore devcontainer dir (#460) 2025-09-01 13:00:38 +02:00
Darko Gjorgjijoski
233d3cb989 Update readme.md 2025-09-01 12:07:15 +02:00
Darko Gjorgjijoski
8842d6a626 Development Environment (#459)
* Fix SQLite docker build related issues

* Add devenv for development
2025-09-01 11:47:58 +02:00
Darko Gjorgjijoski
f1635bcef8 Fix SQLite docker build related issues (#458) 2025-09-01 02:42:07 +02:00
Darko Gjorgjijoski
3d327a1735 Add SQLite command line utility to docker images 2025-08-31 21:35:15 +02:00
Darko Gjorgjijoski
a6ce294497 Update sqlite path 2025-08-31 20:57:45 +02:00
Darko Gjorgjijoski
1998d15b25 Fix repository name 2025-08-31 16:18:29 +02:00
Darko Gjorgjijoski
f47b6d51f2 GitHub Actions Tweaks (#457)
* Remove PHP 8.2 from tests

* Fix docker hub repository name

* Improve action labels

* Ignore .github folder from check CI
2025-08-31 16:13:18 +02:00
Darko Gjorgjijoski
23f6b1877f 🚢 Simplified docker builds (#456)
* Simplify docker builds

* Ignore docker and frontend scripts from PHP related checks

* Update docker development setup
2025-08-31 15:07:22 +02:00
Darko Gjorgjijoski
3ed91545d1 Bump version 2025-08-31 03:27:33 +02:00
Calcen
c035c834d4 Fix: Weird gap in invoice items description (#439)
- Ensure invoice item display is block for better layout. 
- Gets rid of the weird extra gap between last line and the line above it.
2025-08-31 03:23:58 +02:00
lupus
4f34ca783b Fix: Actually display company currency symbol / total receipts for customer charts (#453)
* Fix: Actually display company currency symbol for customer charts

Related to draft #403.
The mentioned pull request was incomplete, the current state would show amounts in base currency but not use the base/company currency symbols/notation. This change addresses the issue.

* Fix: Use totalReceipts for "Receipts" value
2025-08-31 03:13:16 +02:00
Darko Gjorgjijoski
bae8dbe083 Upgrade mail configuration (#455)
* Upgrade the mail configuration

* Update mail configuration to match Laravel 12

* Update mail configuration to properly set none or null

* Pint code

* Upgrade Symfony Mailers
2025-08-31 03:04:31 +02:00
Tim van Osch
d1bca362de chore: Improve .dev dockerfile for development and production (#183)
* chore: update dockerfile and dev env

* chore(dockerfile): fix user/group id args

* chore(docker): use php-fpm w/ separate nginx

* chore(docker): add nginx image w/ static files

* chore(docker): build vite resources only once, bump vite minor version,
add watch yarn command.
By using --buildplatform tag in the dockerfile we can have the vite step
be built only on the host platform, which significantly speeds it up.
This is possible since the build assets aren't platform dependant.

* Move dockerfiles to .dev
2025-08-31 00:46:56 +02:00
lupus
d5137e393d Fix: Use amounts in base currency for customer charts (#403)
Previously, the customer chart used the total/amount fields to calculate net profits/expenses/etc.
If the currency the expense (for example) was created in differed from the base currency of the company, the chart would display wrong amounts.
This change addresses the issue by always using the base currency field.
2025-08-30 12:30:49 +02:00
Darko Gjorgjijoski
20caf7ef5b Add missing mailgun-mailer package for Mailgun email driver (#452) 2025-08-30 12:14:20 +02:00
Fabio Ribeiro
e8e01a706e Fix: Create item with tax (ItemModal) (#385)
The issue was found during an Item creation inside the Invoice,
Estimates or Recurring Invoice, the same fix that was applied into the
Item creation view, now is needed into ItemModal. The root cause is that
price + tax returns an amount as float making the database fail.

Relates #377
2025-08-30 11:38:04 +02:00
Darko Gjorgjijoski
2f8c98003d Fix language file conflicts (#451) 2025-08-30 01:36:13 +02:00
Darko Gjorgjijoski
02701db815 New Crowdin updates (#368)
* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Turkish)

* New translations en.json (Indonesian)

* New translations en.json (Russian)

* New translations en.json (Arabic)

* New translations en.json (Bulgarian)

* New translations en.json (Czech)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Polish)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Swedish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Persian)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Serbian (Latin))

* New translations en.json (Indonesian)

* New translations en.json (Catalan)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Simplified)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (German)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Persian)

* New translations en.json (Slovak)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Indonesian)

* New translations en.json (Indonesian)

* New translations en.json (Indonesian)

* New translations en.json (Indonesian)

* New translations en.json (German)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Arabic)

* New translations en.json (German)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Slovenian)

* New translations en.json (Italian)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (Italian)

* New translations en.json (Italian)

* New translations en.json (Italian)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Arabic)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Japanese)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Serbian (Latin))

* Update source file en.json

* New translations en.json (Czech)

* New translations en.json (German)

* New translations en.json (Norwegian)

* New translations en.json (Croatian)

* New translations en.json (Danish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Georgian)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Bengali)

* New translations en.json (Estonian)

* New translations en.json (Malay)

* New translations en.json (Swahili)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Portuguese)

* New translations en.json (Albanian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Portuguese)

* New translations en.json (Chinese Simplified)
2025-08-30 01:24:36 +02:00
Darko Gjorgjijoski
b7f17f2d14 Add common languages (#448)
* Update languages

* Update language list
2025-08-28 15:35:10 +02:00
Honza Raclavský
cf1d5e7324 Fix deprecated i18n api (#398) 2025-08-28 15:28:42 +02:00
Darko Gjorgjijoski
a40bf5840d Dynamically load language files (#446) 2025-08-28 15:19:51 +02:00
Darko Gjorgjijoski
32f7bc053a New currencies: Paraguayan Guaraní, Algerian Dinar (#447)
* feat(currency): add Algerian Dinar (DZD) support (#395)

* Add Paraguayan Guarany (PYG) currency  (#434)

* Adding Paraguayan currency, closes #404

* Adding the currency to the seeder too

* If the data was already seeded, don't add the entry

* Pint

---------

Co-authored-by: Darko Gjorgjijoski <5760249+gdarko@users.noreply.github.com>

* Add DZD currency to the currencies seeder

---------

Co-authored-by: Polat İnceler <inceler.polat@gmail.com>
Co-authored-by: mchev <martin.chevignard@gmail.com>
2025-08-28 14:13:03 +02:00
Honza Raclavský
a006b07be5 fixed czech translates (#399) 2025-08-28 13:10:48 +02:00
Yes-Sebastian
a44303a370 Update de.json (#414)
Grammar in the German language is a bit tricky. The past tense has been corrected here.
2025-08-28 13:10:02 +02:00
Fabio Ribeiro
d69a56e2d5 feat: Tax included (#370)
* feat: Tax included

* Added a toggle switch in tax settings to enable the feature.
* Database migration adding tax_included field into estimates, invoices
  and recurring invoices table.
* Toggle switch to enable and store the tax_included by estimates,
  invoices and recurring invoices.
* In case of tax included enabled, total taxes will be recalculated and
  the invoices, estimates and recurring invoices total won't be sum with
  taxes.
* Apply tax included when discount_per_item/tax_per_item item is enabled.
* Custom component to show the net total when tax included is enabled.
* Update invoice and estimates pdfs with net total.

* chore: Tax included by default

A switch button inside the tax settings to enable the tax included by
default in invoices, estimates and recurring invoices.
2025-08-28 10:28:24 +02:00
Darko Gjorgjijoski
08e1bb2e22 Exclude .git directory from backups (#445)
* Exclude .git directory from backups

* Fix formatting
2025-08-28 10:02:06 +02:00
Darko Gjorgjijoski
29c15116bc Fix Adminer docker build (#444) 2025-08-28 10:01:50 +02:00
Loduis Madariaga Barrios
8e96d3e972 fix(csrf-token): add leading dot to session domain cookie. (#224)
* fix(csrf-token): add leading dot to session domain cookie.

* refactor: remove generate key, upgrade axios and keep session domain in null.

* refactor: fix PSR-12 code styles for PHP 8.2 compatibility.

---------

Co-authored-by: Darko Gjorgjijoski <5760249+gdarko@users.noreply.github.com>
2025-08-28 09:44:34 +02:00
Fabio Ribeiro
bf0d98c69c fix: Backup Job (#375)
Since `laravel-backup` major version was updated 8 to 9, the backup
ability was compromised, the main reason is the change on the method
contract from `BackupFactory` that now the `createFromArray` no longer
exists.
2025-06-11 23:23:19 +02:00