Pennylane Integration

Pennylane Integration

Overview

The Pennylane integration connects your MyFulfillment store to Pennylane, an accounting and invoicing platform. Once connected, MyFulfillment automatically creates a customer invoice in Pennylane for every completed order, keeping your accounting up to date without any manual entry.
What gets synced:
  • Customers — billing customers are created or matched in Pennylane automatically.
  • Invoices — one invoice per order, including line items, discounts, shipping, and VAT.
  • Payments — invoices are linked to the matching bank transaction in Pennylane when possible.
  • Categories (optional) — invoices can be tagged with a Pennylane analytic category per store, useful if you run several shops under one legal entity.

Prerequisites

  • A Pennylane account with API access enabled.
  • Admin access to your MyFulfillment integration settings.

1. Connecting your Pennylane account

  1. In MyFulfillment, go to Integrations and create (or open) a Pennylane integration.
  2. On the Configuration tab, under API Connection, click Connect.
  3. You'll be redirected to Pennylane to log in and authorize MyFulfillment.
  4. Once you approve access, you're redirected back to the integration page, and the Access Token and Refreshment Token fields are filled in automatically.
That's it — the connection is now active. MyFulfillment keeps the connection alive on its own: your access token is refreshed automatically a few minutes before it expires, so you never need to reconnect manually unless you revoke access from the Pennylane side.
Note: The Access Token and Refreshment Token fields are read-only — they're for reference only and are managed by the integration.

2. Configuring order export

Still on the Configuration tab, under Order Export settings, set up the following.
The Configuration tab — API Connection and Order Export settings.

Payment Methods Mapping

Map each MyFulfillment payment method to a Pennylane banking provider, so exported invoices can be automatically matched to the corresponding bank transaction in Pennylane.
Pennylane banking providerHow the match is made
Bank TransferMatched using the order number.
StripeMatched using the transaction ID stored on the payment.
GoCardlessMatched using the transaction ID stored on the payment.

Note: For Stripe and GoCardless, if no transaction ID is available on the order's payment record, the invoice is still exported — it simply won't be pre-matched to a bank transaction, and you'll need to match it manually in Pennylane.

At least one mapping entry is required. Without it, order export will not run.

Category per Store

If you sell through multiple stores under a single Pennylane account, you can map each store to a Pennylane analytic category. Every invoice (and the related customer) exported from that store will be tagged with the chosen category — handy for per-shop reporting within one legal entity. This setting is optional.

3. How order export works

Once connected and configured, MyFulfillment automatically exports orders to Pennylane as invoices.

Which orders are exported

An order is picked up for export when all of the following are true:
  • It belongs to a store linked to the Pennylane integration.
  • It hasn't already been exported.
  • It's flagged for Pennylane export.
  • Its status is Complete.
Orders are processed in batches automatically; there's nothing to trigger manually.

Customer matching

For every order, MyFulfillment tries to reuse an existing Pennylane customer before creating a new one:
  1. If the order's customer has already been exported before, the previously linked Pennylane customer is reused.
  2. Otherwise, MyFulfillment searches Pennylane for a customer with the same email address. If one is found, it's linked and reused going forward.
  3. If no match is found, a new customer is created in Pennylane — as a company if the billing address includes a company name, or as an individual otherwise.
Guest checkouts are also supported: a new Pennylane customer is created for each guest order, without being linked to a MyFulfillment account (since there isn't one).

Invoice content

Each exported invoice includes:
  • One line per ordered product, with quantity, unit price, and any discount applied.
  • A shipping line, when shipping was charged on the order.
  • The correct VAT rate for each line, based on the billing country and the tax rate on the order. If VAT rates aren't configured in Pennylane for a given country, the line is exported as VAT-exempt instead of failing.
  • A small rounding-adjustment line when needed, so the invoice total in Pennylane always matches the order's grand total exactly (Pennylane calculates VAT per line, which can occasionally differ by a cent or two from the order's stored total).
  • A payment reference, when the payment method is mapped, so the invoice can be matched to its bank transaction in Pennylane.
  • The store's analytic category, when Category per Store is configured.

After a successful export

  • A comment with the Pennylane invoice number is added to the order's history.
  • The invoice PDF is stored on the order for reference.
  • The order is marked as exported and won't be exported again.
If Pennylane already has an invoice for that order — for example, from a previous run that partially failed — MyFulfillment reuses it instead of creating a duplicate.
A completed ORDER_SYNC run in the integration's Historical feeds tab.


4. Debug tools

The Tools tab on the integration page lets you look up raw data directly from Pennylane, useful for support and troubleshooting:
  • Debug customer by ID — enter a Pennylane customer ID to view that customer's data as returned by Pennylane.
  • Debug invoice by ID — enter a Pennylane invoice ID to view that invoice's data as returned by Pennylane.

5. Troubleshooting

Export issues for individual orders appear in the integration's Sync Errors tab, referenced by order number. The order stays marked as not-yet-exported and is retried on the next run — other orders in the same batch are not affected.
MessageWhat it meansWhat to do
No access token configured for PennylaneThe integration isn't connected yet, or the connection was revoked.Reconnect via Connect on the Configuration tab.
Payment method mapping must have at least one entry.No payment method has been mapped yet.Add at least one row under Payment Methods Mapping.
Pennylane connection failed: …Pennylane's API returned an error (e.g. temporarily unavailable).MyFulfillment automatically retries transient errors; if the issue persists, check Pennylane's status or your API access.

6. FAQ

Do I need to do anything to export an order — click a button, run a report?
No Once connected and configured, eligible orders are exported automatically.

What happens if my Pennylane connection expires?
MyFulfillment refreshes the connection automatically before it expires. You only need to reconnect manually if access was revoked from the Pennylane side.

Can I use this with several shops on one Pennylane account?
Yes — use Category per Store to tag invoices per shop for separate reporting, while keeping a single Pennylane connection.

What if a customer's order has no matching payment transaction ID?
The invoice is still exported; it just isn't pre-matched to a bank transaction, so you'll need to match it manually in Pennylane.

Will an order ever be exported twice?
No Once an order is successfully exported, it's marked as such and excluded from future export runs.