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
Fabio Ribeiro
73d4ac1eb1
fix: Payment confirmation error ( #376 )
...
Error caused when using Payments module, when try Stripe redirects back
to InvoiceShelf, and the module calls the InvoiceShelf `generatePayment`.
Relates #369
2025-06-11 22:56:56 +02:00
Leo
e832c7661a
Fix: Heroicons v1 leftovers ( #374 )
...
Change the getOrderBy's button.
Using Heroicons v2
Change the SortAscendingIcon to BarsArrowUpIcon
Change the SortDescendingIcon to BarsArrowDownIcon
2025-06-11 22:48:01 +02:00
Fabio Ribeiro
b962bc9227
fix: Create item with tax ( #377 )
...
When the `tax-per-item` is enabled and also has a tax added, during the
item creation, the price + tax returns an amount as float making the
database fail. To fix this was necessary to round the result.
2025-05-22 10:48:34 +02:00
mchev
6d14dce668
Improving github workflow ( #278 )
...
* Improving workflow, updating dependencies and test pint with PHP 8.3, adding php 8.4 on tests
* Fix cache issue
* Not caching since it is not working
2025-05-04 15:22:43 +02:00
mchev
1ff220f0d8
Upgrading to Laravel 12 ( #346 )
...
* Upgrading to Laravel 12
* Upgrade lockfile
* Keep the old local filesystem driver base path
---------
Co-authored-by: Darko Gjorgjijoski <5760249+gdarko@users.noreply.github.com >
Co-authored-by: Darko Gjorgjijoski <dg@darkog.com >
2025-05-04 11:04:01 +02:00
Darko Gjorgjijoski
2e77a76c7b
New Crowdin updates ( #345 )
...
* New translations en.json (Portuguese, Brazilian)
* Update source file en.json
* New translations en.json (Czech)
* New translations en.json (Indonesian)
* New translations en.json (Lithuanian)
* New translations en.json (Portuguese, Brazilian)
* 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 (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 (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 Traditional)
* New translations en.json (Vietnamese)
* 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 (Serbian (Latin))
* New translations en.json (Ukrainian)
* New translations en.json (Ukrainian)
* New translations en.json (Ukrainian)
* New translations en.json (Ukrainian)
* New translations en.json (Ukrainian)
* New translations en.json (Ukrainian)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Turkish)
* New translations en.json (Romanian)
* New translations en.json (Indonesian)
* New translations en.json (Russian)
* New translations en.json (Turkish)
* New translations en.json (Romanian)
* New translations en.json (Indonesian)
* New translations en.json (Russian)
* New translations en.json (French)
* New translations en.json (Spanish)
* 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))
* Update source file en.json
* New translations en.json (Turkish)
* New translations en.json (Romanian)
* New translations en.json (Indonesian)
* New translations en.json (Russian)
* New translations en.json (French)
* New translations en.json (Spanish)
* 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))
2025-05-04 02:50:56 +02:00
mchev
bf5b544ca3
Adding Flat Tax support with fixed amount ( #253 )
...
* Possibility to set a fixed amount on tax types settings
* Pint and manage flat taxes on items
* Fix display errors and handle global taxes
* Tests
* Pint with PHP 8.2 cause with PHP 8.3 version it cause workflow error
* Merging percent and fixed amount into one column
* Now display the currency on SelectTaxPopup on fixed taxes
2025-05-04 02:24:56 +02:00
Darko Gjorgjijoski
546f75d3a6
Pint updated files ( #367 )
2025-05-04 02:23:51 +02:00
Tim van Osch
bf40f792c2
Feat(Gotenberg): Opt-in alternative pdf generation for modern CSS ( #184 )
...
* WIP(gotenberg): add pdf generation abstraction and UI
* feat(pdf): settings validate(clien+server) & save
* fix(gotenberg): Use correct default papersize
chore(gotengberg): Remove unused GOTENBERG_MARGINS env from .env
* style(gotenberg): fix linter/styling issues
* fix(pdf): use pdf config policy
* fix: revert accidental capitalization in mail config vue
* Update composer, remove whitespace typo
* Fix small typos
* fix cookie/env issue
* Add gotenberg to .dev, move admin menu item up
2025-05-04 02:10:15 +02:00
Fabio Ribeiro
8a9392e400
Fix: AWS SES Mailer ( #365 )
...
As reported on issue #357 , the aws ses configuration was not able to
store because of the missing `ses` service config. Additionally was
added a `AWS Region` field to be used by the `ses`.
closes #357
2025-05-02 11:16:31 +02:00
mchev
14bfaff30b
Fix security alert on axios 0.29 ( #347 )
2025-05-02 10:49:16 +02:00
Yannic Inselmann
b32c334a71
feat: default notes ( #263 )
...
* feat: default notes
* feat: include default invoice note in recurring invoice
* feat: use default export in tw config
* fix: test and naming
* fix: consistent ui for switch in note modal
* feat: little text improvements
2025-04-05 12:01:06 +02:00
mchev
2aa17513e1
Check version number on version.md file ( #280 )
2025-04-05 10:16:23 +02:00
mchev
ba243b28a9
Upgrade to Heroicons v2 ( #281 )
2025-04-05 02:11:12 +02:00
mchev
1bb65f420c
Fix negative values on item price ( #335 )
...
* Fix negative values on item price
* Remove console log
2025-04-05 00:43:34 +02:00
Darko Gjorgjijoski
23a99758d2
New Crowdin updates ( #308 )
...
* New translations en.json (Chinese Traditional)
* New translations en.json (Czech)
* New translations en.json (Slovak)
* New translations en.json (Czech)
* New translations en.json (Czech)
* New translations en.json (French)
* New translations en.json (Czech)
* New translations en.json (Romanian)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* New translations en.json (Bulgarian)
* New translations en.json (German)
* New translations en.json (Greek)
* New translations en.json (Indonesian)
* New translations en.json (Chinese Traditional)
* New translations en.json (Slovak)
* 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 (Russian)
* New translations en.json (Slovenian)
* New translations en.json (Swedish)
* New translations en.json (Turkish)
* New translations en.json (Ukrainian)
* 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))
* Update source file en.json
* New translations en.json (Spanish)
* New translations en.json (Japanese)
* New translations en.json (Polish)
* New translations en.json (Romanian)
* New translations en.json (Chinese Traditional)
* New translations en.json (Chinese Traditional)
* New translations en.json (Macedonian)
* New translations en.json (Indonesian)
* New translations en.json (Russian)
* New translations en.json (Russian)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Russian)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Russian)
* New translations en.json (Russian)
* New translations en.json (Swedish)
* New translations en.json (Arabic)
* New translations en.json (Czech)
* New translations en.json (Indonesian)
* New translations en.json (Indonesian)
* New translations en.json (Lithuanian)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Czech)
* New translations en.json (Indonesian)
* New translations en.json (Lithuanian)
* New translations en.json (Portuguese, Brazilian)
* 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 (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 (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 Traditional)
* New translations en.json (Vietnamese)
* 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 (Spanish)
2025-04-05 00:42:24 +02:00
Rihards Simanovičs
139f8e2d13
Update Github issuepr templates ( #341 )
...
* chore(github): update bug report template
* chore(github): update feature request template
* chore(github): update code quality template
* chore(github): update issue selection menu config
* chore(github): update PR template
* chore(github): update PR template typo
* chore(github): remove one checklist item from PR template
* chore(github): update bug report to add a Docker check
* chore(github): update template formatting and links
* chore(github): final spell and grammar check of all issues and PR templates
2025-04-04 11:57:07 +02:00
Vid Čufar
ac1a582ecf
fix: capitalise 'date' in PDF invoice due date label ( #320 )
2025-04-04 11:42:24 +02:00
mchev
6b168f36ec
[HOTFIX] Customers names on table list issue #210 ( #310 )
...
* Fix customer dropdown
* Fix #250
2025-02-17 12:11:10 +01:00
Rihards Simanovičs
50b647e26e
Merge pull request #318 from Pureball/translation
...
fix: en translation spelling
2025-02-17 10:45:46 +00:00
Pureball
57776b7c7d
fix: en translation spelling
2025-02-17 10:40:38 +01:00
Darko Gjorgjijoski
8c343b4b92
New Crowdin updates ( #304 )
...
* New translations en.json (Spanish)
* New translations en.json (French)
* New translations en.json (Indonesian)
* New translations en.json (Indonesian)
2.1.1
2025-02-05 11:10:06 +01:00
Darko Gjorgjijoski
a60cac3e66
Update version.md
2025-02-05 11:04:44 +01:00
mchev
6a0d3a3bcc
Fix customer dropdown ( #307 )
2025-02-05 11:04:17 +01:00
Darko Gjorgjijoski
3e52b84fa8
New Crowdin updates ( #279 )
...
* New translations en.json (Japanese)
* New translations en.json (Japanese)
* New translations en.json (Japanese)
* New translations en.json (Spanish)
* New translations en.json (Indonesian)
* New translations en.json (Indonesian)
* New translations en.json (Indonesian)
* New translations en.json (Japanese)
* New translations en.json (Japanese)
* New translations en.json (German)
* New translations en.json (Japanese)
* New translations en.json (Japanese)
* New translations en.json (Japanese)
2.1.0
2025-02-01 10:41:49 +01:00
Darko Gjorgjijoski
d1f45a790b
Bump version
2025-02-01 10:41:19 +01:00
Darko Gjorgjijoski
bec0c058a8
Bump version
2.1.0-RC1
2025-01-13 02:14:23 +01:00
Darko Gjorgjijoski
d862ee05e9
Refactor Custom Invoice/Estimate PDF Templates ( #277 )
...
* Add utility class for managing templates
* Register custom pdf template views location
* Update the make:template command to make use of PdfTemplateUtils
* Update PDF invoice/estimate template controllers
* Register pdf_templates filesystem disk
* Remove unused leftovers
* Reformat with pint
2025-01-13 01:20:13 +01:00