omnibill / pennylane
Omnibill Pennylane: Pennylane's accounting for omnisense/omnibill's journal-entries and contacts contracts - ledger entries posted to a journal (found by code) on ledger accounts (found by number and VAT rate), read back and listed; company and individual customers and suppliers created, updated, re
Requires
- php: >=8.2
- omnisense/contracts: ^1.0@dev
- omnisense/omnibill: ^1.1@dev
- symfony/http-client: ^6.4|^7.0|^8.0
Requires (Dev)
- phpunit/phpunit: ^11.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-11-11 13:12:51 UTC
README
Pennylane's accounting for omnisense/omnibill:
ledger entries posted and read back, customers and suppliers - the family's journal-entries and
contacts contracts - through Pennylane's Company API v2, with a company API token or a partner
app's OAuth token (an OAuth helper is included).
use Omnibill\Pennylane\PennylaneGatewayFactory; $books = (new PennylaneGatewayFactory($httpClient))->create(['token' => getenv('PENNYLANE_TOKEN')]); $entry = $books->postEntry($journalEntry); // POST /ledger_entries on the journal and accounts found by code and number $books->saveContact($supplier); // POST /suppliers $books->findContact($supplier); // after an OutcomeUnknownException: by its external_reference, or null
Written from Pennylane's API reference, guides and API contract terms, read on 2026-11-10. Not verified in real: no account.
Pennylane's API contract terms allow a company's own integration with its own token (internal use only); an integration that serves several Pennylane customers needs API Partner status and an OAuth app from Pennylane - see the docs.
Usage policy
policy.json, read on 2026-11-10 in Pennylane's API contract terms
and rate-limiting guide: 25 requests every 5
seconds per token, internal business use, storage only as the integration needs, redistribution
forbidden. A 429 and its retry-after (or ratelimit-reset) hold the gateway's next calls.
Responsibility
This package is an independent, unofficial client: it is not affiliated with, endorsed by or sponsored by Pennylane. It reaches their service on behalf of whoever runs it. Its MIT licence covers this package's code only and grants no right to the service or to its data.
Whoever installs and runs this package is responsible for complying with Pennylane's API contract terms (pennylane.readme.io/page/api-contract-terms), for the token it uses, and for any use made of what it returns. The authors publish it free of charge, make no commercial use of it, and accept no liability for how it is used (see LICENSE).
License: MIT.