Commit Graph

5157 Commits

Author SHA1 Message Date
David Bomba 976436d961 Project reports 2025-03-24 15:03:44 +11:00
David Bomba e4344e0c31 Fixes for reversals 2025-03-23 14:58:41 +11:00
David Bomba 503f180094 Updates for nordigen 429 errors 2025-03-22 11:23:54 +11:00
David Bomba 71d1d33cb3 Quickbooks quote mapper columns 2025-03-21 14:41:41 +11:00
David Bomba 8912ad63ba Updates for 2fa 2025-03-20 10:13:37 +11:00
David Bomba 3b73c4bb05 Fixes for upcoming and past due invoice queries 2025-03-19 11:03:50 +11:00
David Bomba 9e73353f20 Improvements for client filtering by name 2025-03-19 08:38:37 +11:00
David Bomba 812da5775e
Merge pull request #10765 from cnohall/make-health-checkup-return-string
Feature: Make health checkup return string
2025-03-18 11:23:45 +11:00
David Bomba bd03e8969c Minor updates for gateway status 2025-03-18 11:23:30 +11:00
David Bomba 7f04c0e60b adjustmenst for new lines in markdown 2025-03-15 07:14:41 +11:00
cnohall be95286690 Init 2025-03-13 09:02:40 +09:00
David Bomba 1483f089ce Checks for props 2025-03-12 06:11:39 +11:00
David Bomba 5469cff42c Add time limits for client statements 2025-03-11 18:16:58 +11:00
David Bomba 66491dadc9 Fixes for elastic search 2025-03-11 15:24:34 +11:00
David Bomba 890e5904e1 Add trim for search text 2025-03-11 07:30:11 +11:00
David Bomba 7ee23e43ec fixes for checks on currency id 2025-03-11 06:01:17 +11:00
David Bomba 00eb24b3a2 adjustments for bank integration props 2025-03-10 18:03:50 +11:00
David Bomba 99342b1b88 Client / Invoice query updates to include trashed records 2025-03-09 10:41:47 +11:00
David Bomba 68bfd04d8f Upgrade for iDeal 2.0 2025-03-08 10:33:34 +11:00
David Bomba 495ca53354 Update disable upstream 2025-03-07 12:37:33 +11:00
David Bomba 0cfe686fe4 Additional checks for nordigen expired 2025-03-07 12:33:59 +11:00
David Bomba 1be2f10daf roll back to .tar 2025-03-05 17:01:05 +11:00
David Bomba 707471b374 Fixes for Yodlee reconnects 2025-03-05 16:10:33 +11:00
David Bomba 66f05e9755 v5.11.51 2025-03-05 08:26:09 +11:00
David Bomba 765c09d906 Fixes for white label license 2025-03-05 08:25:11 +11:00
David Bomba a7558f0eff Fixes for purchase order templates 2025-03-03 13:46:24 +11:00
David Bomba 483179f1b6 Triggered actions for company 2025-03-03 07:23:49 +11:00
David Bomba e7c8d729f5 Updates for locations 2025-03-01 07:39:21 +11:00
David Bomba 2bebfb0b85 locations for openapi docs 2025-02-26 21:12:47 +11:00
David Bomba 2a642c1d8d Fixes for typo 2025-02-26 20:56:47 +11:00
David Bomba 78d30eaf55 Fixes for typo 2025-02-26 20:49:00 +11:00
David Bomba 55842ed966 Add ability to disable users emailing 2025-02-26 20:45:31 +11:00
David Bomba a2a37a8f60 Refactor for adding additional locations for clients 2025-02-25 09:42:45 +11:00
David Bomba 8f6eb0ffa4 Fixes for static analysis 2025-02-25 07:31:40 +11:00
David Bomba 8b7d64e1ca Update fillables for location_id 2025-02-21 13:48:00 +11:00
David Bomba c7bad23909 Add locations to mini/first load 2025-02-21 13:28:47 +11:00
David Bomba 0265bc1603 Locations 2025-02-21 10:33:41 +11:00
David Bomba c30f3e1ebb Working on QBBackups 2025-02-18 16:42:04 +11:00
David Bomba 192126a7b2 Adjustments for tests 2025-02-17 16:18:17 +11:00
David Bomba 780dda4957 Updated copyright doc blocks 2025-02-17 11:11:38 +11:00
David Bomba b26a7ed2ca e_invoice column for recurring 2025-02-17 09:59:50 +11:00
David Bomba d91c0c096e Updates for Invoice Period 2025-02-17 08:29:59 +11:00
David Bomba 6215fca188 Tests for einvoice validation at invoice level 2025-02-16 18:05:30 +11:00
David Bomba 540e40348c Update spam domains 2025-02-16 06:01:26 +11:00
David Bomba 8e32f2abe3 Allow chunking of file uploads 2025-02-15 15:26:44 +11:00
David Bomba 75b4c0a165 Add option to allow or disable profile updates 2025-02-14 07:40:43 +11:00
David Bomba 6862829832 Minor updates for einvoicetokencontroller 2025-02-13 08:35:09 +11:00
David Bomba 5f06bc3f6a v5.11.39 2025-02-12 10:22:07 +11:00
David Bomba 243f651533 minor cleanup 2025-02-12 06:45:02 +11:00
David Bomba c69af63ebf minor cleanup 2025-02-12 06:43:24 +11:00
David Bomba 532d8a6e2a QB imports 2025-02-11 13:33:03 +11:00
David Bomba 1876477346 Updates for quickbooks 2025-02-10 13:19:41 +11:00
David Bomba b9801cd802 Adjust returned error for email verified 2025-02-10 11:11:21 +11:00
David Bomba 3dd9e36997 Updates for designs 2025-02-05 15:52:39 +11:00
David Bomba fb293c0a14 Fixes for designs 2025-02-05 11:24:20 +11:00
David Bomba fd28457f13 Allow client postmark webhooks 2025-02-04 11:40:46 +11:00
David Bomba 26e0e702d6 Set default for session timeout if less than zero 2025-02-04 10:55:48 +11:00
David Bomba 2822c6e293 Improvements for bulk update requests 2025-02-03 16:43:22 +11:00
David Bomba 0d3951e9f0 Recurring bulk update rules 2025-02-03 15:38:06 +11:00
David Bomba 6da33ea7fe Improvements for clean design 2025-02-02 11:24:36 +11:00
David Bomba 5d62aca49e Adjustments for last login 2025-02-01 10:18:28 +11:00
David Bomba ac1f2c21f3 Add optional redirection after an invoice payment 2025-01-31 10:06:18 +11:00
David Bomba 9b8fc10823 Gocardless oauth webhooks 2025-01-29 12:55:20 +11:00
David Bomba 4c77278b1d Remove redundant pdf generator 2025-01-28 22:45:30 +11:00
David Bomba 5fccf7f359 Remove redundant pdf generator 2025-01-28 22:16:36 +11:00
David Bomba 2f5d01c6af Remove redundant pdf generator 2025-01-28 17:39:04 +11:00
David Bomba 4fe7b44c51 Remove redundant pdf generator 2025-01-28 17:28:15 +11:00
David Bomba cffb77fe36 Remove redundant pdf generator 2025-01-28 16:29:32 +11:00
David Bomba a4686ca234 Remove redundant pdf generator 2025-01-28 15:28:46 +11:00
David Bomba c5e8fc9ed2 Remove redundant pdf generator 2025-01-28 14:56:16 +11:00
David Bomba aea0236068 Update a new payment method as default if current default is deleted 2025-01-27 15:02:54 +11:00
David Bomba 9d728af8d6 Updates for artisan call name 2025-01-26 09:43:27 +11:00
David Bomba 2db3c45c81 Add net_cost to templates 2025-01-23 08:54:33 +11:00
David Bomba bf8dffd9b5 Batch print queues for faster rendering of Print PDF 2025-01-22 18:30:21 +11:00
David Bomba 8ffbb54e3b Updates for NordigenController 2025-01-22 17:22:31 +11:00
David Bomba cdb8bfef73 Fixes for continue inside a finally block 2025-01-22 13:51:31 +11:00
David Bomba b66ffbcd8f Changes for gocardless verification requirements 2025-01-22 11:19:09 +11:00
David Bomba b96d69933a Fixes for session invalidation 2025-01-21 16:42:50 +11:00
David Bomba 0283fe9193 Minor fixes for trial starts 2025-01-21 16:26:22 +11:00
David Bomba 45fe5da683 Fixes for static analysis 2025-01-20 09:52:53 +11:00
David Bomba e9fa48af00 Prevent apple signups due to no email address provision 2025-01-20 09:48:27 +11:00
David Bomba 72c35b9031
Merge pull request #10526 from dshoreman/ds/nordigen-tx-days
Nordigen custom agreements
2025-01-20 09:44:20 +11:00
David Bomba 3d80032d69 Minor changes for user verification emails 2025-01-19 17:13:30 +11:00
David Bomba 2befc2338f Add checks for existing VAT number on the network 2025-01-17 14:19:22 +11:00
David Bomba be7fb9eb10
Merge branch 'v5-develop' into v5-develop
Signed-off-by: David Bomba <turbo124@gmail.com>
2025-01-16 15:28:34 +11:00
David Bomba 20f4d64aca Updates for bulk emails 2025-01-15 20:32:52 +11:00
David Bomba ea3f6f149d minor fixes 2025-01-15 20:03:19 +11:00
David Bomba dc033ae7e9 Fixes for mailable logging 2025-01-15 18:15:34 +11:00
David Bomba cd7866ed8a Fixes for removing reactivate email 2025-01-15 15:51:34 +11:00
David Bomba 132f053b02 Always update designs post self update 2025-01-15 12:11:49 +11:00
David Bomba bd6540992a Minor cleanup for session state 2025-01-15 11:47:40 +11:00
David Bomba 7574af6c3a
Merge pull request #10525 from beganovich/INV2-1776
E-invoicing: Healthchecks & regenerating tokens
2025-01-14 18:40:21 +11:00
Dave Shoreman 684ba39f65
Show history selection screen instead of guessing
Removes all the guesswork for requisition renewals, instead opting for
the manual approach of simply redirecting to the form and updating its
handling such that it jumps straight to history selection when needed.

