sprint-digital / sawfish-integration
This is a package for Sawfish accounting API integration
Fund package maintenance!
Sprint Digital
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 2
pkg:composer/sprint-digital/sawfish-integration
Requires
- php: ^8.2
- illuminate/contracts: ^11.0||^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.16.2
- nunomaduro/collision: ^8.1
- orchestra/testbench: ^10.3.0
- pestphp/pest: ^3.0
This package is auto-updated.
Last update: 2025-12-15 04:37:43 UTC
README
Installation
You can install the package via composer: (This is pending as it's not added to Packagist yet)
composer require sprint-digital/sawfish-integration
You can publish the config file with:
php artisan vendor:publish --tag="sawfish-integration-config"
This is the contents of the published config file:
return [ 'api_url' => env('SAWFISH_API_URL'), ];
The default SAWFISH_API_URL is https://api.sawfish.com.au/api/v2/accounting, but if you want to use the staging URL publish the config then add this to your .env SAWFISH_API_URL=https://api.sawfish.2mm.io/api/v2/accounting
Testing
composer test
Setup
This is to setup sawfish integration, this creates the table and asks for the sawfish credentials
php artisan sawfish:integrate
Usage
use SprintDigital\SawfishIntegration\SawfishIntegration; // Token management methods SawfishIntegration::generateToken(); SawfishIntegration::refreshToken(); SawfishIntegration::revokeToken(); // Accounts methods SawfishIntegration::getAccounts(); // Client methods SawfishIntegration::getClients(); SawfishIntegration::createClient(); SawfishIntegration::getClientByUuids(); SawfishIntegration::addContactPersons(); SawfishIntegration::updateContactPersons(); // Invoice methods SawfishIntegration::getInvoices(); SawfishIntegration::createInvoice(); SawfishIntegration::updateInvoice(); SawfishIntegration::voidInvoice(); SawfishIntegration::sendInvoice(); SawfishIntegration::getPdfInvoiceLink(); SawfishIntegration::addInvoiceAttachments(); SawfishIntegration::deleteInvoiceAttachments(); SawfishIntegration::manualInvoicePayment(); // Items methods SawfishIntegration::getItems();