Commit Graph

253 Commits

Author SHA1 Message Date
David Bomba 594646823c Add UBL feature to invoices 2023-03-08 20:47:13 +11:00
David Bomba 4babfbb651 php-cs-fixer 2023-02-16 12:36:09 +11:00
David Bomba 6c86d7151a Update copyright year 2023-01-29 09:21:40 +11:00
David Bomba e0170dbecf Show credit payment amounts in the client portal 2023-01-19 14:45:34 +11:00
David Bomba de41d2546c Fixes for touching reminders inappropriately 2023-01-13 22:26:12 +11:00
David Bomba 894c2011b0 Improve clean up of stale gateway fees 2023-01-11 15:43:54 +11:00
David Bomba 78358f2e49 Fixes for use path 2023-01-07 02:38:08 +11:00
David Bomba 10e3492140 Check late invoice, webhooks 2023-01-07 02:32:40 +11:00
David Bomba 7ac4786bff Refactor to remove dispatchSync from code path 2022-08-01 07:30:04 +10:00
Nikola Cirkovic c75b1d303f
Cirkovic/ina 16 fixes (#50)
* Dispatch | PdfCreatorTest | Removed deprecated method

* Dispatch | Remove deprecated dispatchNow() method and use dispatchSync or call handle() on class where return is mandatory.
2022-06-24 21:15:14 +10:00
Shift 19080933b6
Apply Laravel coding style
Shift automatically applies the Laravel coding style - which uses the PSR-2 coding style as a base with some minor additions.

You may customize the code style applied by adding a [PHP CS Fixer][1] or [PHP CodeSniffer][2] ruleset to your project root. Feel free to use [Shift's Laravel ruleset][3] to help you get started.

For more information on customizing the code style applied by Shift, [watch this short video][4].

[1]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
[2]: https://github.com/squizlabs/PHP_CodeSniffer
[3]: https://gist.github.com/laravel-shift/cab527923ed2a109dda047b97d53c200
[4]: https://laravelshift.com/videos/shift-code-style
2022-06-21 09:57:17 +00:00
David Bomba 1973c4c214 v5.3.89 2022-05-17 21:03:07 +10:00
David Bomba 6f491dfb92 Update Copyright text 2022-04-27 13:20:41 +10:00
David Bomba bdf95fcf70 Improve bulk email performance 2022-04-21 09:25:19 +10:00
David Bomba a3dae762d0 Fixes for bulk download entities 2022-03-06 20:41:43 +11:00
David Bomba bed77a2710 Text email stubs 2022-03-04 13:08:18 +11:00
David Bomba 8e33463bf7 Fixes for bulk downloading pdfs 2022-03-02 14:17:45 +11:00
David Bomba 1b256dba9b refactor for bulk downloads 2022-03-02 13:51:38 +11:00
David Bomba 475831bf70 Refactor for bulk downloads 2022-03-02 13:26:30 +11:00
David Bomba 118d2bc214 Refactor for zip files 2022-02-18 21:45:01 +11:00
David Bomba a1366c0cce Fixes for UBL creation 2021-12-27 09:05:00 +11:00
David Bomba 075fe7a5e5 Clean up logging 2021-11-09 21:59:52 +11:00
David Bomba 57e1385cbf Fixes for invitations 2021-11-09 21:15:08 +11:00
David Bomba 7f13a79623 Fixes for stripe payment currency amount 2021-06-30 13:56:11 +10:00
David Bomba 8eb5cb71a1 Fixes for downloading invoices 2021-06-30 06:23:23 +10:00
David Bomba 36f6cbbcc9 Update license in codebase 2021-06-16 16:58:16 +10:00
= afdfddd7e9 Refactor for entity paths 2021-06-12 21:50:01 +10:00
David Bomba c52311bcde Fixes for PDF file paths 2021-05-15 12:19:36 +10:00
David Bomba 06bc49b0d6 Refactoring emails 2021-02-18 10:30:31 +11:00
David Bomba 55839d66ed Auto archive invoice - Mark Paid 2021-02-05 16:02:38 +11:00
David Bomba 7d5b679214 Fix for failed() method returning an error instead of exception 2021-01-21 10:02:39 +11:00
David Bomba 934610a01c Update copyright + version bump + set canadian dollar symbol to $ 2021-01-04 08:54:54 +11:00
Benjamin Beganović ae88d5e08e php-cs-fixer format 2020-11-25 15:19:52 +01:00
Benjamin Beganović 501f3c9b0e injecting signatures into entity invitations 2020-11-17 16:57:34 +01:00
David Bomba f1c1243146 Fixes for mail 2020-11-12 20:41:19 +11:00
David Bomba 9aeb2d7a5b Psalm cleanup 2020-10-28 21:10:49 +11:00
David Bomba d7930e4c14 Remove redundant classes 2020-10-28 17:27:10 +11:00
David Bomba 417562b80d Fixes for phantom JS view invitation 2020-10-27 15:26:04 +11:00
David Bomba 1de7a693cc Refactor Phantom JS building HTML 2020-10-27 14:09:13 +11:00
David Bomba e17f5438ee Working on generic entity emailer 2020-10-27 11:05:42 +11:00
David Bomba 8f53424017 Fixes 2020-10-27 06:10:04 +11:00
Clément Gayot 5458bf83b0 🐛 Fix invoice preview with custom designs 2020-10-22 01:19:33 +02:00
Benjamin Beganović 1de6f94f10 fix custom1234 2020-10-20 13:01:07 +02:00
David Bomba cd0dce3816
Merge pull request #4138 from turbo124/v2
Projects API
2020-10-08 09:31:37 +11:00
David Bomba b8b3149582 Working on recurring & analytics 2020-10-07 14:00:32 +11:00
Benjamin Beganović 76695b8462 - Add new "product" key to $context of Design
- Add custom products table body handling in Design.php
2020-10-06 12:49:00 +02:00
David Bomba f0bd089acb
Merge pull request #4054 from turbo124/v2
Gateway fees and payments.
2020-09-11 16:15:53 +10:00
Benjamin Beganović 1b36dc5868 cleanup 2020-09-10 13:01:34 +02:00
Benjamin Beganović 207c9388b5 Fix migration issues 2020-09-10 13:01:10 +02:00
David Bomba f7dc573551 Fixes for invoices 2020-09-10 15:20:13 +10:00
David Bomba d909b4939c Minor fixes for PayPal 2020-09-07 13:14:43 +10:00
David Bomba ba75a44eb8
Laravel 7.x Shift (#40)
* Adopt Laravel coding style

The Laravel framework adopts the PSR-2 coding style with some additions.
Laravel apps *should* adopt this coding style as well.

However, Shift allows you to customize the adopted coding style by
adding your own [PHP CS Fixer][1] `.php_cs` config to your project.

You may use [Shift's .php_cs][2] file as a base.

[1]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
[2]: https://gist.github.com/laravel-shift/cab527923ed2a109dda047b97d53c200

* Shift bindings

PHP 5.5.9+ adds the new static `class` property which provides the fully qualified class name. This is preferred over using class name strings as these references are checked by the parser.

* Shift core files

* Shift to Throwable

* Add laravel/ui dependency

* Unindent vendor mail templates

* Shift config files

* Default config files

In an effort to make upgrading the constantly changing config files
easier, Shift defaulted them so you can review the commit diff for
changes. Moving forward, you should use ENV variables or create a
separate config file to allow the core config files to remain
automatically upgradeable.

* Shift Laravel dependencies

* Shift cleanup

* Upgrade to Laravel 7

Co-authored-by: Laravel Shift <shift@laravelshift.com>
2020-09-06 19:38:10 +10:00
Benjamin Beganović 1a66f1835f Merge remote-tracking branch 'upstream/v2' into v2-pdfmaker-design-improvements 2020-09-04 13:20:39 +02:00
Benjamin Beganović 219666f765 Generating PDFs using new templates 2020-09-04 13:17:30 +02:00
David Bomba bb4aac1aeb
Merge pull request #4025 from turbo124/v2
Gateway fees implementation
2020-08-31 17:58:43 +10:00
Benjamin Beganović d508d9b8f2
Merge branch 'v2' into v2-pdfmaker-design-improvements 2020-08-28 08:17:46 +02:00
David Bomba 1a7d0d3cbd Working on gateway fees across multiple invoices 2020-08-27 22:12:39 +10:00
Benjamin Beganović af7995815c Rename all_page_* to all_pages_* for dynamic header/footer 2020-08-27 08:47:51 +02:00
Benjamin Beganović 23577a5f0f Refactor context['product-table-columns'] to generic pdf_variables:
- Pass 'pdf_variables' to CreateQuotePdf & CreateInvoicPdf
- Update Playful & Plain to support new variable engine
- Update DesignHelpers trait to support new variable engine
- Make tests pass for ExampleIntegrationTest
2020-08-21 11:59:39 +02:00
David Bomba 3ac9cc5158 Add reminder fields to entities 2020-08-14 08:08:10 +10:00
David Bomba 5bfcdc80b2
Merge pull request #3972 from beganovich/v2-0708-pdfmaker-integration
(wip) End-to-end PDF Maker integration
2020-08-14 06:53:00 +10:00
Benjamin Beganović 0ba6a4351e Integrate new PdfMaker for CreateQuotePdf 2020-08-12 19:21:29 +02:00
Benjamin Beganović a302891bec Change $pdf_variables scope 2020-08-12 19:14:14 +02:00
David Bomba e347c5ad51 Document permissions 2020-08-12 13:13:39 +10:00
David Bomba de24d00315 Error handling for emails 2020-08-12 12:16:44 +10:00
Benjamin Beganović caa704af96 wip - CreateInvoicePdf 2020-08-11 18:50:24 +02:00
David Bomba 2e663447b8 Tests for container manipulation 2020-08-10 14:55:44 +10:00
David Bomba 6840e3e471 Fixes for mailers 2020-08-08 14:38:02 +10:00
David Bomba c220108168 Add documents as default includes 2020-08-06 13:04:09 +10:00
David Bomba d7dbde3789 Implement PhantomJS 2020-08-04 21:00:19 +10:00
Benjamin Beganović 6319c208df injecting signature and sending it to backend 2020-05-28 15:59:45 +02:00
David Bomba 42ccfe0700
Checkout stubs (#3672)
* minor fixes for name spaces, collector facade and composer version bump

* Fixes for invoiceworkflowsettings

* Add more context to support emails

* Working on Firing Subscriptions

* Minor fixes

* Fixes for gateway filtering

* Checkout Driver
2020-05-04 21:13:46 +10:00
David Bomba e204eedaa2
Fix for invoice design not changing dynamically (#3666) 2020-05-01 22:43:08 +10:00
David Bomba c503d58505
Adjust email quotas - Hosted plan. (#3663)
* Fixes for invitations not being created in RandomDataSeeder

* Resend failed/quota exceeded emails

* Queue email tests

* Refund a client for a ninja account

* Adjust email quotas - hosted plan
2020-04-30 21:45:47 +10:00
Benjamin Beganović d516b1b097
Workflow settings for quotes & invoices (#3655)
* Fix inputs

* Workflow settings: Auto archive

- New InvoiceWorkflowSettings job
- Updated PaymentCreatedActivity to dispatch the job
- New 'Archivable' trait
- New 'archived_at' field

* Workflow settings: Sending e-mail to client with auto_send

* Workflow settings: Quotes

* Fix HTML markup

* Fix archive & sending

* Remove Archivable trait & migration file

* Change order of sending the events
2020-04-28 09:50:54 +10:00
David Bomba aa690578e3
Implement Currency Conversion library. (#3643)
* Fixes for testS

* Fixes for migration

* Fixes for migratin

* Query performance improvements

* Check Data Script

* Currency Conversion API

* Implement currency conversion

* Currency Conversions
2020-04-19 20:29:58 +10:00
David Bomba 7454dfbb2f
Fixes for createinvoicepdf (#3639) 2020-04-17 20:13:19 +10:00
David Bomba e5a230e0c7
Performance improvements (#3634)
* Adjustments for tests

* Implement handling of temp downloading resources

* Refactor paths

* Refactors for file paths

* Refactor paths

* Add in S3 adapter

* Refactor company Documment URL

* Refactor for entity pdf performance

* Refactors for invoice generation

* Enhancements for emails invoices

* Emails

* Fixes for client portal queries
2020-04-16 18:41:25 +10:00
David Bomba 74a6c4f2ee
Reminders (#3630)
* Performance improvements moving from str_replace to strtr

* Remove legacy docs

* Clean up credit transformer

* Working on invoice emails

* Clean up for invoice designs

* Tests for light and dark theme emails

* Working on reminder scheduling

* Reminder Job Class

* Fixes for github actions

* PHP CS

* Test for reminders

* Test for reminders
2020-04-15 10:30:52 +10:00
David Bomba 2ad84d4b76
Refactor invoice emails (#3625) 2020-04-13 11:49:58 +10:00
David Bomba 563d41c83a
Email Settings (#3615)
* Working on advanced email settings

* working on document storage

* Email Documents if they exist

* UBL invoices

* UBL Invoices

* Fixes for tests
2020-04-10 15:07:36 +10:00
David Bomba 91cf1cc1f2
Debugging migrations (#3570)
* Remove \Log::, fixes for tests, and fixes for migration

* Debugging migration
2020-03-31 22:52:21 +11:00
David Bomba 6a7079b0be
Implement Github actions (#3547)
* Update phpunit.yml

* Update phpunit.yml

* Update .env.ci

* Update phpunit.yml

* Update .env.ci

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Update .env.ci

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Update phpunit.yml

* Force /setup if system requirements are not met

* Update .env.ci

* Update phpunit.yml

* Minor changes for github actions"

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* Fixes for github actions

* cs-fixer

* cs-fixer

* Fixes for github actions

* db ports github actions

* Refactor the template engine
2020-03-26 14:23:57 +11:00
David Bomba 43e57d0117
Fixes for self-update (#3514)
* minor fix for payment notifications

* styleci

* Limit Self updating to self hosters only
:

* Fixes for designs

* Minor fixes for self-update
2020-03-21 16:37:30 +11:00
David Bomba d13ab48d86
Refactor Designs (#3449)
* Refactor custom invoice HTML generation

* remove table_styles() method from designs

* Refactor designs

* Clean up designs
2020-03-07 17:31:26 +11:00
David Bomba 7c00c68bf3
Create route for invoice/credit/quote PDF download (#3441) 2020-03-07 00:41:15 +11:00
David Bomba 2bc8064eeb
Fixes for setting entity defaults (#3440) 2020-03-06 23:18:32 +11:00
David Bomba 7acc6ee300
Repeating header and footers on Invoice PDFs (#3424)
* remove jobs table

* Working on notifications

* Working on notifications

* Fixes for setting group level currency id on new client

* Working on repeating headers

* Use CSS to force headers and footers

* recurring headers and footers

* Preview PDF

* Working on PDF Preview
2020-03-05 18:14:57 +11:00
David Bomba 3d31f810c0
Set Invitations as a default include for invoices (#3362)
* Working on importing company gateways

* Fix for companyuser settings object

* Migrate client_gateway_tokens

* Working on Notificaitons

* Working on notifications

* Failsafe for user-company

* unlink files

* Set DB for jobs

* Always have a fallback for company_id

* Fixes for user model

* Formatting for MultiDB

* Working on Company Ledger Tests

* Fixes for contact request

* Set Invitations as a default include for invoices
2020-02-24 21:15:30 +11:00
David Bomba 4eebaf7eb4
Migrate to services (#3358)
* Working on ledger

* Migrate to services

* Refactor to services

* Migrate to services

* Jobs cleanup
2020-02-21 08:05:01 +11:00
David Bomba 9e9cd37b87
Modifications to Designs (#3353)
* Working on Quotes

* Naming refactor for Quotes

* Quote Actions

* Quote Pdfs

* Quote PDFs

* Refunds in Stripe

* Fixes tests

* Company Ledger work
2020-02-20 07:44:12 +11:00
David Bomba 1edfee654f
Working on Invoice Designs (#3346) 2020-02-18 07:07:32 +11:00
David Bomba f57339f185
Fixes and Refactors for Invoice Emails. (#3339)
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Ensure valid client prior to store

* Ensure client exists when storing an entity

* Update variable name send -> send_email for client_contacts

* Mailable download files

* Extend timeouts of password protected routes when a protected route is hit

* Add default portal design to company settings

* Minor fixes

* Fixes for Tests

* Fixes for invoicing emails

* Refactors for InvoiceEmail

* Implement abstractservice

* Refactors for services

* Refactors for emails

* Fixes for Invoice Emails
2020-02-17 20:37:44 +11:00
David Bomba 1e35c90ee6
Fixes for Tests, MultiDB (#3334)
* refactor send_invoice to generic -> send

* Code cleanup

* Fixes for tests and multidb
2020-02-15 23:27:24 +11:00
David Bomba 1e0111d519
Minor refactors for emails (#3333) 2020-02-15 22:49:31 +11:00
David Bomba a79c7bf60d
Code Cleanup
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Ensure valid client prior to store

* Ensure client exists when storing an entity

* refactor for emails

* Design Transformer

* Include designs in first_load response

* Code cleanup
2020-02-15 20:06:30 +11:00
michael-hampton f7650d0692
Ft email (#3326)
* Emails

* change to user service

* refactor emails

* refactor emails

* refactor emails

* refactor emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* emails

* Update EmailPayment.php

* Update SendEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update and rename BuildEmail.php to EmailBuilder.php

* Create InvoiceEmail

* Create QuoteEmail.php

* Rename InvoiceEmail to InvoiceEmail.php

* Create PaymentEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update SendEmail.php

* Update InvoiceEmail.php

* Update EmailInvoice.php

* Update SendEmail.php

* Update TemplateEmail.php

* Update EmailBuilder.php

* Update InvoiceEmail.php

* Update QuoteEmail.php

* Update PaymentEmail.php

* Update InvoiceEmail.php

* Update QuoteEmail.php

* Update QuoteInvitation.php

* Update EmailQuote.php

* Update SendEmail.php

* Update SendEmail.php

* Update PaymentService.php

* Update PaymentEmail.php

* Update PaymentEmail.php

* Update PaymentEmail.php

* Update EmailBuilder.php

* Update PaymentEmail.php

* Update EmailPayment.php

* Update SendEmail.php

* Update InvoiceService.php

* Update SendEmail.php

* Update PaymentService.php

* Update SendEmail.php

* Update QuoteService.php

* Update EmailPayment.php

Co-authored-by: David Bomba <turbo124@gmail.com>
2020-02-15 20:01:15 +11:00
David Bomba 4a3d37a42b
Flutter Client ! (#3325)
* Working on emailing invoices

* Working on emailing and displaying email

* Working on emailing and displaying email

* Email invoices

* Fixes for html emails

* Restart queue after self-update

* Email Invoices

* Push Flutter Web Clientgit statusgit status!
2020-02-13 22:27:42 +11:00
David Bomba 162580bcd3
Fixes for ClientContact CRUD (#3317)
* Fixes for downloading invoice PDF

* Fixes for client contact CRUD
2020-02-12 20:18:56 +11:00
David Bomba be3ade65f1
Download Invoice by Invitation (#3312)
* style cs

* Style CS

* Throw Record not found exception if invalid primary key hash is provided

* Improve error handling

* Create abstract implementation for designs

* working on custom designs

* Add Design Model

* invoice services

* Download Invoice by Invitation
2020-02-12 11:41:17 +11:00
David Bomba 9a19f7fd4c Fixes for invoice update and invoice designs (#3302)
* BaseController cleanup

* Working on invoice designs

* Working on invoice designs

* working on invoice designs

* working on invoice designs

* invoice designs

* Working on Invoice Designs

* Fixes for user settings object

* Working on invoice designs

* Fixes for encoded user settings

* Working on contact localized invoice pdfs

* working on invoice designs

* Fix for invoice update 500 error
2020-02-10 20:53:02 +11:00
David Bomba 797c3fb3f6
Fixes for refunds (#3288)
* Working on invoice designs

* Fix unusual form request issue in tests vs production

* Fixes for form requests

* Fixes for refunds
2020-02-06 08:54:20 +11:00
David Bomba 11960e25e7
Fixes for refunds (#3285)
* Working self-updater package

* Fixes for travis

* Working on invoice designs

* Working on invoice builder

* Tests for invoice design

* Working on invoice designs

* Minor fixes

* Working on Invoice Design Engine

* Working on invoice designs

* Fixes for refunds
2020-02-05 21:28:56 +11:00
David Bomba 3ec996ee5d
Invoice Designer (#3283)
* Working self-updater package

* Fixes for travis

* Working on invoice designs

* Working on invoice builder

* Tests for invoice design

* Working on invoice designs

* Minor fixes

* Minor fixes for randomdataseeder
2020-02-05 15:06:03 +11:00
David Bomba cda534e996
Explicitly call the service() method, rather than obfuscate. (#3281)
* Include fix as describe by @michael-hampton here #3280

* Refactor createinvitations away from jobs

* Clean up

* Fixes for service() refactoring

* Fixes for services refactor
2020-02-04 18:51:44 +11:00
David Bomba c25de936ed
Refactor - moving away from jobs. (#3279)
* Implement Services

* implement service pattern

* Service patterns

* Refactoring invoice paid

* refactoring invoice

* Refactor jobs

* Refactor - remove jobs

* Refactor jobs

* Refactoring jobs

* Refactoring away from jobs

* Refactoring jobs

* Add Credits to test data
2020-02-03 21:33:07 +11:00
David Bomba 6167907a8e
Fix invoice payable rules (#3212) 2020-01-15 19:43:40 +10:00
David Bomba 0878decf18
Implement payment rules at application edge (FormRequest) (#3202)
* Ensure payments, invoice and credit amount balance in the validator prior to saving

* additional payment validation rules and tests for processing payments

* Factories for credits

* Tests for payments

* Working on updating a payment

* Working on updating a payment

* fixes for updating a payment

* Working on Payment Tests

* More tests for payments, formrequests

* remove product_key as required from products
2020-01-10 07:15:10 +11:00
David Bomba 957ac9f5d8
Fix for password protected authorization (#3198)
* Remove unnecessary save() on invoice

* Update copyright

* Working on Credit Repository

* Implement credits as a paymentable entity

* Add credit_id to transformer

* fix rules for update payment

* Fix random deleted_at keys in transformers

* Fix for password_protect check
2020-01-07 11:13:47 +11:00
David Bomba ad06de25f5
Fixes for Payments (#3194)
* Set payment number on completed payment

* Fix for paymentables not returning

* Do not set invoice status to paid if only a partial amount of the invoice has been paid
2020-01-04 13:27:51 +11:00
David Bomba f712b789ca
Fixes for tests (#3184)
* fix typo

* php-cs traits

* CS fixer pass

* Password protect User routes

* Implement checks to prevent editing a deleted record

* Clean up payment flows

* Fixes for tests
2019-12-31 08:59:12 +11:00
David Bomba 9790a841c4
Performance improvements. (#3180)
* Fixes for missing company object in events

* Cleanup client balancing code

* Fixes for client balance

* Fixes for missing company variable

* Fix activity transformer to prevent multiple DB calls
2019-12-30 09:06:42 +11:00
David Bomba ff7b62de51
Fixes for missing company object in job classes. (#3179)
* Fixes for missing company object in events

* Cleanup client balancing code

* Fixes for client balance

* Fixes for missing company variable
2019-12-29 17:28:57 +11:00
David Bomba e406020ee5
Bug Fixes (#3177)
* Implement first_load query parameter which checks client size and returns an truncated response if client count is greater than 1000

* Fixes for listeners
2019-12-28 06:30:22 +11:00
David Bomba 54fc78a88b
Refactor jobs to be MultiDB aware (#3174) 2019-12-27 11:28:36 +11:00
David Bomba 4c2cbb2dee
Bug fixes for middleware/ (#3167)
* Fix formatting and variable insertion for email templates

* Refactoring for invoice emails

* Fixes for midddleware
2019-12-25 08:55:29 +11:00
David Bomba 5e7512071f
Implement EmailInvoice Job (#3166)
* Working on quote counter

* Add tests for quote number + shared counter tests

* Create invoice job

* Add last_sent_date to invoice/quote table, remove type_id

* Implement EmailInvoice Job
2019-12-22 21:28:41 +11:00
David Bomba 556b2ab1c9
Fixes for Storing Quotes (#3159)
* Return blank object for group settings

* Implement Quote Store

* Clean up Logging
2019-12-18 09:40:15 +11:00
David Bomba 75df82a71c
Fixes (#3116)
* Fixes for OpenAPI Documentation + fix support for docs for PHP 7.4

* User update tests

* Add total_taxes to invoice table, implement addition create-test-data fields for item and invoice level taxes
2019-12-04 12:06:14 +11:00
David Bomba 25514b43cf
Allow fine grained payments (#3110)
* Allow payment amounts to be partial per invoice paid

* edge case tests for payments

* Allow per invoice payment amounts and allow direct payments which simply credit a clients credit_balance

* Fixes
2019-12-01 22:23:24 +11:00
David Bomba 9702dc741c
Refactor for invoices/quotes/credit transformers (#3100)
* Refactor Invoices / Quotes / Credits to use the same transformer

* Add contact_key to factories
2019-11-27 21:27:24 +11:00
David Bomba f59585dd62
Fixes for tests (#3082)
* Update client paid to date job:

* Backup Invoice HTML when invoice is marked as sent and paid

* Store HTML of invoice when invoice was paid

* Fix foreign keys in db schema

* V2 Endpoints for Company Migrations

* Fixes for tests
2019-11-20 16:41:49 +11:00
David Bomba 6d225b7fe7
Fixes for payments (#3081)
* Bump client contacts in test data

* Only allow a payment to be deleted once

* Update client balance and paid to date on payment

* Clean up
2019-11-20 08:06:48 +11:00
David Bomba ff17e3eb67
Payment deletes (#3079)
* Add amount to paymentable tables to enable reversing payments gracefully

* Create Test Data artisan comannd

* Delete Payments + Fixes for company settings persistence
2019-11-19 21:23:56 +11:00
David Bomba fe5a97e174
Activity API fixes + Payments API (#3076)
* Fixes for Store Payment Validation

* Tests for Payments

* Use custom validator to ensure payments are made ONLY to payable invoices

* Working on custom payment validators

* Update Client balance

* fixes for client balance

* Fixes for activity API
2019-11-18 21:46:01 +11:00
David Bomba 81c481c071
Fixes for RandomDataSeeder (#3073)
* Provide failsafe creation of invoice invitations

* URL Links for invitations

* open up route for invitations

* Set DB by Invite

* Set DB By invitation Key

* Tests for setting DB based on user email address

* Middleware for setting db by email address

* fixes for tets

* fixes for tests

* Tests for bulk actions

* Payments API

* Fixes for tests
2019-11-16 14:12:29 +11:00
David Bomba 37a826374b
Remove settings from invoice table (#3051)
* Implement client/group/company level counters clientCounter, groupCounter and counter

* Implement functionalityfor customising the timing of invoice_number creation

* Add Jobs

* adjustments

* clean line items at the request layer

* Clean line items at the request layer

* minor formatting for notification

* Schema Fixes

* schema changes, cast country_id to stirng

* Fixes for tests

* force line item ids to string

* Map company gateway fees and limits

* Schema changes

* Remove id from invoice item stdClass

* Remove settings object from invoice table
2019-11-10 23:06:30 +11:00
David Bomba a78b6aaacd
Set casts on Invoice Line Items (#3049)
* Implement client/group/company level counters clientCounter, groupCounter and counter

* Implement functionalityfor customising the timing of invoice_number creation

* Add Jobs

* adjustments

* clean line items at the request layer

* Clean line items at the request layer
2019-11-08 11:38:22 +11:00
David Bomba 3405b91c64
Bulk download PDF, Client Portal formatting (#3046)
* Update OpenAPI for TemplateController

* Add bulk invoice download functionality

* Working on Client portal

* Move selective queries to cache instead of DB

* Fix formatting in Payments table, implement cache for languages, resolve route model for clientcontacts and users
2019-11-06 09:52:57 +11:00
David Bomba 5fafbac36f
Tax Rates (#3026)
* Insert generic for client country if not set

* Invoice fixes

* fixes

* Schema changes

* Refactor Schema and implement fixes for testS

* Use Dispatcher for system logs

* Add TaxRateController

* Update OpenAPI definitions for Tax Rates
2019-10-29 13:55:26 +11:00
David Bomba 02fadc8272
Exclusive tax rate calculations (#3005)
* clean up invoice calculations  - exclusive taxes

* Fixes for tests

* Clean up and fixes for tests
2019-10-20 17:23:35 +11:00
David Bomba 778b655aa3
Clean up todos (#2979) 2019-10-11 13:20:04 +11:00
David Bomba 9cc31195f7 fixes for storing invoice 2019-10-11 09:11:36 +11:00
David Bomba a83099dad8 Refactor payment events 2019-10-04 16:22:22 +10:00
David Bomba 87d61262ca Move atomic operations to Jobs instead of listeners 2019-10-03 22:02:31 +10:00
David Bomba 724cccacfc Fixes for tests 2019-10-03 21:50:50 +10:00
David Bomba f2a8e5f4df fixes for tests 2019-10-01 15:54:21 +10:00
David Bomba 4bccdae01e using events to fire updates for invoices and company ledger 2019-10-01 14:27:04 +10:00
David Bomba 7382ff0b84 fixes for datetime formats 2019-09-22 20:25:05 +10:00
David Bomba a9bf593708 model changes 2019-08-27 11:21:25 +10:00
David Bomba e458ec6331 Update user table on access 2019-06-04 07:46:46 +10:00
David Bomba 32ca69bc52 Working on invitationsg 2019-05-29 21:15:42 +10:00
David Bomba 289556e673 refactor job names 2019-05-16 16:00:27 +10:00
David Bomba 8b3432f350 Apply payments and adjust ledgeR 2019-05-16 09:40:53 +10:00
David Bomba c236925e6d Fix Invoice Create routes 2019-05-16 08:26:21 +10:00
David Bomba b365d8dc6e Wire up Activity Listeners for update/create invoice 2019-05-15 15:19:18 +10:00
David Bomba 139008ed14 Working on Company ledger 2019-05-15 14:47:07 +10:00
David Bomba a2a0e6738e Working on adding transactions to the company ledger 2019-05-14 20:27:47 +10:00
David Bomba 924d5b5f7b Working on tests for Mark as Paid (invoice) 2019-05-14 14:05:05 +10:00
David Bomba ad76169b6c Working on invoice payments 2019-05-13 16:18:46 +10:00