When the institution is preloaded (so we skip country/bank selection)
the cloned element is a country and not the bank so we need to replace
athe flag with its logo, but otherwise the code was all moved as-is.
2025-01-13 19:40:39 +00:00
Dave Shoreman 51760ef563
Support setting custom Nordigen access duration
If agreements are already available and no custom `access_days` is
passed, it will simply take the first match regardless of duration.

When a new agreement is needed, it defaults to the max supported.
2025-01-13 19:11:53 +00:00
Dave Shoreman f6a7c0ddda
Attempt to reuse existing agreements
Implements changes from #10410 but using `Arr::first()` rather than a
foreach loop to fix bugs returning invalid or expired agreements.

If an agreement exists with at least the requested `$txDays` then that
is used, otherwise a new one is created with the given parameters. If it
fails, we error out because `createRequisition()` would fail regardless.

Skips accepting EUAs: seems it's done automatically during requisition.
2025-01-13 19:10:33 +00:00
Dave Shoreman 3204163e70
Cleanup, add return types, normalise quotes 2025-01-13 19:09:02 +00:00
Dave Shoreman 66f197b857
Fix error on token-invalid failure when expired
The cache data is set to expire after an hour, at which point the call
to `$request->getCompany()` will fail because it depends internally on
the `company_key` in the response of `getTokenContent()` which is null.

