Record payout from Stripe in Wave Accounting
This workflow helps small business owners using Wave Apps to easily access the Wave Accounting API using n8n
In this example, the workflow is triggered from a new payout from Stripe. It then logs the transaction as a journal entry in Wave Accounting, helping you automate your accounting without needing to pay for expensive subscriptions!
What this workflow template does
This workflow triggers when a payout is paid in Stripe and sends a GraphQL request to the Wave Accounting API recording the payout as a journal entry automatically. The benefits of this worklow are to instantaneously keep your books up to date and to ensure accuracy.
How to setup
- Setup your Stripe credential in n8n using the native Stripe nodes.
- Follow this guide to get your Wave Apps authorization token.
- Setup the node with the correct header auth -> {"Authorization": "Bearer TOKEN-HERE"}
- Get your account IDs from Wave
- The payload uses GraphQL so ensure to update it accordingly with what you are trying to achieve, the current example creates a journal entry.
Tips
Getting Wave account and IDs
- It is easiest to use network logs to obtain the right account IDs from Wave, especially if you have created custom accounts (default Wave account IDs can be obtained via making that API call).
- Go to Wave and make a new dummy transaction using the accounts you want to use in n8n.
- Have the network logs open while you do this.
- Search network logs for the name of the account you are trying to use.
- You should see account IDs in the log data.
Sales tax
- This example uses sales tax baked into the total Stripe payout amount (5%)
- You can find the sales tax account IDs the same way as you found the Wave account IDs using network logs
Use AI to help you with your API call
- Ask Claude or ChatGPT to draft you your ideal payload
Record Payout from Stripe in Wave Accounting
This n8n workflow automates the process of recording Stripe payouts as journal entries in Wave Accounting. It listens for new Stripe payout events, retrieves the payout details, and then creates a corresponding journal entry in Wave Accounting to reflect the transaction.
What it does
This workflow simplifies financial record-keeping by automatically:
- Listening for Stripe Payouts: Triggers whenever a new payout is finalized in your Stripe account.
- Retrieving Payout Details: Fetches comprehensive information about the payout from Stripe.
- Creating Wave Accounting Journal Entry: Posts a new journal entry in Wave Accounting, detailing the payout amount and relevant accounts.
Prerequisites/Requirements
To use this workflow, you will need:
- n8n Account: An active n8n instance (cloud or self-hosted).
- Stripe Account: A Stripe account with API access configured.
- Wave Accounting Account: A Wave Accounting account with API access configured.
- Stripe Credentials: Configured Stripe API credentials in n8n.
- Wave Accounting Credentials: Configured Wave Accounting API credentials in n8n.
Setup/Usage
- Import the Workflow: Download the JSON provided and import it into your n8n instance.
- Configure Credentials:
- Click on the "Stripe Trigger" node and select your existing Stripe credential or create a new one.
- Click on the "HTTP Request" node (which will be used for Wave Accounting API calls) and configure it with your Wave Accounting API credentials. You will likely need to set up a custom OAuth2 or API Key credential depending on how you interact with Wave Accounting's API.
- Activate the Workflow: Once the credentials are set, activate the workflow. It will now automatically listen for new Stripe payout events.
- Customize Wave Accounting Logic: The "HTTP Request" node is a generic node. You will need to configure its URL, HTTP method (e.g., POST), headers, and body to correctly interact with the Wave Accounting API for creating journal entries. This will involve mapping data from the Stripe payout event to the fields required by Wave Accounting.
- Example (Conceptual): You might need to extract the
amountandcurrencyfrom the Stripe payout and send it to Wave Accounting, along with specifying the debit and credit accounts for the journal entry.
- Example (Conceptual): You might need to extract the
Related Templates
Send Rapiwa WhatsApp apology & reorder link when Shopify order is cancelled
Who Is This For? This n8n workflow listens for order cancellations in Shopify, extracts relevant customer and order data, checks if the customer’s phone number is registered on WhatsApp via the Rapiwa API, and sends a personalised apology message with a re-order link. It also logs successful and unsuccessful attempts in Google Sheets for tracking. What This Workflow Does Listens for cancelled orders in your Shopify store Extracts customer details and order information Generates a personalised apology message including a reorder link Sends the message to customers via WhatsApp using a messaging API (e.g., Twilio or Rapiwa) Logs the communication results for tracking purposes Key Features Real-Time Cancellation Detection: Automatically triggers when an order is cancelled Personalised Messaging: Includes customer name, order details, and a direct reorder link WhatsApp Integration: Sends messages via WhatsApp for higher engagement Error Handling: Logs successful and failed message deliveries Reorder Link: Provides a convenient link for customers to reorder with one click Requirements n8n instance with nodes: Shopify Trigger, HTTP Request (for WhatsApp API), Code, Google Sheets (optional) Shopify store with API access WhatsApp messaging provider account with API access Valid customer phone numbers stored in Shopify orders How to Use — Step-by-Step Setup Credentials Setup Shopify API: Configure Shopify API credentials in n8n to listen for order cancellations WhatsApp API: Set up WhatsApp messaging credentials (e.g., Twilio, Rapiwa, or any supported provider) Google Sheets (Optional): Configure Google Sheets OAuth2 if you want to log communications Configure Trigger Set the workflow to trigger on Shopify order cancellation events Customize Message Content Modify the apology message template to include your store branding and tone Ensure the reorder link dynamically includes the customer's cancelled order info Set Up WhatsApp Node Connect your WhatsApp API credentials Ensure the phone numbers are formatted correctly for WhatsApp delivery Google Sheet Required Columns You’ll need two Google Sheets (or two tabs in one spreadsheet): A Google Sheet formatted like this ➤ sample The workflow uses a Google Sheet with the following columns to track coupon distribution: | Name | Number | Email | Address | Price | Title | Re-order Link | Validity | Status | | -------------- | ------------- | --------------------------------------------------- | ----------------- | ----------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------ | ---------- | | Abdul Mannan | 8801322827799 | contact@spagreen.net | Dhaka, Bangladesh | BDT 1955.00 | Pakistani Lawn | Link 🔗 | unverified | not sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | Dhaka, Bangladesh | BDT 1955.00 | Pakistani Lawn | Link 🔗 | verified | sent | Important Notes Phone Number Validation: Ensure customer phone numbers are WhatsApp-enabled and formatted properly API Rate Limits: Respect your WhatsApp provider’s API limits to avoid throttling Data Privacy: Always comply with privacy laws when messaging customers Error Handling: Monitor logs regularly to handle failed message deliveries Testing: Test thoroughly with dummy data before activating the workflow live Useful Links Dashboard: https://app.rapiwa.com Official Website: https://rapiwa.com Documentation: https://docs.rapiwa.com Support & Help WhatsApp: Chat on WhatsApp Discord: SpaGreen Community Facebook Group: SpaGreen Support Website: https://spagreen.net Developer Portfolio: Codecanyon SpaGreen
Automate job searching & resume customization with AI, LinkedIn & Google Sheets
🤖 AI-Powered Job Matcher & Resume Customizer Description This advanced workflow automates the entire job search and preparation process, moving beyond simple notifications to provide AI-driven career intelligence. It connects to LinkedIn to scrape fresh job postings, filters against jobs you've already seen, and then uses powerful LLMs (Mistral Large/Small) to perform a detailed resume-to-job match, generate tailored cover letters, and provide concrete resume improvement suggestions. All data is logged into a Google Sheet for comprehensive tracking, and a clean, single Daily Digest Email summarizes the top 5 matches found each day. --- ✨ Key Features Automated Scheduling: Runs daily to find new job postings. Multi-Keyword Search: Uses your main job title and three alternate titles generated by an AI Agent for maximum search coverage. LinkedIn Web Scraping: Pulls new job URLs, details, location, and salary data from LinkedIn Search results. Duplicate Prevention: Uses the Compare Datasets node to ensure only new, unseen jobs are processed against your master Google Sheet. Intelligent Matching (LLM): The workflow performs a detailed job-to-resume comparison, generating: A Match Score (0-100) with evidence for alignment in skills, experience, and domain. A Tailored Cover Letter specific to the job title and company. Actionable Resume Improvement points (e.g., [ADD], [QUANTIFY]) to optimize your resume for the specific role. Centralized Tracking: Saves all job data, match scores, cover letters, and resume suggestions to a Google Sheet. Professional Daily Digest: Sends a single, clean HTML email summarizing the top 5 highest-scoring job matches for easy review. --- 🛠️ Prerequisites n8n Credentials: Google Drive: To download your resume (PDF/DOCX file URL). Google Sheets: To connect to your job tracking sheet. Gmail: To send the daily digest email. Mistral Cloud: For the LLM processing (Resume Breakdown, Job Matching, and Resume Analysis). External Files: A Job Tracking Google Sheet (used as a master database). Your current Resume file (PDF recommended, hosted on Google Drive). Setup Notes: Update the file links (Download Resume node) and Google Sheet details (Get row(s)/Append nodes). Set your personal email address in the Send Digest Email node. Review the LLM prompts to tailor the AI agent's persona and output fields to your exact needs.
Translate documents to multiple languages with Google Drive and DeepL
Who's it for This workflow is perfect for content creators, international teams, and businesses that need to translate documents into multiple languages automatically. Whether you're localizing documentation, translating marketing materials, or creating multilingual content, this workflow saves hours of manual work. What it does Automatically monitors a Google Drive folder for new documents (PDF, DOCX, TXT, or Markdown) and translates them into multiple languages using DeepL API. Each translated document is saved with a language-specific filename (e.g., documenten.pdf, documentzh.pdf) in a designated folder. You receive an email notification when all translations are complete. How it works Monitors a Google Drive folder for new files Detects file format (PDF/DOCX/TXT/Markdown) and extracts text Translates the content into your chosen languages (default: English, Chinese, Korean, Spanish, French, German) Saves translated files with language codes in the filename Sends an email notification with translation summary Optional: Records translation history in Notion database Set up instructions Requirements Google Drive account (for file storage) DeepL API key (free tier: 500,000 characters/month) Gmail account (for notifications) Notion account (optional, for tracking translation history) Setup steps Create Google Drive folders: Create a "Source" folder for original files Create a "Translated" folder for output Copy the folder IDs from the URLs Get DeepL API key: Sign up at DeepL API Copy your API key Configure the workflow: Open the "Configuration (Edit Here)" node (yellow node) Replace folder IDs with your own Set your notification email Choose target languages Set up credentials: Add Google Drive OAuth2 credentials Add DeepL API credentials Add Gmail OAuth2 credentials Activate the workflow and upload a test file! Customization options Change target languages: Edit the targetLanguages array in the Configuration node (supports 30+ languages) Adjust polling frequency: Change trigger from "every minute" to hourly or daily for batch processing Enable Notion tracking: Set enableNotion to true and provide your database ID Add more file formats: Extend the Switch node to handle additional file types Filter by file size: Add conditions to skip files larger than a certain size Supported languages EN (English), ZH (Chinese), KO (Korean), JA (Japanese), ES (Spanish), FR (French), DE (German), IT (Italian), PT (Portuguese), RU (Russian), and 20+ more. Performance Short files (1 page): ~30 seconds for 6 languages Medium files (10 pages): ~2 minutes for 6 languages Large files (100 pages): ~15 minutes for 6 languages Technical Details Trigger: Google Drive folder monitoring (1-minute polling) Translation: DeepL API with automatic source language detection Loop implementation: Split Out + Aggregate pattern for parallel translation Error handling: Catches API failures and sends email alerts Storage: Original file format preserved in translated outputs Notes DeepL free tier provides 500,000 characters/month (approximately 250 pages) For high-volume translation, consider upgrading to DeepL Pro The workflow creates new files instead of overwriting, preserving translation history Google Docs are automatically converted to the appropriate format before translation What You'll Learn This workflow demonstrates several n8n patterns: File format detection and routing (Switch node) Loop implementation with Split Out + Aggregate Binary data handling for file operations Conditional logic with IF nodes (optional features) Cross-node data references Error handling and user notifications Perfect for learning automation best practices while solving a real business problem!