justinholtweb / craft-erpy-afas
AFAS Profit connector for Erpy.
Package info
github.com/justinholtweb/craft-erpy-afas
Type:craft-plugin
pkg:composer/justinholtweb/craft-erpy-afas
Requires
- php: ^8.2
- craftcms/cms: ^5.3.0
- justinholtweb/craft-erpy: ^5.0.0
This package is auto-updated.
Last update: 2026-08-29 12:19:55 UTC
README
An Erpy connector for AFAS Profit.
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-afas php craft plugin/install erpy-afas
Then add a connection under Erpy → Connections and pick it from the ERP list.
What you need to know
Authentication
An App Connector token. AFAS gives it to you as XML and expects it back base64-encoded inside an AfasToken header — paste only the part between <data> and </data> and Erpy does the rest.
There is no fixed schema
A GetConnector is built by your implementation partner, with whatever fields and names they chose. Every connector name is a setting here, the defaults are AFAS’s own standard ones, and any individual field can be corrected on Erpy’s mapping screen with a rule targeting the canonical field.
Delta syncing
Works if your GetConnectors expose a modified field — name it in the settings. If they do not, every sync reads everything, which Erpy’s change detection makes cheap.
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+.