justinholtweb/craft-erpy-exactonline

Exact Online connector for Erpy.

Maintainers

Package info

github.com/justinholtweb/craft-erpy-exactonline

Type:craft-plugin

pkg:composer/justinholtweb/craft-erpy-exactonline

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-08-29 00:52 UTC

This package is auto-updated.

Last update: 2026-08-29 12:22:57 UTC


README

An Erpy connector for Exact Online.

Free. Erpy itself is the paid part — it owns the sync engine, the identity map, the field mapping, the queue, the dead letters and the log. This package's whole job is to translate one vendor's API into Erpy's canonical documents.

Installing

composer require justinholtweb/craft-erpy-exactonline
php craft plugin/install erpy-exactonline

Then add a connection under Erpy → Connections and pick it from the ERP list.

What you need to know

Authentication

OAuth 2.0 authorization code — one consent in a browser, then Erpy keeps it alive.

Refresh tokens rotate

Every refresh invalidates the previous refresh token. Storing the old one means the connection dies the second time it is used; Erpy writes the rotated token back. If two integrations share one app registration they will keep logging each other out.

Divisions

Everything is scoped to a division. A wrong division number returns an empty, entirely successful response — set it explicitly before going live.

What it syncs

The connection screen shows exactly which entities and directions this connector supports — it is generated from the connector's own declaration, so it can never advertise a flow it has not implemented.

A field is wrong

Correct it on the mapping screen: a rule whose target is a canonical field (sku, unitPrice, customerCode) overrides what the connector read, before anything reaches Commerce. No fork, no wait for a release.

Requirements

Craft CMS 5.3+, Craft Commerce 5.0+, PHP 8.2+, and Erpy 5.0+.

Support

justin@justinholt.com