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

v1.0 2025-12-15 02:45 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();