By moving the company *after* the context check, we avoid the exception
but need to manually set lang as there's no context for company data.
2025-01-13 19:06:40 +00:00
Dave Shoreman fb47c29c91
Find old EUA to get tx_days for new agreement
The end user agreement ID isn't stored with the bank integration, but it
*is* returned as part of the error for an expired account which works
perfectly for the case of renewing an expired requisition.

When `tx_days` isn't set in the request (i.e. it's a renewal) we instead
extract the EUA ID from the account error after getting the integration,
then once we have the EUA we're able to restore the old tx_days setting.

Since the BankIntegration query is used in both endpoints, this moves it
to a method with `firstOrFail()` rather than `first()` which also allows
for a cleanup of the integration saving code with try/catch/finally to
make it a little clearer which values apply to both new+existing cases.
2025-01-13 19:06:01 +00:00
Dave Shoreman f501f250f4
Improve Nordigen error-handling code
All failures boil down to about 3 variations - one with reason/lang, one
that has context defined but no company data, and a full variant that
also fills the company and account keys in the view.

The only other difference is redirect url coming from config when it's
not available in the context, so to simplify things this commit merges
all the failure view responses into one unified `failed` method.
2025-01-13 19:01:04 +00:00
Dave Shoreman 2501ca17c9
Allow setting number of days of transactions
If e.g. `&tx_days=365` is added to the URL, this will use it to set the
amount of history that's fetched from Nordigen on sync, with basic
safeguards to prevent it being set too low or above the bank's max.
2025-01-13 18:49:10 +00:00
Dave Shoreman e825bb0895
Nordigen: Use institution max for bank integration
While we set the days in the agreement, how many we fetch when
processing transactions depends on the `from_date` of the bank
integration. We could call `getInstitution($id)` on the API, but
consistency would dictate adding a wrapper in the Nordigen class and
it's already being called within `$nordigen->getAccount()` so it makes
more sense to extract the data in the account transformer instead.

