Sync to Moneybird
A WooCommerce plugin to sync orders to Moneybird.
by Thomas Schoffelen · github.com/tschoffelen/moneybird-for-woocommerce
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/tschoffelen/moneybird-for-woocommerce/archive/refs/heads/main.zipA modern WordPress plugin that automatically syncs WooCommerce orders to Moneybird accounting software as external sales invoices.
Features
- Easy Setup - Guided setup wizard to connect your Moneybird account
- Automatic Sync - Orders are automatically synced when they reach processing or completed status
- Flexible Configuration - Choose which ledger account and tax rate to use
- Sync History - View detailed history of all synced orders with success/error status
- Smart Tax Handling - Automatically applies the correct tax rate based on order tax amounts
- Order Notes - Adds private order notes with direct links to Moneybird invoices
- Comprehensive Logging - Track all sync attempts with detailed error messages
Requirements
- WordPress 5.2 or higher
- WooCommerce 5.0 or higher
- PHP 7.4 or higher
- Active Moneybird account
- Moneybird API token with appropriate permissions
Installation
From GitHub
- Clone this repository or download the ZIP file
- Upload to your
/wp-content/plugins/directory - Activate the plugin through the 'Plugins' menu in WordPress
- Navigate to Moneybird in the admin menu
- Follow the setup wizard to connect your Moneybird account
Creating a Moneybird API Token
- Log in to your Moneybird account
- Go to Administration Settings > External Applications
- Click "Create API Token"
- Select the following permissions:
- Sales invoices
- Copy the generated token and paste it in the plugin setup
Usage
Initial Setup
- After activation, navigate to Moneybird in your WordPress admin menu
- Enter your Moneybird API token in the setup wizard
- The plugin will automatically:
- Validate your token
- Retrieve your administration ID
- Verify you have the correct permissions
Configuration
Once connected, configure the following settings:
- Ledger Account: Select which ledger account to use for order line items
- Default Tax Rate: Choose the default tax rate to apply (optional)
- Sync Trigger: Choose when to sync orders (Processing or Completed status)
Monitoring
View the Sync History page to:
- See all synced orders
- Check sync status (success or error)
- Access direct links to Moneybird invoices
- View detailed error messages for failed syncs
Development
Local Development Setup
This plugin uses @wordpress/env for local development:
# Install dependencies
npm install
# Start the development environment
npm start
# Stop the development environment
npm stop
The local environment includes:
- Latest WordPress installation
- WooCommerce 10.3.3
- The plugin automatically activated
FAQ
Can I sync existing orders?
Currently, the plugin only syncs orders automatically when they transition to the configured status. Manual syncing may be added in a future version.
What happens if syncing fails?
Failed sync attempts are logged in the sync history, and a private order note is added to the order with error details.
How are taxes handled?
The plugin applies the configured default tax rate only when the WooCommerce tax amount matches expectations. Otherwise, line items are synced without a tax rate for manual adjustment in Moneybird.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This plugin is licensed under the MIT License. See LICENSE for details.
Author
Thomas Schoffelen
- Website: includable.com
- GitHub: @includable
Support
For issues and questions, please use the GitHub Issues page.