Download the PHP package justinholtweb/craft-bird without Composer

On this page you can find all versions of the php package justinholtweb/craft-bird. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package craft-bird

Bird

Moneybird bookkeeping for Craft Commerce 5. Paid orders become invoices with the right VAT on them, contacts stay in sync, payments land against the invoice, and refunds come back off as credit notes.

Bird takes the position that Commerce decides what to charge and Bird decides where to book it. Commerce's tax engine already knows your zones, your rates and your VAT-number validators; re-deriving all of that would give your shop two answers that drift apart, and the one the customer actually paid is Commerce's. What Moneybird needs on top of the number is the reason — 0% reverse-charged, 0% exported and 0% zero-rated are three different rates over there, and they land in three different boxes on a VAT return.

Bird is an independent plugin. It is not affiliated with, endorsed by, or sponsored by Moneybird. "Moneybird" is a trademark of its respective owner.

Requirements

Installation

Then open Settings → Plugins → Bird:

  1. Paste an API token (create one at moneybird.com → your profile → Applications) and the administration id — the number in Moneybird's own URLs. Both accept $ENV_VAR references, and a token is as powerful as your password, so use one.
  2. Test connection, then Suggest a mapping to fill in the VAT table from the rates your administration already has.
  3. Pick the 0% rate that prints btw verlegd as the reverse-charge rate, and the 0% export rate.

php craft bird/sync/status says the same things from a terminal.

Editions

Lite (free) Pro
Price Free $99, $49/year renewal
Sales invoices or external sales invoices ✅ ✅
Automatic push on paid / completed / a status ✅ ✅
Contact create, match and update ✅ ✅
Domestic, reverse-charge and export VAT ✅ ✅
Payment registration ✅ ✅
Rounding reconciliation ✅ ✅
Panel on Commerce's order screen, with a byte-exact preview ✅ ✅
Documents index, craft.bird.* Twig API, console commands ✅ ✅
One Stop Shop — per-country EU consumer rates — ✅
Credit notes for Commerce refunds — ✅
Send the invoice from Moneybird — ✅
Paid-invoice webhook, signature-verified — ✅
Per-product-type ledger accounts — ✅
Connection log with request and response payloads — ✅

Two ways to book an order

Sales invoice. Moneybird owns the invoice number, produces the PDF, and can email it. Use this when Moneybird is where your invoices come from.

External sales invoice. The order number is the invoice number, and Moneybird just books the revenue and the VAT — no PDF, no sending. Use this when your shop already issues its own invoices and you only need the bookkeeping.

Both are one setting apart, and everything else in Bird works the same either way.

How the VAT engine decides

Situation Treatment Rate used
Customer in your home country Domestic The mapped percentage
EU business, VAT number matching its country, no tax charged Reverse charge Your btw verlegd rate
EU consumer, OSS on OSS That country's mapped rate
EU consumer, OSS off Home rate The mapped percentage
Outside the EU Export Your export rate

A VAT number on an order that still paid 21% is not reverse charge — it is a shop that never turned Commerce's VAT-number validator on, and booking it as reverse-charged would understate the return by exactly what the customer paid. Bird books what happened.

Rates are matched on the money, not on a derived percentage. Commerce rounds tax to the cent per line, so €10.10 at 21% records €2.12 — which divides back out as 20.99%, a rate no shop has ever configured. Bird looks for the mapped rate whose arithmetic lands within a cent, and puts the remainder on a rounding line so the invoice total always equals what the customer paid.

The order screen

Every Commerce order gets a Moneybird panel: what has been booked, the VAT treatment and number Bird read off the address, Send to Moneybird, Credit refunds, and Preview invoice — which runs the same Invoices::buildPayload() the push does, so the JSON you are shown is the JSON that gets sent, tax rate ids and all.

Twig

Console

The webhook

Bird pushes invoices; Moneybird is where they get paid — matched against a bank feed, or marked paid by hand. Without the webhook, your site's idea of "paid" is whatever the payment gateway said at checkout, which misses every bank transfer.

Install webhook registers it and stores the signing secret Moneybird shows exactly once. Every delivery is verified against Moneybird-Signature — HMAC-SHA256 over {timestamp}.{raw body}, rejected if the timestamp is more than five minutes out. No secret, no signature, no stale timestamp, no request: it fails closed.

Safety

Languages

The control panel is translated into the languages Moneybird itself publishes in:

English en
Nederlands nl
Nederlands (België) nl-BE
Deutsch de
Français (Belgique) fr-BE

Craft picks the catalogue from the user's language, so a Dutch bookkeeper and an English developer can share an install and each see their own. A string with no translation falls back to English rather than to a blank.

The documentation at justinholt.com/plugins/craft-bird is published in the same five.

Support

[email protected]

Trademarks

Bird is an independent plugin and is not affiliated with, endorsed by, or sponsored by Moneybird. "Moneybird" is a trademark of its respective owner, used here only to describe what this plugin connects to.


All versions of craft-bird with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-json Version *
craftcms/cms Version ^5.3.0
craftcms/commerce Version ^5.0.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package justinholtweb/craft-bird contains the following files

Loading the files please wait ...