App\Jobs\Bank\ProcessBankTransactionsNordigen also sets a from date, but
that's only used when not set on the bank integration so it can be left
at the Nordigen default of 90 days worth of transaction history.
2025-01-13 18:45:24 +00:00
Dave Shoreman d51e1527e6
Nordigen: Pass custom agreement with max history
In order to change the total days of transactions we can request, a
custom end user agreement is needed. There *are* methods to find
existing agreements, but assuming nothing else breaks it's probably
fairly safe to just go ahead and create one.

If it works, it only runs once... as far as I can tell.
2025-01-13 18:44:40 +00:00
Benjamin Beganović 94aa11690a Healthcheck request 2025-01-13 16:58:55 +01:00
Benjamin Beganović ce4d22dc77 Healthcheck endpoint 2025-01-13 16:58:49 +01:00
David Bomba 31a9532c6a minor fixes 2025-01-13 19:15:58 +11:00
David Bomba 9a7478e175 Improved validation for recurring ivnoice numbers 2025-01-13 18:06:01 +11:00
David Bomba 7304f01de6 Ensures that invalid props cannot be saves to settings 2025-01-13 17:59:38 +11:00
David Bomba 406cc52279 Adjustments for design and dom elements / attributes 2025-01-13 14:16:55 +11:00
David Bomba 5c60a3efed Revert latest nordigen commit 2025-01-11 18:25:54 +11:00
David Bomba 929824d20f Fixes for peppol routing/tax scheme 2025-01-11 16:29:33 +11:00
David Bomba 48e5e5ec59 Fixes for invoice terms display incorrectly 2025-01-10 10:47:57 +11:00
David Bomba 006f3aac37
Merge pull request #10425 from dshoreman/ds/nordigen-tx-days
Nordigen Transaction history UI
2025-01-08 18:32:31 +11:00
David Bomba c454ff1296 Fixes for calculate taxes 2025-01-06 17:43:55 +11:00
David Bomba 70b7866cac Clean up for static analysis 2025-01-05 14:35:14 +11:00
David Bomba 24ed1922fc Task Status Order tests 2025-01-03 21:27:14 +11:00
David Bomba 241816a0f9 Refactor for bulk project invoicing 2024-12-31 11:55:04 +11:00
David Bomba 960ec0fc56 Refactor for bulk project invoicing 2024-12-31 11:52:35 +11:00
David Bomba 654993a776 Add defaults for the preview on recurring invoice 2024-12-27 11:03:22 +11:00
Dave Shoreman bea4ea3387
Show history selection screen instead of guessing
Removes all the guesswork for requisition renewals, instead opting for
the manual approach of simply redirecting to the form and updating its
handling such that it jumps straight to history selection when needed.

When the institution is preloaded (so we skip country/bank selection)
the cloned element is a country and not the bank so we need to replace
athe flag with its logo, but otherwise the code was all moved as-is.
2024-12-24 03:20:40 +00:00
Dave Shoreman 691478d3e7
Support setting custom Nordigen access duration
If agreements are already available and no custom `access_days` is
passed, it will simply take the first match regardless of duration.

