PHPackages                             roseblade/quickfile-php-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. roseblade/quickfile-php-sdk

ActiveLibrary[API Development](/categories/api)

roseblade/quickfile-php-sdk
===========================

PHP SDK for QuickFile Accounting Software JSON API

2.3.2beta(2y ago)1117[1 PRs](https://github.com/RosebladeMedia/QuickFile-PHP-SDK/pulls)MITPHPPHP &gt;=8

Since Sep 17Pushed 2y ago1 watchersCompare

[ Source](https://github.com/RosebladeMedia/QuickFile-PHP-SDK)[ Packagist](https://packagist.org/packages/roseblade/quickfile-php-sdk)[ RSS](/packages/roseblade-quickfile-php-sdk/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (4)Dependencies (1)Versions (10)Used By (0)

QuickFile PHP SDK Library
=========================

[](#quickfile-php-sdk-library)

[![GitHub](https://camo.githubusercontent.com/a0771c9eef485f69e7ee87bedcd82f2c6fd5718286bac3f2aebf6668a94dc2bb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f726f7365626c6164656d656469612f717569636b66696c652d7068702d73646b3f7374796c653d666f722d7468652d6261646765)](https://camo.githubusercontent.com/a0771c9eef485f69e7ee87bedcd82f2c6fd5718286bac3f2aebf6668a94dc2bb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f726f7365626c6164656d656469612f717569636b66696c652d7068702d73646b3f7374796c653d666f722d7468652d6261646765)[![Packagist Version](https://camo.githubusercontent.com/0483756254bbdb822259308add79df838020f449075c519c697b674e8ae1282b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f726f7365626c6164652f717569636b66696c652d7068702d73646b3f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/roseblade/quickfile-php-sdk)[![GitHub issues](https://camo.githubusercontent.com/d7c8e8689bdfaa48a764c3d4a2a15c0a488d9c1b00d208cd584c50365d44eb11/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f526f7365626c6164654d656469612f517569636b46696c652d5048502d53444b3f7374796c653d666f722d7468652d6261646765)](https://github.com/RosebladeMedia/QuickFile-PHP-SDK/issues)

Wrapper for the [QuickFile](https://www.quickfile.co.uk) API.

No validation is provided by this library.

Requirements
------------

[](#requirements)

- PHP 8.0 and later
- Guzzle HTTP 7.4 and later
- ext-json

Composer
--------

[](#composer)

You can install the library by using [Composer](http://getcomposer.org), and using the following command:

```
composer require roseblade/quickfile-php-sdk
```

Then use the Composer [autoload](https://getcomposer.org/doc/01-basic-usage.md#autoloading) library to get started:

```
require_once('vendor/autoload.php');
```

Manual
------

[](#manual)

If you don't wish to use Composer, or are unable to, you can download the latest release and include the `init.php` file:

```
require_once('/path/to/roseblade/quickfile-php-sdk/init.php');
```

Don't forget to download and install [Guzzle](https://github.com/guzzle/guzzle).

Getting Started
---------------

[](#getting-started)

### QuickFile Standard API

[](#quickfile-standard-api)

We've included an example PHP file for you to get started in `/example/index.php`.

To get started, you will need to set the API credentials, available within your QuickFile account.

```
$creds  = [
    'AccountNumber' => 6131400000,
    'APIKey'        => '000AA000-AAAA-0000-A',
    'ApplicationID' => '00000000-AAAA-AAAA-AAAA-00AA00AA00AA'
];
\QuickFile\QuickFile::config($creds);
```

or individually

```
\QuickFile\QuickFile::setAccountNumber($creds['AccountNumber']);
\QuickFile\QuickFile::setAPIKey($creds['APIKey']);
\QuickFile\QuickFile::setApplicationID($creds['ApplicationID']);
```

Each function can be accessed through it's own class, for example, for a client\\search, you would use:

```
\QuickFile\Client::search([
    // Search Data
]);
```

And for `invoice\create`

```
\QuickFile\Invoice::create([
    // Invoice Data
]);
```

These all match up with the API endpoints found in the [QuickFile API documentation](https://api.quickfile.co.uk), replacing the underscore with the function name.

For example:

- `Client_Search` &gt; `\QuickFile\Client::search();`
- `Project_TagCreate` &gt; `\QuickFile\Project::tagCreate();`
- `Supplier_Create` &gt; `\QuickFile\Supplier::create();`

All header information is populated for you. You need to supply everything as part of the body as per the documentation on the QuickFile site.

### QuickFile Partner API

[](#quickfile-partner-api)

The QuickFile Partner API allows developers to make their tools available to third parties through the QuickFile Marketplace. This involves generating an app on their account so you have the correct API endpoint access.

The set up is similar to that of the individual API above:

```
$creds  = [
    'AccountNumber' => 6131400000,
    'Token'         => 'ABCD1234',
    'ProductKey'    => '00000000-AAAA-AAAA-AAAA-00AA00AA00AA',
    'SecretKey'     => '00000000-AAAA-AAAA-AAAA-00AA00AA00AA'
];
\QuickFile\Partner::config($creds);
```

or individually

```
\QuickFile\Partner::setAccountNumber($creds['AccountNumber']);
\QuickFile\Partner::setToken($creds['Token']);
\QuickFile\Partner::setProductKey($creds['ProductKey']);
\QuickFile\Partner::setSecretKey($creds['SecretKey']);
```

There are several static functions within the `Partner` class that can help you streamline the process:

- **authenticate()**: Returns an array of API Key and ApplicationID.
- **setupConfig()**: Automatically sets up the QuickFile library with these variables

For example, after configuring the class as above:

```
\QuickFile\Partner::authenticate();

// Or, specify the returnArray and verifyProduct
// Example below is the default - verify the product and return a bool (rather than array)

\QuickFile\Partner::authenticate(true, false);

// Or be fancy with names variables

\QuickFile\Partner::authenticate(returnArray: true, verifyProduct: false);
```

This can be combined with the individual API, quickly setting the config by called `setupConfig()` and then using the API as normal:

```
\QuickFile\Partner::setupConfig();
\QuickFile\Invoice::get([
    'InvoiceID' => 123456
]);
```

FAQ
---

[](#faq)

### What version of the API does this use?

[](#what-version-of-the-api-does-this-use)

It uses 1.2 of the JSON API

### What methods/endpoints are supported?

[](#what-methodsendpoints-are-supported)

#### Bank

[](#bank)

FunctionAPI Docssearch[Link](https://api.quickfile.co.uk/d/v1_2/Bank_Search)createAccount[Link](https://api.quickfile.co.uk/d/v1_2/Bank_CreateAccount)createTransaction[Link](https://api.quickfile.co.uk/d/v1_2/Bank_CreateTransaction)getAccounts[Link](https://api.quickfile.co.uk/d/v1_2/Bank_GetAccounts)getAccountBalances[Link](https://api.quickfile.co.uk/d/v1_2/Bank_GetAccountBalances)#### Client

[](#client)

FunctionAPI Docscreate[Link](https://api.quickfile.co.uk/d/v1_2/Client_Create)delete[Link](https://api.quickfile.co.uk/d/v1_2/Client_Delete)get[Link](https://api.quickfile.co.uk/d/v1_2/Client_Get)insertContacts[Link](https://api.quickfile.co.uk/d/v1_2/Client_InsertContacts)login[Link](https://api.quickfile.co.uk/d/v1_2/Client_Login)newDirectDebitCollection[Link](https://api.quickfile.co.uk/d/v1_2/Client_NewDirectDebitCollection)search[Link](https://api.quickfile.co.uk/d/v1_2/Client_Search)update[Link](https://api.quickfile.co.uk/d/v1_2/Client_Update)#### Document

[](#document)

FunctionAPI Docsupload[Link](https://api.quickfile.co.uk/d/v1_2/Document_Upload)#### Estimate

[](#estimate)

FunctionAPI DocsacceptDecline[Link](https://api.quickfile.co.uk/d/v1_2/Estimate_AcceptDecline)convertToInvoice[Link](https://api.quickfile.co.uk/d/v1_2/Estimate_ConvertToInvoice)#### Invoice

[](#invoice)

FunctionAPI Docscreate[Link](https://api.quickfile.co.uk/d/v1_2/Invoice_Create)delete[Link](https://api.quickfile.co.uk/d/v1_2/Invoice_Delete)get[Link](https://api.quickfile.co.uk/d/v1_2/Invoice_Get)getPdf[Link](https://api.quickfile.co.uk/d/v1_2/Invoice_GetPDF)search[Link](https://api.quickfile.co.uk/d/v1_2/Invoice_Search)send[Link](https://api.quickfile.co.uk/d/v1_2/Invoice_Send)#### Item (Inventory Item)

[](#item-inventory-item)

FunctionAPI Docscreate[Link](https://api.quickfile.co.uk/d/v1_2/Item_Create)delete[Link](https://api.quickfile.co.uk/d/v1_2/Item_Delete)get[Link](https://api.quickfile.co.uk/d/v1_2/Item_Get)search[Link](https://api.quickfile.co.uk/d/v1_2/Item_Search)#### Journal

[](#journal)

FunctionAPI Docscreate[Link](https://api.quickfile.co.uk/d/v1_2/Journal_Create)delete[Link](https://api.quickfile.co.uk/d/v1_2/Journal_Delete)get[Link](https://api.quickfile.co.uk/d/v1_2/Journal_Get)search[Link](https://api.quickfile.co.uk/d/v1_2/Journal_Search)#### Ledger

[](#ledger)

FunctionAPI Docssearch[Link](https://api.quickfile.co.uk/d/v1_2/Ledgers_Search)getNominalLedgers[Link](https://api.quickfile.co.uk/d/v1_2/Ledgers_GetNominalLedgers)#### Payment

[](#payment)

FunctionAPI Docscreate[Link](https://api.quickfile.co.uk/d/v1_2/Payment_Create)delete[Link](https://api.quickfile.co.uk/d/v1_2/Payment_Delete)get[Link](https://api.quickfile.co.uk/d/v1_2/Payment_Get)getPayMethods[Link](https://api.quickfile.co.uk/d/v1_2/Payment_GetPayMethods)search[Link](https://api.quickfile.co.uk/d/v1_2/Payment_Search)#### Project

[](#project)

FunctionAPI DocstagCreate[Link](https://api.quickfile.co.uk/d/v1_2/Project_TagCreate)tagDelete[Link](https://api.quickfile.co.uk/d/v1_2/Project_TagDelete)tagSearch[Link](https://api.quickfile.co.uk/d/v1_2/Project_TagSearch)#### Purchase

[](#purchase)

FunctionAPI Docscreate[Link](https://api.quickfile.co.uk/d/v1_2/Purchase_Create)delete[Link](https://api.quickfile.co.uk/d/v1_2/Purchase_Delete)get[Link](https://api.quickfile.co.uk/d/v1_2/Purchase_Get)search[Link](https://api.quickfile.co.uk/d/v1_2/Purchase_Search)#### PurchaseOrder

[](#purchaseorder)

FunctionAPI Docscreate[Link](https://api.quickfile.co.uk/d/v1_2/PurchaseOrder_Create)#### Report

[](#report)

FunctionAPI Docsageing[Link](https://api.quickfile.co.uk/d/v1_2/Report_Ageing)balanceSheet[Link](https://api.quickfile.co.uk/d/v1_2/Report_BalanceSheet)chartOfAccounts[Link](https://api.quickfile.co.uk/d/v1_2/Report_ChartOfAccounts)profitAndLoss[Link](https://api.quickfile.co.uk/d/v1_2/Report_ProfitAndLoss)vatObligations[Link](https://api.quickfile.co.uk/d/v1_2/Report_VatObligations)subscriptions[Link](https://api.quickfile.co.uk/d/v1_2/Report_Subscriptions)#### Supplier

[](#supplier)

FunctionAPI Docscreate[Link](https://api.quickfile.co.uk/d/v1_2/Supplier_Create)delete[Link](https://api.quickfile.co.uk/d/v1_2/Supplier_Delete)get[Link](https://api.quickfile.co.uk/d/v1_2/Supplier_Get)search[Link](https://api.quickfile.co.uk/d/v1_2/Supplier_Search)#### System

[](#system)

FunctionAPI DocscreateNote[Link](https://api.quickfile.co.uk/d/v1_2/System_CreateNote)searchEvents[Link](https://api.quickfile.co.uk/d/v1_2/System_SearchEvents)getAccountDetails[Link](https://api.quickfile.co.uk/d/v1_2/System_GetAccountDetails)### Is this library supported by QuickFile?

[](#is-this-library-supported-by-quickfile)

No, this is an unofficial library

### How is the data sent to QuickFile?

[](#how-is-the-data-sent-to-quickfile)

The data is always sent using HTTPS, using the Guzzle HTTP library. Guzzle will use cURL, but it's not required. Please see the [Guzzle Website](http://docs.guzzlephp.org/en/latest/overview.html) for information.

### I've found a bug, where do I report it?

[](#ive-found-a-bug-where-do-i-report-it)

If it's a security bug relating to the API, you can post it to the [QuickFile forum](https://community.quickfile.co.uk). If it's a bug with the library, please open an issue. If it's a security issue, please contact us through [our website](https://roseblade.media) before posting it publicly.

### What is API Partners?

[](#what-is-api-partners)

QuickFile operates a scheme called API Partners:

> As an API Partner we provide you with a framework you can use so you can tell other users about your API product

Check out their [user guide](https://support.quickfile.co.uk/t/api-partners/15344) for more info.

### How does the API partners work?

[](#how-does-the-api-partners-work)

It works by you having access to a secret key which can be combined with a user's account number and token (from the [QuickFile marketplace](https://support.quickfile.co.uk/t/app-marketplace/17571)). This generates an App ID and provides you with their API key so you can then interact with their account on their behalf.

###  Health Score

26

↓

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~292 days

Recently: every ~167 days

Total

8

Last Release

740d ago

Major Versions

1.1.6beta → 2.0.1beta2022-06-05

PHP version history (2 changes)1.1.5betaPHP &gt;=5.5.0

2.0.1betaPHP &gt;=8

### Community

Maintainers

![](https://www.gravatar.com/avatar/79709cf1f76ba0120e459da3effa93120ae0897393a34caa5200140c7e5fd728?d=identicon)[MatMorrisParker](/maintainers/MatMorrisParker)

---

Top Contributors

[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")[![MatMorrisParker](https://avatars.githubusercontent.com/u/6892752?v=4)](https://github.com/MatMorrisParker "MatMorrisParker (1 commits)")

---

Tags

accountingaccounting-integratorapiphpquickfileapiAccountingquickfilequick file

### Embed Badge

![Health badge](/badges/roseblade-quickfile-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/roseblade-quickfile-php-sdk/health.svg)](https://phpackages.com/packages/roseblade-quickfile-php-sdk)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[get-stream/stream-chat

A PHP client for Stream Chat (https://getstream.io/chat/)

301.8M2](/packages/get-stream-stream-chat)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)[exlo89/laravel-sevdesk-api

A helpful Sevdesk API client for Laravel.

1116.5k](/packages/exlo89-laravel-sevdesk-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
