Accounting

Xero

Primary accounting software — deeply integrated throughout the platform

StatusRequired
Packagepackages/xero (Svelte + TypeScript), packages/openmembers/libs/xero.js
AuthOAuth 2.0 with auto-refresh tokens
APIhttps://api.xero.com/api.xro/2.0

Capabilities:

  • Create/update invoices and credit notes
  • Manage contacts (customers, suppliers)
  • Track items, accounts, and tracking codes
  • Payment reconciliation
  • Tax rates and currency handling
  • Token refresh every minute via cron

Payment Gateways

PayFast

South African payment gateway — card and subscription payments

StatusRequired (SA)
Filepackages/openmembers/libs/payfast.js
AuthMerchant ID + Key + Passphrase (MD5 signature)
APIhttps://api.payfast.co.za/subscriptions/{token}

Supports: stored token one-click payments, ad-hoc purchases, subscription billing, IP validation.

Mollie

European payment gateway

StatusOptional
Filepackages/openmembers/libs/mollie.js
AuthAPI key via @mollie/api-client

Payment creation with redirect and webhook URLs. Default currency: EUR.

PayPal

International payments

StatusOptional
Filepackages/openmembers/libs/paypal.js
Authpaypal-rest-sdk (sandbox + production modes)

Credit card and PayPal payments. Uses Fixer.io for currency conversion.

Flutterwave

Multi-country payment gateway

StatusOptional
ConfigPublic key, secret key, encryption key in config

M-Pesa

Mobile money payments (Africa)

StatusOptional
ConfigConfiguration in openmembers config section

Zapper

South African POS payment

StatusOptional
ConfigMerchant ID, Site ID, API Key

Fixer.io

Currency exchange rates

StatusOptional
Filepackages/openmembers/libs/currencyconversion.js

Real-time exchange rate conversion, default ZAR to USD. Used by PayPal integration.

Infrastructure & Access Control

Papercut (Print Management)

Print credit and user management via SSH

StatusOptional
Filepackages/openmembers/libs/papercut.js
ProtocolSSH2 with private key auth

User creation/deletion, balance management, group management, suspension/unsuspension, reconnection with 60s retry.

OpenRadius (WiFi)

RADIUS server for WiFi authentication

StatusOptional
Filepackages/openmembers/libs/openradius.js
AuthBasic auth to REST API

User provisioning, auto-generated passwords (happypass), service profiles, login testing.

Clay (Smart Locks)

Door access control via smart locks + RFID tags

StatusOptional
ModelsClayLock, ClayAccessGroup, ClayTag

Smart lock assignment to spaces, access group management, RFID/NFC tag provisioning.

Admyt (Parking)

Parking access and car management

StatusOptional
IntegrationREST API with credentials from config

Car CRUD operations, remote user linking, license plate normalization, diff-based sync.

Communication

Nodemailer (Email)

Transactional email via SMTP

StatusRequired
Filepackages/openmembers/libs/mail.js
TemplatesHandlebars with custom helpers (date formatting, encryption, timezone)

Booking confirmations, invoice notifications, payment receipts, password resets, welcome emails, admin notifications.

BulkSMS

SMS notifications (current)

StatusOptional
Filepackages/openmembers/libs/bulksms.js
APIhttps://api.bulksms.com/v1/messages

Clickatell (SMS - Legacy)

Legacy SMS provider

StatusOptional (Legacy)
Filepackages/openmembers/libs/clickatell.js

Slack

Webhook-based notifications

StatusOptional
Filepackages/openmembers/libs/slack.js

Zulip (Chat)

Internal team messaging

StatusOptional
IntegrationStream-based messaging, check-in callbacks

Matrix Protocol

Decentralized chat

StatusOptional
Packagepackages/matrix (matrix-js-sdk v9.9.0)

Mailchimp

Email marketing campaigns

StatusOptional
Packagepackages/mailchimp

Mailarchiva

Email archival for CRM

StatusOptional
UsageCRM opportunity view — retrieves email history by sender/recipient

Cloud & Search

Google Cloud Pub/Sub

Asynchronous message queue

StatusRequired
Filepackages/api/libs/messagequeue.js
CredentialsJSON keyfile at /home/workspaceman/keys/Google_Keyfile.json

Google BigQuery

Analytics data warehouse

StatusOptional
Filepackages/api/bin/bqlogger.js

Google Sheets

Spreadsheet data import/export

StatusOptional
Filepackages/openmembers/libs/sheets.js

Elasticsearch

Full-text search

StatusOptional
Filepackages/openmembers/libs/elasticsearch.js
Index"myopen" — types: user, room, organisation, invoice, guest, log

Sentry

Error tracking and monitoring

StatusOptional
Filepackages/api/libs/instrument.js
CoverageAll 5 services (API, OpenMembers, CRM, Jobs, Cron)

Authentication Providers

ProviderData RetrievedStatus
Facebook OAuthEmail, name, profile picture, age rangeOptional
Google OAuthEmail, profile infoOptional
LinkedIn OAuthEmail, lite profileOptional
Twitter OAuthAuthentication onlyOptional
reCAPTCHABot prevention on formsOptional

Integration Summary

CategoryServicePurposeRequired?
AccountingXeroInvoices, payments, contacts, credit notesYes
PaymentPayFastSA card/subscription paymentsYes (SA)
PaymentMollieEuropean paymentsNo
PaymentPayPalInternational paymentsNo
PaymentFlutterwaveMulti-countryNo
PaymentM-PesaMobile moneyNo
PaymentZapperSA POSNo
MessagingGoogle Pub/SubAsync job queueYes
EmailNodemailer/SMTPTransactional emailYes
PrintPapercutPrint accounting via SSHNo
WiFiOpenRadiusRADIUS user provisioningNo
AccessClaySmart locks + RFIDNo
ParkingAdmytParking accessNo
SMSBulkSMSSMS notificationsNo
ChatSlack / Zulip / MatrixNotifications / messagingNo
MarketingMailchimpEmail campaignsNo
SearchElasticsearchFull-text searchNo
MonitoringSentryError trackingNo
AnalyticsBigQueryData warehouseNo
CurrencyFixer.ioExchange ratesNo