When a new agreement is needed, it defaults to the max supported.
2024-12-23 20:31:31 +00:00
Dave Shoreman 5f75b6a9e1
Attempt to reuse existing agreements
Implements changes from #10410 but using `Arr::first()` rather than a
foreach loop to fix bugs returning invalid or expired agreements.

If an agreement exists with at least the requested `$txDays` then that
is used, otherwise a new one is created with the given parameters. If it
fails, we error out because `createRequisition()` would fail regardless.

Skips accepting EUAs: seems it's done automatically during requisition.
2024-12-23 20:09:52 +00:00
Dave Shoreman 3bac46d83f
Cleanup, add return types, normalise quotes 2024-12-22 17:38:54 +00:00
Dave Shoreman b9464c0c25
Fix error on token-invalid failure when expired
The cache data is set to expire after an hour, at which point the call
to `$request->getCompany()` will fail because it depends internally on
the `company_key` in the response of `getTokenContent()` which is null.

By moving the company *after* the context check, we avoid the exception
but need to manually set lang as there's no context for company data.
2024-12-22 17:38:54 +00:00
Dave Shoreman 88149bc39f
Find old EUA to get tx_days for new agreement
The end user agreement ID isn't stored with the bank integration, but it
*is* returned as part of the error for an expired account which works
perfectly for the case of renewing an expired requisition.

When `tx_days` isn't set in the request (i.e. it's a renewal) we instead
extract the EUA ID from the account error after getting the integration,
then once we have the EUA we're able to restore the old tx_days setting.

Since the BankIntegration query is used in both endpoints, this moves it
to a method with `firstOrFail()` rather than `first()` which also allows
for a cleanup of the integration saving code with try/catch/finally to
make it a little clearer which values apply to both new+existing cases.
2024-12-22 17:38:54 +00:00
Dave Shoreman 74344d1b88
Improve Nordigen error-handling code
All failures boil down to about 3 variations - one with reason/lang, one
that has context defined but no company data, and a full variant that
also fills the company and account keys in the view.

The only other difference is redirect url coming from config when it's
not available in the context, so to simplify things this commit merges
all the failure view responses into one unified `failed` method.
2024-12-22 17:38:54 +00:00
Dave Shoreman 6fde8c8f13
Allow setting number of days of transactions
If e.g. `&tx_days=365` is added to the URL, this will use it to set the
amount of history that's fetched from Nordigen on sync, with basic
safeguards to prevent it being set too low or above the bank's max.
2024-12-22 17:38:54 +00:00
Dave Shoreman fa54ef9830
Nordigen: Use institution max for bank integration
While we set the days in the agreement, how many we fetch when
processing transactions depends on the `from_date` of the bank
integration. We could call `getInstitution($id)` on the API, but
consistency would dictate adding a wrapper in the Nordigen class and
it's already being called within `$nordigen->getAccount()` so it makes
more sense to extract the data in the account transformer instead.

App\Jobs\Bank\ProcessBankTransactionsNordigen also sets a from date, but
that's only used when not set on the bank integration so it can be left
at the Nordigen default of 90 days worth of transaction history.
2024-12-22 17:38:54 +00:00
Dave Shoreman b723c9e16a
Nordigen: Pass custom agreement with max history
In order to change the total days of transactions we can request, a
custom end user agreement is needed. There *are* methods to find
existing agreements, but assuming nothing else breaks it's probably
fairly safe to just go ahead and create one.

If it works, it only runs once... as far as I can tell.
2024-12-22 17:38:50 +00:00
David Bomba 265f72369c Cleanup for peppol 2024-12-21 10:28:21 +11:00
David Bomba 55dd968e25 Fixes for update company 2024-12-20 09:36:14 +11:00
David Bomba cf2805d55b v5.11.3 2024-12-19 10:10:06 +11:00
David Bomba 1164507da7 Fixes for nordigen 2024-12-18 20:20:57 +11:00
David Bomba 9bad64b60e
Merge pull request #10401 from dshoreman/ds/nordigen-fixup
Nordigen fixes
2024-12-18 13:46:04 +11:00
David Bomba c547ee0e6b
Merge branch 'v5-develop' into v5-develop
Signed-off-by: David Bomba <turbo124@gmail.com>
2024-12-18 13:40:53 +11:00
Dave Shoreman 73166f422a
Fix nordigen account failsafe
This check was added at a time when `getAccount` would return `false`
for failures, but at some point it was updated to always return arrays.

