Use Cases
Common Use Cases
- Payment recording
- Refund tracking
- Revenue recognition
- Tax preparation
Before You Begin
Prerequisites
- Stripe account with API access
- QuickBooks Online account
- Understanding of double-entry accounting
Walkthrough
Step-by-Step Guide
1
Connect Stripe
Configure the Stripe MCP Server with your secret API key for reading payment data.
2
Connect QuickBooks
Set up QuickBooks MCP Server with OAuth credentials for your QuickBooks Online company.
3
Map Accounts
Map Stripe events to QuickBooks accounts: payments to revenue, fees to expenses, refunds to contra-revenue.
4
Implement Sync Logic
Create the sync agent that processes Stripe events and creates QuickBooks entries.
async function syncPayment(charge) {
await quickbooks.createSalesReceipt({
CustomerRef: { value: await findOrCreateCustomer(charge.customer) },
Line: [{
Amount: charge.amount / 100,
DetailType: "SalesItemLineDetail",
SalesItemLineDetail: { ItemRef: { value: "1" } }
}],
PaymentMethodRef: { value: "credit_card" }
});
// Record Stripe fee as expense
await quickbooks.createExpense({
Amount: charge.application_fee_amount / 100,
AccountRef: { value: STRIPE_FEES_ACCOUNT }
});
}5
Reconcile Daily
Run a daily reconciliation check comparing Stripe dashboard totals with QuickBooks balances.
Examples
Code Examples
typescript
Payment Sync
async function syncStripeToQB() {
const charges = await stripe.listCharges({ created: { gte: startOfDay() }, limit: 100 });
for (const charge of charges.data) {
if (charge.status === "succeeded") await syncPayment(charge);
if (charge.refunded) await syncRefund(charge);
}
}typescript
Reconciliation Check
async function reconcile(date) {
const stripeTotal = await stripe.balanceTransactions({ created: { gte: date } });
const qbTotal = await quickbooks.query(`SELECT * FROM SalesReceipt WHERE TxnDate = '${date}'`);
return { match: Math.abs(stripeTotal - qbTotal) < 0.01, difference: stripeTotal - qbTotal };
}Help
Troubleshooting
How do I handle Stripe fees?+
What about currency conversion?+
How do I handle disputed charges?+
Quick Info
DifficultyIntermediate
Time Estimate1 hour
Tools
Stripe MCP ServerQuickBooks MCP Server