PHPackages                             qbil-software/read-soft-online - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. qbil-software/read-soft-online

ActiveLibrary[HTTP &amp; Networking](/categories/http)

qbil-software/read-soft-online
==============================

ReadSoftOnline PHP client

v3.1(2y ago)1104.8kMITPHPPHP &gt;=7.2

Since Dec 8Pushed 1y ago2 watchersCompare

[ Source](https://github.com/QbilSoftware/ReadSoftOnline)[ Packagist](https://packagist.org/packages/qbil-software/read-soft-online)[ RSS](/packages/qbil-software-read-soft-online/feed)WikiDiscussions master Synced 2mo ago

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

ReadSoftOnline (RSO) PHP Client
===============================

[](#readsoftonline-rso-php-client)

ReadSoftOnline PHP client (RSO PHP Client)

What is ReadSoft Online ?

> From

> ReadSoft Online leads the industry in capture, extraction and validation of invoices in the cloud. Process your invoices seamlessly and affordably and for free. Download your free trial version and experience how easy ReadSoft Online solution easily integrates into your existing ERP system.

This package uses [Guzzle PHP Http Client](https://github.com/guzzle/guzzle) to make API requests to [services.readsoftonline.com](https://services.readsoftonline.com) and provides some easy methods for interacting with ReadSoftOnline.

[Click here](https://docs.readsoftonline.com/help/eng/office/integration/API-user-guide/c_introduction.html) for more information about [ReadSoftOnline API](https://services.readsoftonline.com/documentation/rest).

The package is fairly simple. All you need to do is install this package via [composer](https://getcomposer.org), require `autoload.php` file and create instance of `Qbil\ReadSoftOnline\Client` class, it expects one parameter (API key).

**Installation**

1. `composer require qbil-software/read-soft-online`
2. `require_once 'vendor/autoload.php';`
3. `$client = new Qbil\ReadSoftOnline\Client('insert_api_key_here');`
4. Authenticate using `$client->authenticate('rso username here', 'rso password here')`

`Qbil\ReadSoftOnline\Client` has following public methods

1. `setHeaders()`: Set additional headers or modify existing header information.
2. `isAuthenticated()`: Check whether client is authenticated or not.
3. `authenticate($userName, $password)`: Authenticate client with username and password.
4. `getCustomers()`: Return array of `Models\Customer` with all customers associated with current account
5. `getBuyers(Customer $customer)`: Return array of `Models\Buyer` with all buyers associated with passed customer.
6. `getOutputDocuments(Customer $customer)`: Return array of `Models\OutputDocument` with all processed documents associated with passed customer. The `OutputDocument` class contains mostly meta data about Document like DocumentId, BatchId, BuyerId, etc.
7. `getDocument(OutputDocument $document)`: Return whole processed document info (instance of `Models\Document` class) including meta data, buyer and customer info. etc.
8. `getProcessedInvoice(Document $document)`: Return instance of `Models\Invoice` containing only relevant data of processed invoice (without any meta data).
9. `setDocumentStatus(Document $document, $status)`: Set status of processed document (`STATUS_SUCCESS` or `STATUS_REJECTED`)
10. `setSuppliers($organizationId, array $suppliers)`: Upload suppliers to ReadSoftOnline. `$organizationId` is either Buyer Id or Customer Id (depends upon settings of RSO)

and one protected method:

`request(string $method, string $route, array $options = [])`: This method is mostly internally used to make request via GuzzleHttp/Client. You may extend the class to implement more methods from RSO API and use this method for making proper requests.

See `Qbil\ReadSoftOnline\Client` for definition of each method

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance26

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 52.4% 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 ~80 days

Recently: every ~172 days

Total

25

Last Release

787d ago

Major Versions

v0.8 → v1.02018-12-11

v1.5 → v2.02019-08-21

v2.9 → v3.12024-03-14

### Community

Maintainers

![](https://www.gravatar.com/avatar/2cd716f0e3c765196762bb3cf4e04055e1ef59dcbca35e2297a987cc555870f5?d=identicon)[faizan](/maintainers/faizan)

---

Top Contributors

[![faizanakram99](https://avatars.githubusercontent.com/u/10880992?v=4)](https://github.com/faizanakram99 "faizanakram99 (22 commits)")[![xersion22](https://avatars.githubusercontent.com/u/16309460?v=4)](https://github.com/xersion22 "xersion22 (18 commits)")[![aszenz](https://avatars.githubusercontent.com/u/25319264?v=4)](https://github.com/aszenz "aszenz (2 commits)")

---

Tags

php-clientreadsoft-onlinerso

### Embed Badge

![Health badge](/badges/qbil-software-read-soft-online/health.svg)

```
[![Health](https://phpackages.com/badges/qbil-software-read-soft-online/health.svg)](https://phpackages.com/packages/qbil-software-read-soft-online)
```

###  Alternatives

[spatie/crawler

Crawl all internal links found on a website

2.8k16.3M52](/packages/spatie-crawler)[omniphx/forrest

A Laravel library for Salesforce

2724.4M8](/packages/omniphx-forrest)[akamai-open/edgegrid-client

Implements the Akamai {OPEN} EdgeGrid Authentication specified by https://developer.akamai.com/introduction/Client\_Auth.html

482.5M6](/packages/akamai-open-edgegrid-client)[muhammadhuzaifa/telescope-guzzle-watcher

Telescope Guzzle Watcher provide a custom watcher for intercepting http requests made via guzzlehttp/guzzle php library. The package uses the on\_stats request option for extracting the request/response data. The watcher intercept and log the request into the Laravel Telescope HTTP Client Watcher.

98239.8k1](/packages/muhammadhuzaifa-telescope-guzzle-watcher)[onesignal/onesignal-php-api

A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com

34170.2k2](/packages/onesignal-onesignal-php-api)[ory/hydra-client-php

Documentation for all of Ory Hydra's APIs.

1710.8k](/packages/ory-hydra-client-php)

PHPackages © 2026

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