This fixes the check to avoid issues like #10396 where the following
line triggers a missing 'id' key error.
2024-12-18 00:05:32 +00:00
Dave Shoreman 365a908b20
Fix ref to wrong type of `$account`
There was a time when `$account` served two purposes depending how far
through the code you got. Commit e349f151 changed that, introducing a
dedicated `$nordigen_account` variable, but it missed some references.

This commit fixes them so they no longer point to the *company* account.
2024-12-17 23:59:28 +00:00
paulwer 9aae89416d minor code cleanups 2024-12-16 16:09:52 +01:00
paulwer d1a34e752a fixes 2024-12-16 11:35:03 +01:00
paulwer 2344b659dc changes for mailgun 2024-12-16 11:32:45 +01:00
paulwer 8495aab790 fix: allow checking blocked state before querying database in webhooks 2024-12-16 11:24:47 +01:00
David Bomba 67d56551a8 Fixes for php 8.3 tests 2024-12-13 09:59:27 +11:00
David Bomba 1aca8fa49f Active global search across all entities 2024-12-12 11:57:33 +11:00
David Bomba 90c3da574a V5.11.0 2024-12-09 08:44:27 +11:00
David Bomba 8e588016df Fixes for validation 2024-12-07 09:43:09 +11:00
David Bomba 53648f2392 additional validation rules for custom surcharges 2024-12-07 09:32:52 +11:00
David Bomba 1d89e89148 Fixes for statement 2024-12-07 08:48:34 +11:00
David Bomba 9c4cbc4c14 Fixes for client portal login 2024-12-05 10:31:04 +11:00
David Bomba 5d3ecbc7de Updates for tax model 2024-12-04 08:24:53 +11:00
David Bomba 85f8d37f54 Annotations for default design 2024-12-03 12:18:09 +11:00
David Bomba 3f766d3c23 Refactor for retrieving backups 2024-12-02 16:43:32 +11:00
David Bomba 76351b95fd Enforce disk to write to for backups 2024-12-01 15:54:20 +11:00
David Bomba 9cd9bc9833 Updated translations 2024-11-30 15:55:31 +11:00
David Bomba fd2f556dfb Updates for node search 2024-11-29 20:56:41 +11:00
David Bomba 83f4abedfc Fixes for relative paths when copying quote docs to invoice docs 2024-11-29 06:44:20 +11:00
David Bomba 2f634d41bf Adjustments for contact registration 2024-11-28 16:49:28 +11:00
David Bomba ca9d8947d9 Tests for routes 2024-11-28 12:10:59 +11:00
David Bomba 0b63876e29 Improve contact register resiliency 2024-11-28 11:42:23 +11:00
David Bomba 6b126cffbc Refactor contact login 2024-11-28 09:07:05 +11:00
David Bomba a3a3f6a1d2 Add in turnstile to protect client register routes 2024-11-27 16:10:04 +11:00
David Bomba 823cf89938 Turnstile for client registration 2024-11-27 14:45:54 +11:00
David Bomba 2b5728c6d0 Improve sort order in client portal tables 2024-11-26 14:55:42 +11:00
David Bomba eb1475a451 Improvements for timing of Postmark webhooks 2024-11-25 17:32:23 +11:00
David Bomba 61e71a43ca Welcome EInvoice email 2024-11-25 15:36:28 +11:00
David Bomba 2d1e02daf2 Coalesce reminder resolution for invoices and quotes 2024-11-25 11:24:36 +11:00
David Bomba 0d415c5766 Additional nodes for scout search 2024-11-24 16:32:32 +11:00
David Bomba d8f3895f99 Add additonal filesystem for docker 2024-11-24 16:13:59 +11:00
David Bomba 4007ccb26f Add additional models to searchable(); 2024-11-24 12:40:32 +11:00
David Bomba b5a3abdb36
Merge pull request #10303 from turbo124/v5-develop
v5.10.55
2024-11-23 15:37:15 +11:00
David Bomba 9d6236f4a6 Support injecting payment means into zugferd documents 2024-11-23 09:07:18 +11:00
Benjamin Beganović 0e22a31de5 Update local value of einvoice quota when querying remotely 2024-11-22 17:09:02 +01:00
David Bomba 7eac913089 Tuning peppol validation 2024-11-22 08:29:22 +11:00
David Bomba 6f3c21bbcc
Merge pull request #10293 from turbo124/v5-develop
Fixes for payments with null exchange rates
2024-11-21 06:36:40 +11:00
David Bomba ec2e5db719 Fixes for payments with null exchange rates 2024-11-21 06:00:02 +11:00
Benjamin Beganović a7f578cf43 Return message from an error 2024-11-20 11:35:42 +01:00
David Bomba 552d596eae Style fixes 2024-11-20 11:15:49 +11:00
David Bomba d96f195c0c
Merge pull request #10279 from turbo124/v5-develop
Check for emails prior to attempting a send
2024-11-20 07:48:46 +11:00
David Bomba 178ea7f667 Minor fixes for invoice summary 2024-11-20 07:47:49 +11:00
David Bomba 11b5bb3c5d
Merge pull request #10277 from beganovich/INV2-1723-2
E-invoice: Removing tax identifiers fixes
2024-11-20 07:36:10 +11:00
David Bomba 5a17925617
Merge pull request #10273 from beganovich/INV2-1670
E-invoicing: Improve tax rate settings
2024-11-20 07:23:28 +11:00
David Bomba 3ed3c77c70
Merge pull request #10274 from beganovich/INV2-1722
E-invoicing: Validation for trying to add same country
2024-11-20 07:22:47 +11:00
Benjamin Beganović 2dc1d240b2 Improvements for accessing vat number 2024-11-19 12:43:01 +01:00
Benjamin Beganović 3ba61c5db5 Fixes for accessing tax region 2024-11-19 12:42:41 +01:00
Benjamin Beganović 6ae74cafe4 Disable tax rates 2024-11-19 12:23:03 +01:00
Benjamin Beganović c4a4855dc3 Merge remote-tracking branch 'upstream/v5-develop' into INV2-1725 2024-11-19 11:31:42 +01:00
David Bomba eb83acc842 Add is valid license method 2024-11-19 20:00:42 +11:00
David Bomba febf45a240 Store legal entity ids and company key on license 2024-11-19 17:08:23 +11:00
David Bomba 2bf1afa2c4 Add tax entity to licenses table 2024-11-19 15:56:15 +11:00
David Bomba 9619c65900 Additional checks when validating sendemailrequest 2024-11-19 06:53:02 +11:00
Benjamin Beganović 449caf55b8 Remove tax identifier request 2024-11-18 17:47:14 +01:00
Benjamin Beganović 677438347a Removing tax identifier 2024-11-18 17:45:53 +01:00
Benjamin Beganović 5569375ba2 Validation for trying to add same country 2024-11-18 14:33:43 +01:00
Benjamin Beganović c3771cff3b Improve tax rate settings 2024-11-18 14:02:34 +01:00
Benjamin Beganović 510ae0de29 Add imports 2024-11-18 13:01:04 +01:00
Benjamin Beganović ffeb55d84a Add validation for the sender fields 2024-11-18 12:59:39 +01:00
David Bomba eac2d21d45 Updates for credit valid until date 2024-11-17 11:17:26 +11:00
David Bomba a4b14c740b Rollback model upgrades 2024-11-16 19:34:39 +11:00
David Bomba 0051f8c9df Additions for adding tax identifiers in other EU regions 2024-11-16 14:24:21 +11:00
David Bomba cf13a87f47 Update recurring invoices to ensure dates are configured in the correct timezone 2024-11-16 10:05:48 +11:00
David Bomba 73c928b934 Fixes for tests 2024-11-16 07:56:24 +11:00
David Bomba 583ed3eefb v5.10.52 2024-11-15 18:41:00 +11:00