Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (n8n-nodes-sevdesk-v2) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
π n8n-nodes-sevdesk-v2
Version: 2.4.1
Status: Production Ready
API-KompatibilitΓ€t: SevDesk API v2.0
n8n-KompatibilitΓ€t: 1.101.1+
Professional n8n community node for SevDesk API v2 integration with 24 production-ready workflow templates. Direct API access without external dependencies - simplified, secure, and optimized for German accounting automation.
n8n is a fair-code licensed workflow automation platform.
π Features
π§ Advanced Email & Document Management
- Email Template System - 5 predefined templates with placeholder support
- Professional PDF Export - 5 customizable templates, multi-language support
- E-Invoice Standards - XRechnung, ZUGFeRD, FacturX, UBL compliance
- Smart Document Upload - OCR integration, categorization, MIME detection
π§ Complete Business Operations
- Complete CRUD Operations for all major SevDesk entities
- Advanced Order-to-Invoice conversion with dunning levels
- Batch Operations for efficient data processing (25-50 operations optimal)
- Rate Limiting Intelligence - Account-tier aware with exponential backoff
π Enterprise-Grade Reliability
- Resource-Specific Error Handling - Context-aware error management
- Field Validation - Required field enforcement across all resources
- Security Features - Advanced error message sanitization
- API v2 Support with backward compatibility to v1
π Production Ready
- n8n 1.101.1 Compatible - Latest n8n version support with updated typeVersions
- Production-Ready Workflows - 24+ comprehensive test workflows for German businesses
- German Business Standards - SKR03, GoBD, DATEV compliance
- TypeScript Support with full type definitions
- Comprehensive Testing with unit and integration tests
π Supported Resources
β Fully Implemented & Enhanced
- Contacts - Complete contact management with required field validation
- Invoices - Full lifecycle with email templates, PDF customization, XML e-invoicing
- Invoice Positions - Complete CRUD operations for line items
- Orders - Enhanced order-to-invoice conversion with dunning levels
- Vouchers - Smart document upload with OCR and categorization
- Parts - Inventory management with stock tracking
- Check Accounts - Bank account and transaction management
- Tags - Flexible tagging system for all resources
- Reports - PDF report generation and export
- Categories - Resource categorization and organization
- Communication Ways - Contact communication methods (email, phone, etc.)
- Countries - Country and region management
- Unity - Unit of measurement management
- Batch Operations - Professional bulk operation framework
β Fully Supported (Extended)
- Credit Notes - Credit note management and processing
- Exports - Data export functionality
- Layouts - Document layout management
- Basics - System information and settings
π Installation
Prerequisites
Before installing the node, ensure you have:
- n8n >= 1.101.1 - Follow the n8n installation guide
- Node.js >= 18.0.0 - Required for the node to function properly
- SevDesk Account - You'll need a SevDesk account with API access
- German Business Context (Optional) - Many templates are optimized for German accounting standards
Install via n8n Community Nodes
- Open n8n in your browser
- Go to Settings β Community Nodes
- Click "Install a community node"
- Enter the package name:
n8n-nodes-sevdesk-v2 - Click "Install"
Install via npm (Self-hosted)
# Navigate to your n8n installation directory
cd ~/.n8n
# Install the community node
npm install n8n-nodes-sevdesk-v2
# Restart n8n
n8n startInstall via Docker
If you're using n8n with Docker, add the package to your Docker setup:
# In your Dockerfile
RUN npm install -g n8n-nodes-sevdesk-v2
# Or via docker-compose.yml environment variable
environment:
- N8N_NODES_INCLUDE=n8n-nodes-sevdesk-v2βοΈ Configuration
Step 1: Get Your SevDesk API Key
- Log in to your SevDesk account
- Navigate to Settings β User Management β API
- Create a new API key:
- Click "Generate new API key"
- Give it a descriptive name (e.g., "n8n Integration")
- Copy the generated API key (you won't see it again!)
Step 2: Configure Credentials in n8n
- In n8n, go to Credentials
- Click "Create New Credential"
- Search for "SevDesk API"
- Fill in the required fields:
- API Key: Your SevDesk API key from Step 1
- API Version:
v2(recommended) orv1(legacy) - Test Connection: Click to verify your credentials
Step 3: Test Your Setup
Create a simple workflow to test the connection:
- Add a SevDesk node to your workflow
- Select your credentials
- Choose Resource:
Contact - Choose Operation:
List - Execute the node to verify it works
π Quick Start Examples
Example 1: Create a New Contact
{
"resource": "contact",
"operation": "create",
"name": "John Doe",
"customerNumber": "CUST-001",
"email": "john.doe@example.com",
"phone": "+49 123 456789",
"category": {
"id": "3",
"objectName": "Category"
}
}Example 2: Create an Invoice
{
"resource": "invoice",
"operation": "create",
"contact": {
"id": "{{ $('Get Contact').item.json.id }}",
"objectName": "Contact"
},
"invoiceDate": "2025-01-07",
"status": "draft",
"invoiceType": "RE",
"currency": "EUR"
}Example 3: List Contacts with Filtering
{
"resource": "contact",
"operation": "list",
"filters": {
"customerNumber": "CUST-*",
"category.id": "3"
},
"limit": 50,
"offset": 0
}Example 4: Upload a Document
{
"resource": "voucher",
"operation": "create",
"voucherDate": "2025-01-07",
"supplier": {
"id": "{{ $('Get Supplier').item.json.id }}",
"objectName": "Contact"
},
"document": "{{ $('Read File').item.binary.data }}"
}π§ Pre-built Workflow Templates
This package includes comprehensive test workflows that demonstrate real-world SevDesk automation scenarios. These workflows are ready-to-use templates for common business processes.
π Available Workflow Templates
01. Belegerfassung (Document Processing)
Path: test-workflows/01-Belegerfassung/
- Teil 1: Document capture from multiple sources (email, scan, upload)
- Teil 2: Automated processing with OCR and data extraction
- Teil 3: Validation and SevDesk integration
02. Rechnungsstellung (Invoicing)
Path: test-workflows/02-Rechnungsstellung/
- Teil 1: Invoice data collection and customer validation
- Teil 2: Automated invoice generation with templates
- Teil 3: Multi-channel distribution (email, print, portal)
03. Mahnwesen (Dunning Management)
Path: test-workflows/03-Mahnwesen/
- Teil 1: Overdue invoice detection and escalation logic
- Teil 2: Automated reminder processing with staging
- Teil 3: Multi-channel reminder distribution
04. Steuerberater-Export (Tax Advisor Export)
Path: test-workflows/04-Steuerberater-Export/
- Teil 1: DATEV-compliant data extraction
- Teil 2: Format conversion and data preparation
- Teil 3: Secure transmission to tax advisors
05. Banktransaktionen (Bank Transactions)
Path: test-workflows/05-Banktransaktionen/
- Teil 1: Multi-bank format import (CSV, MT940, CAMT.053)
- Teil 2: AI-powered transaction categorization
- Teil 3: Automated booking with SKR03 compliance
06. Reporting (Business Intelligence)
Path: test-workflows/06-Reporting/
- Teil 1: Comprehensive data extraction with KPIs
- Teil 2: Advanced analytics and trend analysis
- Teil 3: Automated report distribution
07. Dokumentenmanagement (Document Management)
Path: test-workflows/07-Dokumentenmanagement/
- Teil 1: Intelligent document capture with OCR
- Teil 2: Content processing and metadata extraction
- Teil 3: GoBD-compliant archiving (10-year retention)
08. Kundenkommunikation (Customer Communication)
Path: test-workflows/08-Kundenkommunikation/
- Teil 1: Automated trigger detection (overdue, events)
- Teil 2: Personalized message generation
- Teil 3: Multi-channel communication delivery
π Quick Template Import
# Import all workflows to your n8n instance
node tools/start-n8n-workflows.js
# Or import specific category
node tools/start-n8n-workflows.js --category 01-Belegerfassungπ§ Template Features
- n8n 1.101.1 Compatible - Latest n8n version support
- Modular Architecture - 3-part workflow structure for maintainability
- Error Handling - Comprehensive error management and notifications
- German Business Logic - Tailored for German accounting standards (SKR03, GoBD)
- Webhook Integration - Inter-workflow communication
- Audit Trail - Complete compliance tracking
- Scalable Design - Production-ready implementations
π Template Architecture
Each workflow category follows a consistent 3-part pattern:
Category/
βββ Teil1-[Process]/ # Data input and initial processing
βββ Teil2-[Core]/ # Main business logic and transformations
βββ Teil3-[Output]/ # Results processing and distribution
βββ README.md # Category-specific documentationβοΈ Configuration Requirements
Before using the templates:
- SevDesk Credentials - Configure your API access
- Email Settings - SMTP for notifications
- File Paths - Adjust paths for your environment
- Webhook URLs - Update inter-workflow communication endpoints
π Detailed Usage Guide
Working with Contacts
Contacts are the foundation of SevDesk and represent customers, suppliers, and other business partners.
Create a Contact
// Basic contact creation
{
"resource": "contact",
"operation": "create",
"name": "Acme Corporation",
"customerNumber": "CUST-001",
"category": { "id": "3", "objectName": "Category" }
}
// Contact with full details
{
"resource": "contact",
"operation": "create",
"name": "Acme Corporation",
"customerNumber": "CUST-001",
"email": "info@acme.com",
"phone": "+49 123 456789",
"website": "https://acme.com",
"category": { "id": "3", "objectName": "Category" },
"taxNumber": "DE123456789",
"vatNumber": "DE987654321"
}Search Contacts
// Search by name
{
"resource": "contact",
"operation": "list",
"filters": {
"name": "Acme*"
}
}
// Search by customer number
{
"resource": "contact",
"operation": "list",
"filters": {
"customerNumber": "CUST-001"
}
}Working with Invoices
Invoices represent billing documents sent to customers.
Create an Invoice
{
"resource": "invoice",
"operation": "create",
"contact": {
"id": "123",
"objectName": "Contact"
},
"invoiceDate": "2025-01-07",
"header": "Invoice for services rendered",
"headText": "Thank you for your business!",
"footText": "Payment due within 30 days.",
"currency": "EUR",
"status": "draft"
}Send an Invoice
{
"resource": "invoice",
"operation": "sendViaEmail",
"invoiceId": "{{ $('Create Invoice').item.json.id }}",
"sendToEmail": "customer@example.com",
"subject": "Your Invoice #{{ $('Create Invoice').item.json.invoiceNumber }}",
"text": "Please find your invoice attached."
}Working with Orders
Orders represent sales orders before they become invoices.
Create an Order
{
"resource": "order",
"operation": "create",
"contact": {
"id": "123",
"objectName": "Contact"
},
"orderDate": "2025-01-07",
"status": "pending",
"currency": "EUR"
}Error Handling
The node provides comprehensive error handling with detailed error messages:
// Example error handling in a workflow
try {
const result = await this.helpers.httpRequest(options);
return result;
} catch (error) {
if (error.statusCode === 401) {
throw new Error(
"Invalid API credentials. Please check your SevDesk API key.",
);
} else if (error.statusCode === 429) {
throw new Error(
"Rate limit exceeded. Please wait before making more requests.",
);
} else {
throw new Error(`SevDesk API error: ${error.message}`);
}
}π§ Advanced Configuration
Rate Limiting
SevDesk has rate limits on their API. The node automatically handles rate limiting with exponential backoff:
- Default rate limit: 1000 requests per hour
- Burst limit: 10 requests per second
- Automatic retry: Up to 3 retries with exponential backoff
Pagination
For list operations, use pagination to handle large datasets:
{
"resource": "contact",
"operation": "list",
"limit": 100, // Max 100 per request
"offset": 0, // Start from beginning
"orderBy": "name", // Sort by name
"orderDirection": "ASC"
}Custom Fields
SevDesk supports custom fields for most resources:
{
"resource": "contact",
"operation": "create",
"name": "Custom Contact",
"customFields": {
"customField1": "value1",
"customField2": "value2"
}
}π§ͺ Development Setup
Prerequisites for Development
- Node.js >= 18.0.0
- npm or yarn
- Docker (for testing)
- Git
Clone and Setup
# Clone the repository
git clone https://github.com/knackw/n8n-nodes-sevdesk-v2.git
cd n8n-nodes-sevdesk-v2
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
# Start development mode
npm run devEnvironment Setup
Copy the environment template:
cp .env.template .envFill in your SevDesk credentials:
SEVDESK_API_KEY=your_api_key_here SEVDESK_API_VERSION=v2
Start the development environment:
npm start
Testing
The project includes comprehensive tests:
# Run all tests
npm test
# Run tests with coverage
npm run test:coverage
# Run tests in watch mode
npm run test:watch
# Run specific test file
npm test -- ContactHandler.test.tsDocker Development
For a complete development environment with n8n:
# Start the development environment
docker-compose up -d
# View logs
docker-compose logs -f
# Stop the environment
docker-compose downπ Troubleshooting
Common Issues
1. "Invalid API credentials" Error
Problem: The node returns authentication errors.
Solution:
- Verify your API key is correct
- Check that your SevDesk account has API access enabled
- Ensure you're using the correct API version (v2 recommended)
2. "Rate limit exceeded" Error
Problem: Too many requests in a short time.
Solution:
- Reduce the frequency of your requests
- Implement delays between requests in your workflow
- Use batch operations where possible
3. "Resource not found" Error
Problem: Trying to access a resource that doesn't exist.
Solution:
- Verify the resource ID is correct
- Check that the resource hasn't been deleted
- Ensure you have permission to access the resource
4. Connection Timeout
Problem: Requests are timing out.
Solution:
- Check your internet connection
- Verify SevDesk service status
- Increase timeout settings if using custom HTTP requests
Debug Mode
Enable debug logging to troubleshoot issues:
# Set environment variable for debug logging
export N8N_LOG_LEVEL=debug
# Or in your .env file
N8N_LOG_LEVEL=debugGetting Help
If you encounter issues:
- Check the logs for detailed error messages
- Review the documentation for correct usage
- Search existing issues on GitHub
- Create a new issue with:
- Detailed error description
- Steps to reproduce
- n8n version
- Node version
- SevDesk API version
Commands
docker exec -u root <container_name> chown -R 1000:1000 "/home/node/.npm"Contributing
π API Reference
Supported Operations by Resource
| Resource | Create | Read | Update | Delete | List | Custom Operations |
|---|---|---|---|---|---|---|
| Contact | β | β | β | β | β | checkCustomerNumber, findByCustomField |
| Invoice | β | β | β | β | β | sendViaEmail, markAsSent, bookAmount |
| Order | β | β | β | β | β | convertToInvoice |
| Voucher | β | β | β | β | β | uploadDocument |
| Part | β | β | β | β | β | updateStock |
| Tag | β | β | β | β | β | - |
| Category | β | β | β | β | β | - |
Response Format
All operations return data in this format:
{
"objects": [...], // Array of returned objects
"total": 150, // Total number of objects (for list operations)
"success": true // Operation success status
}π€ Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
Development Workflow
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Add tests for new functionality
- Run the test suite:
npm test - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Code Style
- Use TypeScript for all new code
- Follow ESLint and Prettier configurations
- Add JSDoc comments for all public methods
- Write comprehensive tests for new features
- Follow conventional commit messages
π License
This project is licensed under the MIT License - see the LICENSE file for details.
β οΈ Disclaimer
Context7 projects are community-contributed and while we strive to maintain high quality, we cannot guarantee the accuracy, completeness, or security of all library documentation. Projects listed in Context7 are developed and maintained by their respective owners, not by Context7. If you encounter any suspicious, inappropriate, or potentially harmful content, please use the "Report" button on the project page to notify us immediately. We take all reports seriously and will review flagged content promptly to maintain the integrity and safety of our platform. By using Context7, you acknowledge that you do so at your own discretion and risk.
π Acknowledgments
- n8n for the amazing workflow automation platform
- SevDesk for providing a comprehensive accounting API
- The n8n community for feedback and contributions
π Support
- Documentation: Full documentation
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- n8n Community: n8n Community Forum
- Buy me a coffee: Support the project
Made with β€οΈ for the n8n community