# AI-Enhanced Documentation
Source: https://docs.chift.eu/ai/documentation
Leverage intelligent search and LLM-optimized content for faster development
## Smart Documentation Features
Chift's documentation is optimized for AI consumption, allowing you to get more accurate responses when using our docs as context for LLMs and AI tools.
Industry-standard formats that help LLMs understand and index our documentation efficiently
Vector-based search through our MCP server for contextual, semantic results
## Available AI Features
### LLM-Optimized Files
You can use ready-to-use formats designed for AI tools:
* **[llms.txt](https://docs.chift.eu/llms.txt)** — Industry standard for efficient LLM indexing (like a sitemap for AI)
* **[llms-full.txt](https://docs.chift.eu/llms-full.txt)** — Complete documentation in a single file for AI context
* View page markdown and full text by adding .md at the end of every URL.
### MCP Integration
The SearchChift tool is available via our local [MCP server](/ai/mcp#local-installation):
* Search documentation using a vector database approach
* Find results with semantic similarity matching
* Integrate directly with your coding editors
## How to Use
* **Direct Files** - Use llms.txt or llms-full.txt for AI context
* **Interactive Search** - Use built-in AI features on documentation pages
* **MCP Integration** - Connect via SearchChift tool for coding workflows
Connect your preferred AI tools (Claude, ChatGPT, Cursor) to access Chift documentation intelligently.
## SearchChift MCP Tool
Our local [MCP server](/ai/mcp#local-installation) includes the `SearchChift` tool that allows your AI to search through our documentation like a vector database. Pass a query and retrieve relevant documentation parts that match semantically.
The SearchChift tool is not available by default and needs to be activated manually by passing the following environment variable.
```
CHIFT_SEARCH=true
```
```javascript Node.js theme={null}
// Search documentation via MCP
const result = await mcp.call_tool('SearchChift', {
query: 'How to authenticate webhook requests?'
});
```
```python Python theme={null}
# Use SearchChift tool
result = await mcp.call_tool('SearchChift', {
'query': 'Setting up accounting sync'
})
```
The SearchChift tool helps your coding editor integrate Chift faster by
providing contextual documentation directly in your development environment.
## Quick Access
Learn how to set up the MCP server and use SearchChift for documentation
search
# AI-Powered Development with Chift
Source: https://docs.chift.eu/ai/introduction
Supercharge your development workflow with AI tools, MCP integration, and intelligent documentation features
## Transform Your Development Experience
Chift empowers developers to build faster and smarter by integrating AI directly into their workflow. Whether you're connecting to financial APIs, building integrations, or exploring our documentation, our AI tools are designed to accelerate your development process.
Connect your AI agents directly to Chift APIs using the Model Context Protocol
Leverage intelligent search, context generation, and LLM-optimized content
## What You Can Build
**Build intelligent financial agents** that can:
* Connect to your accounting, POS, ecommerce, ... data automatically across platforms
* Generate financial reports and insights
* Handle complex multi-step financial workflows
* Respond to natural language queries about financial data
**Enhance your development workflow** with:
* Full context coding agents
* Search across the whole Chift documentation
* Automatic API discovery and mapping
## Key Features
### Model Context Protocol (MCP)
Connect your favorite AI tools (Claude, Cursor, Windsurf) directly to Chift's unified API. No more context switching between documentation and your development environment.
The MCP server provides 50+ tools covering all major financial operations:
accounting, invoicing, payments, POS, and more.
## Getting Started
Decide how you want to integrate our MCP into your workflow:
* [Remote Server](/ai/mcp#remote-server-recommended) - For AI agents and automated workflows
* [Local Server](/ai/mcp#local-installation) - For local access to your data
Get your credentials from the Chift platform and configure your environment.
Use our examples, documentation, and AI tools to build your integration and AI agents quickly.
## Use Cases
Build AI agents that automatically sync data between different financial
systems. Handle edge cases and perform data transformation intelligently.
Create systems that generate financial reports, insights, and analytics
using natural language queries and AI-powered data analysis.
Questions about AI integration? Our support team is ready to help you build
amazing AI-powered financial applications.
# Model Context Protocol (MCP)
Source: https://docs.chift.eu/ai/mcp
## Overview
The Chift Model Context Protocol (MCP) defines a set of tools you can use to build AI Agents that can interact with the different integrations offered by Chift and search in our documentation through one MCP server. It exposes the Chift Unified API to any LLM provider supporting the [MCP protocol](https://modelcontextprotocol.io/introduction) like Claude, Cursor or Windsurf.
Chift MCP server can be found [here](https://github.com/chift-oneapi/chift-mcp).
## Getting Started
You can use the Chift MCP server in two ways:
1. **[Remote Server (Recommended)](/ai/mcp#remote-server-recommended)** - Connect directly to our hosted MCP server
2. **[Local Installation](/ai/mcp#local-installation)** - Install and run the server locally
Choose the option that best fits your needs:
### Remote Server (Recommended)
The remote server is the easiest way to get started with Chift MCP. No local installation required!
#### Prerequisites
* A Chift account with client credentials (client ID, client secret, account ID, and consumer ID)
#### Getting an Access Token
To use the remote server, you first need to obtain an access token by making a POST request to `https://api.chift.eu/mcp-token`:
```bash theme={null}
curl -X POST 'https://api.chift.eu/mcp-token' \
-H 'Content-Type: application/json' \
-d '{
"clientId": "your_client_id",
"clientSecret": "your_client_secret",
"accountId": "your_account_id",
"consumerId": "your_consumer_id"
}'
```
**Response:**
```json theme={null}
{
"access_token": "your_mcp_access_token",
"token_type": "bearer",
"expires_in": 1800,
"expires_on": 1234567890
}
```
#### Required Parameters
Your Chift client ID
Your Chift client secret
Your Chift account ID (UUID format)
Your consumer ID (UUID format)
Optional environment ID (UUID format)
Optional marketplace ID (UUID format)
#### Using with AI Frameworks
You can integrate the Chift MCP server with popular AI frameworks to build intelligent applications that interact with Chift's Unified API.
Connect to the Chift MCP server using the Vercel AI SDK:
```typescript theme={null}
import { createMCPClient } from "@ai-sdk/mcp";
import { generateText } from "ai";
import { openai } from "@ai-sdk/openai";
async function getTools() {
const response = await fetch("https://api.chift.eu/mcp-token", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
clientId: "your_client_id",
clientSecret: "your_client_secret",
accountId: "your_account_id",
consumerId: "your_consumer_id",
}),
});
const { access_token } = await response.json();
const mcpClient = createMCPClient({
transport: {
type: "http",
url: "https://mcp.chift.eu",
headers: {
Authorization: `Bearer ${access_token}`,
},
},
});
return await mcpClient.listTools();
}
// Use with AI SDK
const result = await generateText({
model: openai("gpt-4"),
tools: await getTools(),
prompt: "List all accounting connections for my consumer",
});
```
Connect to the Chift MCP server using Pydantic AI:
```python theme={null}
import httpx
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStreamableHTTP
async def get_tools():
async with httpx.AsyncClient() as client:
response = await client.post(
"https://api.chift.eu/mcp-token",
json={
"clientId": "your_client_id",
"clientSecret": "your_client_secret",
"accountId": "your_account_id",
"consumerId": "your_consumer_id",
},
)
data = response.json()
access_token = data["access_token"]
return MCPServerStreamableHTTP(
"https://mcp.chift.eu",
headers={"Authorization": f"Bearer {access_token}"}
)
async def main():
tools = await get_tools()
agent = Agent("openai:gpt-4", toolsets=[tools])
result = await agent.run("Give me my orders of yesterday")
print(result.output)
if __name__ == "__main__":
import asyncio
asyncio.run(main())
```
Connect to the Chift MCP server using LangChain Python:
```python theme={null}
import httpx
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain.agents import create_agent
from langchain_openai import ChatOpenAI
async def get_tools():
async with httpx.AsyncClient() as client:
response = await client.post(
"https://api.chift.eu/mcp-token",
json={
"clientId": "your_client_id",
"clientSecret": "your_client_secret",
"accountId": "your_account_id",
"consumerId": "your_consumer_id",
},
)
data = response.json()
access_token = data["access_token"]
client = MultiServerMCPClient({
"chift": {
"url": "https://mcp.chift.eu",
"transport": "streamable_http",
"headers": {
"Authorization": f"Bearer {access_token}"
}
}
})
tools = await client.get_tools()
return tools
async def main():
tools = await get_tools()
llm = ChatOpenAI(model="gpt-4")
agent = create_agent({
"model": llm,
"tools": tools,
})
# Use the agent
result = agent.invoke({
"messages": [("user", "List all accounting connections")]
})
print(result)
if __name__ == "__main__":
import asyncio
asyncio.run(main())
```
Connect to the Chift MCP server using LangChain TypeScript:
```typescript theme={null}
import { MultiServerMCPClient } from "@langchain/mcp-adapters";
import { ChatOpenAI } from "@langchain/openai";
import { createAgent } from "langchain/agents";
async function getTools() {
const response = await fetch("https://api.chift.eu/mcp-token", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
clientId: "your_client_id",
clientSecret: "your_client_secret",
accountId: "your_account_id",
consumerId: "your_consumer_id",
}),
});
const { access_token } = await response.json();
const client = new MultiServerMCPClient({
chift: {
transport: "streamable_http",
url: "https://mcp.chift.eu",
headers: {
Authorization: `Bearer ${access_token}`,
},
},
});
const tools = await client.getTools();
}
async function main() {
const tools = await client.getTools();
const llm = new ChatOpenAI({
model: "gpt-4",
});
const agent = createAgent({
model: llm,
tools: tools,
});
const result = await agent.invoke({
messages: [["user", "List all accounting connections"]],
});
console.log(result);
}
main();
```
#### IDE Configuration
Configure Claude for Desktop to use the remote MCP server:
```json theme={null}
{
"mcpServers": {
"chift-remote": {
"command": "/path/to/npx",
"args": [
"mcp-remote",
"https.mcp.chift.eu/",
"--transport",
"http-only",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer "
}
}
}
}
```
[Install in Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=chift\&config=eyJ1cmwiOiJodHRwczovL21jcC5jaGlmdC5ldSIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciA8eW91cl9tY3BfYWNjZXNzX3Rva2VuPiJ9fQ%3D%3D)
To open Cursor and automatically add the Chift MCP, click install. Alternatively, add the following to your `~/.cursor/mcp.json` file. To learn more, see the Cursor [documentation](https://docs.cursor.com/context/model-context-protocol).
```json theme={null}
{
"mcpServers": {
"chift": {
"url": "https://mcp.chift.eu",
"headers": {
"Authorization": "Bearer "
}
}
}
}
```
[Install in VS Code](https://vscode.dev/redirect/mcp/install?name=chift\&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.chift.eu%22%2C%22headers%22%3A%7B%22Authorization%22%3A%22Bearer%20%3Cyour_mcp_access_token%3E%22%7D%7D)
To open VS Code and automatically add the Chift MCP, click install. Alternatively, add the following to your `.vscode/mcp.json` file in your workspace. To learn more, see the VS Code [documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers).
```json theme={null}
{
"servers": {
"chift": {
"type": "http",
"url": "https://mcp.chift.eu",
"headers": {
"Authorization": "Bearer "
}
}
}
}
```
To add MCP to Claude Code, run the following command. To learn more, see the Claude Code [documentation](https://docs.anthropic.com/en/docs/claude-code/mcp#configure-mcp-servers).
```bash theme={null}
claude mcp add --transport http chift https://mcp.chift.eu/ --header "Authorization: Bearer "
```
Replace `` with the token received from the `/mcp-token`
endpoint.
#### Setup Steps
1. Get your MCP access token using the API call above
2. Choose your preferred IDE from the tabs above
3. Either use the one-click install link or manually add the configuration
4. Replace `` with your actual token
5. Restart your IDE/application
6. You should see the Chift tools available in the chat interface
The remote server setup is complete! You can now use Chift MCP tools in your
chosen IDE without any local dependencies.
### Local Installation
You can also run the MCP server locally in a `stdio` environment. Local installation is ideal if you want better AI support during integration of the Chift API. Running the MCP server locally allows you to:
* Choice between limiting the MCP server to a specific consumer or allowing access to all
* Search and reference the entire Chift Documentation directly from your IDE for improved AI context when
* Customize your setup for specific workflows
#### Prerequisites
* A Chift account with client credentials (client ID, client secret, account ID, and consumer ID)
* Python 3.11 or higher
* uv package manager
More information about local installation can be found [here](https://github.com/chift-oneapi/chift-mcp?tab=readme-ov-file#prerequisites)
#### Installation Steps
1. Install the required dependencies (Python 3.11+ and uv)
2. Install the Chift MCP server package
3. Configure your environment variables
4. Set up your client configuration
#### Using with AI Frameworks (Local Installation)
When running the MCP server locally, you can integrate it with popular AI frameworks using stdio transport. Local installation enables documentation search and provides better control over your setup.
For local installation, use stdio transport:
```typescript theme={null}
import { createMCPClient } from "@ai-sdk/mcp";
import { generateText } from "ai";
import { openai } from "@ai-sdk/openai";
async function getTools() {
const mcpClient = createMCPClient({
command: "uvx",
args: ["chift-mcp-server@latest"],
env: {
CHIFT_CLIENT_SECRET: process.env.CHIFT_CLIENT_SECRET,
CHIFT_CLIENT_ID: process.env.CHIFT_CLIENT_ID,
CHIFT_ACCOUNT_ID: process.env.CHIFT_ACCOUNT_ID,
CHIFT_CONSUMER_ID: process.env.CHIFT_CONSUMER_ID,
CHIFT_SEARCH: "true",
},
});
return await mcpClient.listTools();
}
const result = await generateText({
model: openai("gpt-4"),
tools: await getTools(),
prompt: "Search the documentation for webhook authentication",
});
```
For local installation with stdio transport:
```python theme={null}
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStdio
async def main():
tools = MCPServerStdio(
command="uvx",
args=["chift-mcp-server@latest"],
env={
"CHIFT_CLIENT_SECRET": "your_client_secret",
"CHIFT_CLIENT_ID": "your_client_id",
"CHIFT_ACCOUNT_ID": "your_account_id",
"CHIFT_CONSUMER_ID": "your_consumer_id",
"CHIFT_SEARCH": "true",
}
)
agent = Agent("openai:gpt-4", toolsets=[tools])
result = await agent.run("Search documentation for webhook setup")
print(result.output)
if __name__ == "__main__":
import asyncio
asyncio.run(main())
```
For local installation with stdio transport:
```python theme={null}
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain.agents import create_agent
from langchain_openai import ChatOpenAI
import os
async def get_tools():
client = MultiServerMCPClient({
"chift": {
"command": "uvx",
"args": ["chift-mcp-server@latest"],
"transport": "stdio",
"env": {
"CHIFT_CLIENT_SECRET": os.getenv("CHIFT_CLIENT_SECRET"),
"CHIFT_CLIENT_ID": os.getenv("CHIFT_CLIENT_ID"),
"CHIFT_ACCOUNT_ID": os.getenv("CHIFT_ACCOUNT_ID"),
"CHIFT_CONSUMER_ID": os.getenv("CHIFT_CONSUMER_ID"),
"CHIFT_SEARCH": "true",
}
}
})
tools = await client.get_tools()
return tools
async def main():
tools = await get_tools()
llm = ChatOpenAI(model="gpt-4")
agent = create_agent({
"model": llm,
"tools": tools,
})
result = agent.invoke({
"messages": [("user", "Search documentation for webhook setup")]
})
print(result)
if __name__ == "__main__":
import asyncio
asyncio.run(main())
```
For local installation with stdio transport:
```typescript theme={null}
import { MultiServerMCPClient } from "@langchain/mcp-adapters";
import { ChatOpenAI } from "@langchain/openai";
import { createAgent } from "langchain/agents";
async function getTools() {
const client = new MultiServerMCPClient({
chift: {
transport: "stdio",
command: "uvx",
args: ["chift-mcp-server@latest"],
env: {
CHIFT_CLIENT_SECRET: process.env.CHIFT_CLIENT_SECRET!,
CHIFT_CLIENT_ID: process.env.CHIFT_CLIENT_ID!,
CHIFT_ACCOUNT_ID: process.env.CHIFT_ACCOUNT_ID!,
CHIFT_CONSUMER_ID: process.env.CHIFT_CONSUMER_ID!,
CHIFT_SEARCH: "true",
},
},
});
const tools = await client.getTools();
return tools;
}
async function main() {
const tools = await getTools();
const llm = new ChatOpenAI({
model: "gpt-4",
});
const agent = createAgent({
model: llm,
tools: tools,
});
const result = await agent.invoke({
messages: [["user", "Search documentation for webhook authentication"]],
});
console.log(result);
}
main();
```
For local installations, you can enable documentation search by setting
`CHIFT_SEARCH=true` in your environment variables. This allows the MCP server
to search and reference the entire Chift Documentation directly from your IDE.
#### IDE Configuration
This is an example configuration for Claude Desktop when using local installation:
```json theme={null}
{
"mcpServers": {
"chift": {
"command": "/path/to/uvx",
"args": ["chift-mcp-server@latest"],
"env": {
"CHIFT_CLIENT_SECRET": "your_client_secret",
"CHIFT_CLIENT_ID": "your_client_id",
"CHIFT_ACCOUNT_ID": "your_account_id",
"CHIFT_CONSUMER_ID": "your_consumer_id", // Optional
"CHIFT_SEARCH": true // Optional, defaults to false
}
}
}
}
```
For local installation with Cursor, add the following to your `~/.cursor/mcp.json` file:
```json theme={null}
{
"mcpServers": {
"chift": {
"command": "/path/to/uvx",
"args": ["chift-mcp-server@latest"],
"env": {
"CHIFT_CLIENT_SECRET": "your_client_secret",
"CHIFT_CLIENT_ID": "your_client_id",
"CHIFT_ACCOUNT_ID": "your_account_id",
"CHIFT_CONSUMER_ID": "your_consumer_id", // Optional
"CHIFT_SEARCH": true // Optional, defaults to false
}
}
}
}
```
For local installation with VS Code, add the following to your `.vscode/mcp.json` file in your workspace:
```json theme={null}
{
"servers": {
"chift": {
"type": "stdio",
"command": "/path/to/uvx",
"args": ["chift-mcp-server@latest"],
"env": {
"CHIFT_CLIENT_SECRET": "your_client_secret",
"CHIFT_CLIENT_ID": "your_client_id",
"CHIFT_ACCOUNT_ID": "your_account_id",
"CHIFT_CONSUMER_ID": "your_consumer_id", // Optional
"CHIFT_SEARCH": true // Optional, defaults to false
}
}
}
}
```
For local installation with Claude Code, first ensure you have the MCP server installed locally, then run:
```bash theme={null}
claude mcp add --transport stdio chift /path/to/uvx chift-mcp-server@latest
```
Then set your environment variables:
```bash theme={null}
export CHIFT_CLIENT_SECRET="your_client_secret"
export CHIFT_CLIENT_ID="your_client_id"
export CHIFT_ACCOUNT_ID="your_account_id"
export CHIFT_CONSUMER_ID="your_consumer_id" // Optional
export CHIFT_SEARCH=true // Optional, defaults to false
```
#### Setup Steps
1. Install Python 3.11+ and uv on your system
2. Install the Chift MCP server: `uvx chift-mcp-server@latest`
3. Set up your environment variables (see below)
4. Choose your preferred IDE from the tabs above and add the configuration
5. Replace the credential placeholders with your actual values
6. Restart your IDE/application
7. You should see the Chift tools available in the chat interface
#### Environment Variables for Local Installation
The following environment variables are required for local installation:
```bash theme={null}
CHIFT_CLIENT_SECRET=your_client_secret
CHIFT_CLIENT_ID=your_client_id
CHIFT_ACCOUNT_ID=your_account_id
CHIFT_CONSUMER_ID=your_consumer_id # Optional
CHIFT_SEARCH=true # Optional, defaults to false
```
Local installation is complete! You now have full control over your MCP server
instance and can use Chift MCP tools in your chosen IDE.
## Other LLM Providers
The Chift MCP server works with any LLM provider that supports the MCP protocol, not just Claude Desktop.
We have elaborated on several examples (PydanticAI, Copilot, ...) [here](https://github.com/chift-oneapi/chift-ai-toolkit)
## Available Tools
The Chift MCP Server dynamically generates tools based on the Chift OpenAPI specification. These tools provide access to various Chift API endpoints and include operations for:
* Retrieving financial data
* Managing your financial connections
* Creating new financial records (invoices, payments, etc.)
* Updating existing records
* And much more...
All our endpoints documented in our [API reference](/api-reference) can be accessed through the Chift MCP server.
## Advanced Configuration
### Function Configuration (Local Installation Only)
For local installations, you can customize which operations are available for each domain. By default, all operations are enabled for all domains:
```json theme={null}
{
"accounting": ["get", "create", "update", "add"],
"commerce": ["get", "create", "update", "add"],
"invoicing": ["get", "create", "update", "add"],
"payment": ["get", "create", "update", "add"],
"pms": ["get", "create", "update", "add"],
"pos": ["get", "create", "update", "add"]
}
```
This can be customized using the `CHIFT_FUNCTION_CONFIG` environment variable. More details can be found [here](https://github.com/chift-oneapi/chift-mcp?tab=readme-ov-file#%EF%B8%8F-function-configuration).
Function configuration is only available for local installations. The remote
server provides access to all available operations.
# Attach a document (PDF)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/attach-a-document-pdf
post /consumers/{consumer_id}/accounting/invoices/pdf/{invoice_id}
Attach a document (PDF) to the invoice entry
# Create a financial entry
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-a-financial-entry
post /consumers/{consumer_id}/accounting/financial-entries
Create a new financial entry (Bank or Cash operation)
# Create an expense
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-an-expense
post /consumers/{consumer_id}/accounting/expenses
Create a new employee expense
# Create an invoice payment
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-an-invoice-payment
post /consumers/{consumer_id}/accounting/invoices/payments
Create invoice payment
# Create analytic account
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-analytic-account
post /consumers/{consumer_id}/accounting/analytic-accounts
Create a new analytic account in the default analytic plan
# Create analytic account (Multiple Analytic Plans)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-analytic-account-multiple-analytic-plans
post /consumers/{consumer_id}/accounting/analytic-accounts/multi-analytic-plans/{analytic_plan}
Create a new analytic account in a specific analytic plan
# Create bank account
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-bank-account
post /consumers/{consumer_id}/accounting/bank-accounts
Create a new bank account in the accounting system
# Create bank transactions
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-bank-transactions
post /consumers/{consumer_id}/accounting/bank-transactions
Create new bank transactions
# Create client
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-client
post /consumers/{consumer_id}/accounting/clients
Create a new client
# Create journal
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-journal
post /consumers/{consumer_id}/accounting/journal
Create a journal in the accounting system
# Create Journal Entry
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-journal-entry
post /consumers/{consumer_id}/accounting/journal-entries
Create a new Journal Entry in the accounting system
# Create ledger account
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-ledger-account
post /consumers/{consumer_id}/accounting/accounts
Create a new ledger account in the chart of accounts
# Create miscellaneous operation
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-miscellaneous-operation
post /consumers/{consumer_id}/accounting/miscellaneous-operation
Create a new miscellaneous operation
# Create sale/purchase entry
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-salepurchase-entry
post /consumers/{consumer_id}/accounting/invoices
Create a new sale/purchase accounting entry
# Create sale/purchase entry (Multiple plans)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-salepurchase-entry-multiple-plans
post /consumers/{consumer_id}/accounting/invoices/multi-analytic-plans
Create a new sale/purchase entry with multiple analytic plans in the accounting
# Create supplier
Source: https://docs.chift.eu/api-reference/endpoints/accounting/create-supplier
post /consumers/{consumer_id}/accounting/suppliers
Create a new supplier
# Export entries in FEC format
Source: https://docs.chift.eu/api-reference/endpoints/accounting/export-entries-in-fec-format
get /consumers/{consumer_id}/accounting/export-fec
Returns accounting entries according to the FEC format
# Get analytic account
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-analytic-account
get /consumers/{consumer_id}/accounting/analytic-accounts/{analytic_account_id}
Returns one specific analytic account of the default analytic plan
# Get analytic account (Multiple Analytic Plans)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-analytic-account-multiple-analytic-plans
get /consumers/{consumer_id}/accounting/analytic-accounts/{analytic_account_id}/multi-analytic-plans/{analytic_plan}
Returns one specific analytic account of a specific analytic plan
# Get analytic accounts
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-analytic-accounts
get /consumers/{consumer_id}/accounting/analytic-accounts
Returns all analytic accounts of the default analytic plan
# Get analytic accounts (Multiple Analytic Plans)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-analytic-accounts-multiple-analytic-plans
get /consumers/{consumer_id}/accounting/analytic-accounts/multi-analytic-plans
Returns all analytic accounts of all analytic plans
# Get Analytic Plans
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-analytic-plans
get /consumers/{consumer_id}/accounting/analytic-plans
# Get attachments
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-attachments
get /consumers/{consumer_id}/accounting/attachments
Returns a list of all attachments linked to an accounting entry
# Get bank accounts
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-bank-accounts
get /consumers/{consumer_id}/accounting/bank-accounts
Returns a list of bank accounts in the accounting system
# Get Bookyears
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-bookyears
get /consumers/{consumer_id}/accounting/bookyears
# Get chart of accounts
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-chart-of-accounts
get /consumers/{consumer_id}/accounting/chart-of-accounts
Get all accounts in the chart of accounts
# Get clients
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-clients
get /consumers/{consumer_id}/accounting/clients
Returns a list of accounting clients
# Get clients/suppliers outstanding items
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-clientssuppliers-outstanding-items
get /consumers/{consumer_id}/accounting/outstandings
Returns a list of all clients/suppliers outstanding items
# Get employees
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-employees
get /consumers/{consumer_id}/accounting/employees
Returns a list of the employees linked to the company
# Get Folder
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-folder
get /consumers/{consumer_id}/accounting/folders/{folder_id}
# Get Folders
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-folders
get /consumers/{consumer_id}/accounting/folders
# Get invoices by type (sale/purchase entries)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-invoices-by-type-salepurchase-entries
get /consumers/{consumer_id}/accounting/invoices/type/{invoice_type}
Returns a list of invoices by a specific type (=sale/purchase entries). Each line of the invoice will include the analytic account linked to default analytic plan. Optionally dates can be defined to retrieve invoice from a certain date to another date
# Get invoices by type (sale/purchase entries - Multiple Analytic Plans)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-invoices-by-type-salepurchase-entries--multiple-analytic-plans
get /consumers/{consumer_id}/accounting/invoices/multi-analytic-plans/type/{invoice_type}
Returns a list of invoices by a specific type (=sale/purchase entries) with invoice lines including multiple analytic plans. Optionally dates can be defined to retrieve invoice from a certain date to another date
# Get journal entries
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-journal-entries
get /consumers/{consumer_id}/accounting/journal/entries
Returns a list of journal entries. Each item will include the analytic account linked to default analytic plan. Optionally, you can retrieve journal entries linked to a specific client/supplier using the partner_id parameter. When retrieving entries linked to a specific client/supplier, some journal items of an entry (e.g. a miscellaneous operation) could be excluding resulting in an unbalanced journal entry.
# Get journal entries (Multiple Analytic Plans)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-journal-entries-multiple-analytic-plans
get /consumers/{consumer_id}/accounting/journal/entries/multi-analytic-plans
Returns a list of journal entries with invoice items including multiple analytic plan.Optionally, you can retrieve journal entries linked to a specific client/supplier using the partner_id parameter. When retrieving entries linked to a specific client/supplier, some journal items of an entry (e.g. a miscellaneous operation) could be excluding resulting in an unbalanced journal entry.
# Get journals
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-journals
get /consumers/{consumer_id}/accounting/journals
Get journals existing in the accounting system
# Get miscellaneous operations
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-miscellaneous-operations
get /consumers/{consumer_id}/accounting/miscellaneous-operation
Get miscellaneous operations from the the accounting system
# Get one client
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-one-client
get /consumers/{consumer_id}/accounting/clients/{client_id}
Returns a specific accounting client
# Get one invoice (sale/purchase entry)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-one-invoice-salepurchase-entry
get /consumers/{consumer_id}/accounting/invoices/{invoice_id}
Returns a specific invoice (sale/purchase entry). Each line will include the analytic account linked to default analytic plan
# Get one invoice (sale/purchase entry - Multiple Analytic Plans)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-one-invoice-salepurchase-entry--multiple-analytic-plans
get /consumers/{consumer_id}/accounting/invoices/multi-analytic-plans/{invoice_id}
Returns a specific invoice (=sale/purchase entry) with invoice lines /oincluding multiple analytic plans
# Get one journal entry
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-one-journal-entry
get /consumers/{consumer_id}/accounting/journal/entries/{journal_entry_id}
Returns a single journal entry by ID.
# Get one miscellaneous operation
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-one-miscellaneous-operation
get /consumers/{consumer_id}/accounting/miscellaneous-operation/{operation_id}
Get a specific miscellaneous operation from the the accounting system
# Get one supplier
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-one-supplier
get /consumers/{consumer_id}/accounting/suppliers/{supplier_id}
Returns one accounting supplier
# Get payment methods
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-payment-methods
get /consumers/{consumer_id}/accounting/payment-methods
Get payment methods
# Get payment terms
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-payment-terms
get /consumers/{consumer_id}/accounting/payment-terms
Get payment terms
# Get suppliers
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-suppliers
get /consumers/{consumer_id}/accounting/suppliers
Returns a list of accounting suppliers
# Get the balance of accounts
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-the-balance-of-accounts
post /consumers/{consumer_id}/accounting/chart-of-accounts/balance
Get the balance of accounts in the accounting plan (chart of accounts) between specific months
# Get vat codes
Source: https://docs.chift.eu/api-reference/endpoints/accounting/get-vat-codes
get /consumers/{consumer_id}/accounting/vat-codes
Get vat codes existing in the accounting system
# Match entries
Source: https://docs.chift.eu/api-reference/endpoints/accounting/match-entries
post /consumers/{consumer_id}/accounting/matching
Match existing entries in the accounting system
# Match multiple entries
Source: https://docs.chift.eu/api-reference/endpoints/accounting/match-multiple-entries
post /consumers/{consumer_id}/accounting/matching-multiple
Match existing entries in the accounting system
# Update analytic account
Source: https://docs.chift.eu/api-reference/endpoints/accounting/update-analytic-account
patch /consumers/{consumer_id}/accounting/analytic-accounts/{analytic_account_id}
Update one specific analytic account in the default analytic plan
# Update analytic account (Multiple Analytic Plans)
Source: https://docs.chift.eu/api-reference/endpoints/accounting/update-analytic-account-multiple-analytic-plans
patch /consumers/{consumer_id}/accounting/analytic-accounts/{analytic_account_id}/multi-analytic-plans/{analytic_plan}
Update one specific analytic account in a specific analytic plan
# Update client
Source: https://docs.chift.eu/api-reference/endpoints/accounting/update-client
patch /consumers/{consumer_id}/accounting/clients/{client_id}
Endpoint that gives the possibility to update an accounting client
# Update one supplier
Source: https://docs.chift.eu/api-reference/endpoints/accounting/update-one-supplier
patch /consumers/{consumer_id}/accounting/suppliers/{supplier_id}
Update an accounting supplier
# Get aggregated list of account counterparts found in transactions
Source: https://docs.chift.eu/api-reference/endpoints/banking/get-aggregated-list-of-account-counterparts-found-in-transactions
get /consumers/{consumer_id}/banking/counterparts
Returns the aggregated list of account counterpats found in transactions. Useful for categorisation.
# Get list of banking accounts
Source: https://docs.chift.eu/api-reference/endpoints/banking/get-list-of-banking-accounts
get /consumers/{consumer_id}/banking/accounts
Returns the list of banking accounts
# Get list of financial institutions
Source: https://docs.chift.eu/api-reference/endpoints/banking/get-list-of-financial-institutions
get /consumers/{consumer_id}/banking/financial-institutions
Returns the list of financial institutions the user consent access to
# Get list of financial transactions
Source: https://docs.chift.eu/api-reference/endpoints/banking/get-list-of-financial-transactions
get /consumers/{consumer_id}/banking/transactions
Returns the list of transactions of an account
# Add new connection
Source: https://docs.chift.eu/api-reference/endpoints/connections/add-new-connection
post /consumers/{consumer_id}/connections
Returns the url that can be used by your client to enable his integrations.
# Delete one connection
Source: https://docs.chift.eu/api-reference/endpoints/connections/delete-one-connection
delete /consumers/{consumer_id}/connections/{connectionid}
Endpoint that deletes one connection of a consumer in Chift
# Get connections
Source: https://docs.chift.eu/api-reference/endpoints/connections/get-connections
get /consumers/{consumer_id}/connections
Returns a list of the connections (active or inactive) linked to your consumer
# Get transaction information
Source: https://docs.chift.eu/api-reference/endpoints/connections/get-transaction-information
get /consumers/{consumer_id}/connections/{connection_id}/transactions
Returns transaction info by client_request_id
# Update an existing connection
Source: https://docs.chift.eu/api-reference/endpoints/connections/update-an-existing-connection
patch /consumers/{consumer_id}/connections/{connectionid}
Returns the url that can be used by your client to update the connection
# Create new consumer
Source: https://docs.chift.eu/api-reference/endpoints/consumers/create-new-consumer
post /consumers
Create a new consumer that will have the possibility to use the enabled integrations
# Delete one consumer
Source: https://docs.chift.eu/api-reference/endpoints/consumers/delete-one-consumer
delete /consumers/{consumer_id}
Endpoint that deletes one consumer in Chift
# Get consumers
Source: https://docs.chift.eu/api-reference/endpoints/consumers/get-consumers
get /consumers
Returns the list of consumers linked to your account.
# Get execution data for a specific consumer and a specific datastore
Source: https://docs.chift.eu/api-reference/endpoints/consumers/get-execution-data-for-a-specific-consumer-and-a-specific-datastore
get /consumers/{consumer_id}/datastore/{datastoreid}/data
Returns execution data related to a consumer and a datastore. Queryparams can be used to filter the restuls by datastore column or by executionid
# Get executions information for one consumer/flow/sync
Source: https://docs.chift.eu/api-reference/endpoints/consumers/get-executions-information-for-one-consumerflowsync
get /consumers/{consumer_id}/syncs/{syncid}/flows/{flowid}/executions
Returns executions information for one consumer/flow/sync
# Get one consumer
Source: https://docs.chift.eu/api-reference/endpoints/consumers/get-one-consumer
get /consumers/{consumer_id}
Returns the specified consumer
# Get sync information for one consumer
Source: https://docs.chift.eu/api-reference/endpoints/consumers/get-sync-information-for-one-consumer
get /consumers/{consumer_id}/syncs/{syncid}
Returns sync information (creation date, mapping) related to a specific consumer
# Retrieve the url of a sync for a specific consumer
Source: https://docs.chift.eu/api-reference/endpoints/consumers/retrieve-the-url-of-a-sync-for-a-specific-consumer
post /consumers/{consumer_id}/syncs
This route can be used to retrieve the url that can be shared with your clients to allow them to connect as specified in a sync
# Update one consumer
Source: https://docs.chift.eu/api-reference/endpoints/consumers/update-one-consumer
patch /consumers/{consumer_id}
Update one consumer in Chift
# Get list of datastores
Source: https://docs.chift.eu/api-reference/endpoints/datastores/get-list-of-datastores
get /datastores
Returns a list of datastores (active and inactive) available for your account
# Create an order
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/create-an-order
post /consumers/{consumer_id}/commerce/orders
Create a new order
# Get all countries
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-all-countries
get /consumers/{consumer_id}/commerce/countries
Returns the list of all activated countries
# Get all customers
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-all-customers
get /consumers/{consumer_id}/commerce/customers
Returns a list of all the customers
# Get all locations
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-all-locations
get /consumers/{consumer_id}/commerce/locations
Returns a list of all locations
# Get all orders
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-all-orders
get /consumers/{consumer_id}/commerce/orders
Returns a list of all the orders
# Get all payment methods
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-all-payment-methods
get /consumers/{consumer_id}/commerce/payment-methods
Returns the list of the payment methods
# Get all product categories
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-all-product-categories
get /consumers/{consumer_id}/commerce/product-categories
Returns the list of the product categories
# Get all products
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-all-products
get /consumers/{consumer_id}/commerce/products
Returns a list of all the products
# Get all tax rates
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-all-tax-rates
get /consumers/{consumer_id}/commerce/taxes
Returns the list of all tax rates
# Get one specific customer
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-one-specific-customer
get /consumers/{consumer_id}/commerce/customers/{customer_id}
Returns a specific customer
# Get one specific order
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-one-specific-order
get /consumers/{consumer_id}/commerce/orders/{order_id}
Returns a specific order
# Get one specific product
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-one-specific-product
get /consumers/{consumer_id}/commerce/products/{product_id}
Returns a specific product
# Get one specific product variant
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/get-one-specific-product-variant
get /consumers/{consumer_id}/commerce/variants/{variant_id}
Returns a specific product variant
# Update available quantity
Source: https://docs.chift.eu/api-reference/endpoints/ecommerce/update-available-quantity
post /consumers/{consumer_id}/commerce/variants/set_quantity/{variant_id}
Update available quantity of a product variant in a specific location
# Get access token
Source: https://docs.chift.eu/api-reference/endpoints/general/get-access-token
post /token
This endpoint allows you to get an access token that can be used as a BEARER token to access the protected endpoints of this APIs. The token is valid for 30 minutes. You can refresh the token by requesting a new token.
# Get list of integrations
Source: https://docs.chift.eu/api-reference/endpoints/integrations/get-list-of-integrations
get /integrations
Returns a list of integrations (active and inactive) available for your account
# Returns a logo/icon of an integration (as base64)
Source: https://docs.chift.eu/api-reference/endpoints/integrations/returns-a-logoicon-of-an-integration-as-base64
get /integrations/{integrationid}/{image_type}.json
# Create a contact
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/create-a-contact
post /consumers/{consumer_id}/invoicing/contacts
Create a new contact.
# Create a product
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/create-a-product
post /consumers/{consumer_id}/invoicing/products
Create a new product.
# Create an invoice
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/create-an-invoice
post /consumers/{consumer_id}/invoicing/invoices
Create a new invoice.
# Retrieve all Bank Accounts
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-all-bank-accounts
get /consumers/{consumer_id}/invoicing/bank-accounts
Returns the list of bank accounts
# Retrieve all Bank Transactions
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-all-bank-transactions
get /consumers/{consumer_id}/invoicing/bank-transactions
Returns the list of bank transactions
# Retrieve all contacts
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-all-contacts
get /consumers/{consumer_id}/invoicing/contacts
Returns a list of all the contacts. Optionally contact type can be defined to retrieve contact from a certain type.
# Retrieve all invoices
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-all-invoices
get /consumers/{consumer_id}/invoicing/invoices
Returns a list of invoices. Optionally invoice type and dates can be defined to retrieve invoices of a certain type from a certain date to another date
# Retrieve all opportunities
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-all-opportunities
get /consumers/{consumer_id}/invoicing/opportunities
Returns a list of all the opportunities
# Retrieve all payment methods
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-all-payment-methods
get /consumers/{consumer_id}/invoicing/payment-methods
Returns the list of payment methods
# Retrieve all payments (invoicing)
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-all-payments-invoicing
get /consumers/{consumer_id}/invoicing/payments
Returns a list of payments
# Retrieve all products
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-all-products
get /consumers/{consumer_id}/invoicing/products
Returns a list of all the products
# Retrieve all taxes
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-all-taxes
get /consumers/{consumer_id}/invoicing/taxes
Returns a list of all the taxes
# Retrieve one contact
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-one-contact
get /consumers/{consumer_id}/invoicing/contacts/{contact_id}
Returns a contact
# Retrieve one invoice
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-one-invoice
get /consumers/{consumer_id}/invoicing/invoices/{invoice_id}
Returns a invoice
# Retrieve one opportunity
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-one-opportunity
get /consumers/{consumer_id}/invoicing/opportunities/{opportunity_id}
Returns an opportunity
# Retrieve one product
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-one-product
get /consumers/{consumer_id}/invoicing/products/{product_id}
Returns a product
# Retrieve one tax
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/retrieve-one-tax
get /consumers/{consumer_id}/invoicing/taxes/{tax_id}
Returns a tax
# Upload a document (PDF)
Source: https://docs.chift.eu/api-reference/endpoints/invoicing/upload-a-document-pdf
post /consumers/{consumer_id}/invoicing/upload-document
Upload a document (PDF)
# Get details about one issue
Source: https://docs.chift.eu/api-reference/endpoints/issues/get-details-about-one-issue
get /issues/{issue_id}
Returns one specific issue. This includes as well the list of events for this issue.
# Get issues
Source: https://docs.chift.eu/api-reference/endpoints/issues/get-issues
get /issues
Returns a list of the issues of your account. Filters can be used to query specific results. Filters can be combined and are inclusive.
# Get issues by consumer id
Source: https://docs.chift.eu/api-reference/endpoints/issues/get-issues-by-consumer-id
get /consumers/{consumer_id}/issues
Returns a list of the issues linked to specific consumer. Filters can be used to query specific results. Filters can be combined and are inclusive.
# Get a payment
Source: https://docs.chift.eu/api-reference/endpoints/payment/get-a-payment
get /consumers/{consumer_id}/payment/payments/{payment_id}
Returns a specific payment.
# Retrieve all balances
Source: https://docs.chift.eu/api-reference/endpoints/payment/retrieve-all-balances
get /consumers/{consumer_id}/payment/balances
Returns a list of balances.
# Retrieve all payments
Source: https://docs.chift.eu/api-reference/endpoints/payment/retrieve-all-payments
get /consumers/{consumer_id}/payment/payments
Returns a list of payments.
# Retrieve all refunds
Source: https://docs.chift.eu/api-reference/endpoints/payment/retrieve-all-refunds
get /consumers/{consumer_id}/payment/refunds
Returns a list of refunds.
# Retrieve all transactions
Source: https://docs.chift.eu/api-reference/endpoints/payment/retrieve-all-transactions
get /consumers/{consumer_id}/payment/transactions
Returns a list of transactions. Optionally transaction type and dates can be defined to retrieve transactions of a certain type from a certain date to another date
# Create one customer
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/create-one-customer
post /consumers/{consumer_id}/pos/customers
Create a customer
# Get accounting categories
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-accounting-categories
get /consumers/{consumer_id}/pos/accounting-categories
Returns a list of accounting categories. When not available for a specific POS, it will return the same values as the product categories.
# Get closure info for a specific day
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-closure-info-for-a-specific-day
get /consumers/{consumer_id}/pos/closures/{date}
Returns whether the closure was already done for a specific day or not
# Get customers
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-customers
get /consumers/{consumer_id}/pos/customers
Returns the list of customers
# Get locations
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-locations
get /consumers/{consumer_id}/pos/locations
Returns a list of the locations
# Get objectives
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-objectives
get /consumers/{consumer_id}/pos/objectives
Return the total amount and the tax amount for a specific period
# Get one customer
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-one-customer
get /consumers/{consumer_id}/pos/customers/{customer_id}
Returns a specific customer
# Get one order
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-one-order
get /consumers/{consumer_id}/pos/orders/{order_id}
Returns a single order
# Get orders
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-orders
get /consumers/{consumer_id}/pos/orders
Returns a list of the orders
# Get payment methods (POS)
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-payment-methods-pos
get /consumers/{consumer_id}/pos/payment-methods
Returns the list of payment methods (POS)
# Get payments
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-payments
get /consumers/{consumer_id}/pos/payments
Returns a list of payments
# Get product categories
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-product-categories
get /consumers/{consumer_id}/pos/product-categories
Returns a list of product categories
# Get products
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-products
get /consumers/{consumer_id}/pos/products
Returns a list of products
# Get report for a specific date (E-reporting)
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-report-for-a-specific-date-e-reporting
get /consumers/{consumer_id}/pos/report
The endpoints returns the report for a specific date containing the required data for e-reporting
# Get sales
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/get-sales
get /consumers/{consumer_id}/pos/sales
Returns the summary of the sales
# Update order
Source: https://docs.chift.eu/api-reference/endpoints/point-of-sale/update-order
patch /consumers/{consumer_id}/pos/orders/{order_id}
Update one order
# Get accounting categories (PMS)
Source: https://docs.chift.eu/api-reference/endpoints/property-management-system/get-accounting-categories-pms
get /consumers/{consumer_id}/pms/accounting-categories
Returns a list of accounting categories. When not available for a specific PMS,it will return the same values as the product categories.
# Get closure info for a specific day (PMS)
Source: https://docs.chift.eu/api-reference/endpoints/property-management-system/get-closure-info-for-a-specific-day-pms
get /consumers/{consumer_id}/pms/closures/{date}
Returns whether the closure was already done for a specific day or not
# Get customers (PMS)
Source: https://docs.chift.eu/api-reference/endpoints/property-management-system/get-customers-pms
get /consumers/{consumer_id}/pms/customers
Returns a list of all the customers
# Get invoices (PMS)
Source: https://docs.chift.eu/api-reference/endpoints/property-management-system/get-invoices-pms
get /consumers/{consumer_id}/pms/invoices
Returns a list of the invoices
# Get locations (PMS)
Source: https://docs.chift.eu/api-reference/endpoints/property-management-system/get-locations-pms
get /consumers/{consumer_id}/pms/locations
Returns a list of the locations
# Get orders (PMS)
Source: https://docs.chift.eu/api-reference/endpoints/property-management-system/get-orders-pms
get /consumers/{consumer_id}/pms/orders
Returns a list of the orders
# Get payment methods (PMS)
Source: https://docs.chift.eu/api-reference/endpoints/property-management-system/get-payment-methods-pms
get /consumers/{consumer_id}/pms/payment-methods
Returns the list of payment methods
# Get payments (PMS)
Source: https://docs.chift.eu/api-reference/endpoints/property-management-system/get-payments-pms
get /consumers/{consumer_id}/pms/payments
Returns a list of payments
# Get tax rates (PMS)
Source: https://docs.chift.eu/api-reference/endpoints/property-management-system/get-tax-rates-pms
get /consumers/{consumer_id}/pms/taxes
Returns a list of the tax rates
# Enable a flow for a specific consumer
Source: https://docs.chift.eu/api-reference/endpoints/syncs/enable-a-flow-for-a-specific-consumer
post /consumers/{consumer_id}/syncs/{syncid}/flows/{flowid}/enable
Route that can be used to enable a flow for a specific consumer
# Get execution start/end timestamp
Source: https://docs.chift.eu/api-reference/endpoints/syncs/get-execution-startend-timestamp
get /syncs/{syncid}/flows/{flowid}/executions/{executionid}
Get execution start/end timestamp
# Get executions for a sync
Source: https://docs.chift.eu/api-reference/endpoints/syncs/get-executions-for-a-sync
get /syncs/{syncid}/executions
Returns all executions for a sync with pagination. Optionally filter by flow.
# Get sync
Source: https://docs.chift.eu/api-reference/endpoints/syncs/get-sync
get /syncs/{syncid}
Returns a sync by id
# Get syncs
Source: https://docs.chift.eu/api-reference/endpoints/syncs/get-syncs
get /syncs
Returns the syncs
# Send a custom event for a specific flow
Source: https://docs.chift.eu/api-reference/endpoints/syncs/send-a-custom-event-for-a-specific-flow
post /syncs/{syncid}/flows/{flowid}/event
Route that can be used to send a specific event for a flow
# Update flow mappings for a specific consumer
Source: https://docs.chift.eu/api-reference/endpoints/syncs/update-flow-mappings-for-a-specific-consumer
patch /consumers/{consumer_id}/syncs/{syncid}
Route that can be used to update the flow mappings for a specific consumer. It will replace the existing configuration with the provided one.
# Update flow settings for a specific consumer
Source: https://docs.chift.eu/api-reference/endpoints/syncs/update-flow-settings-for-a-specific-consumer
patch /consumers/{consumer_id}/syncs/{syncid}/flows/{flowid}
Route that can be used to update the flow configuration for a specific consumer. It will merge the new configuration with the existing one.
# Add new webhook instance
Source: https://docs.chift.eu/api-reference/endpoints/webhooks/add-new-webhook-instance
post /webhooks
Returns the created webhook instance
# Delete one webhook
Source: https://docs.chift.eu/api-reference/endpoints/webhooks/delete-one-webhook
delete /webhooks/{webhookid}
Endpoint that deletes one existing webhook
# Get list of possible webhooks
Source: https://docs.chift.eu/api-reference/endpoints/webhooks/get-list-of-possible-webhooks
get /webhooks/list
Returns a list of webhook that are available for your account
# Get list of webhook instances
Source: https://docs.chift.eu/api-reference/endpoints/webhooks/get-list-of-webhook-instances
get /webhooks
Returns a list of webhook instances (active/inactive) for your account
# Get list of webhook logs for one webhook
Source: https://docs.chift.eu/api-reference/endpoints/webhooks/get-list-of-webhook-logs-for-one-webhook
get /webhooks/{webhookid}/logs
Returns a list of webhook logs for one webhook for your account
# Get one webhook instance
Source: https://docs.chift.eu/api-reference/endpoints/webhooks/get-one-webhook-instance
get /webhooks/{webhookid}
Returns one webhook instance
# Update one webhook
Source: https://docs.chift.eu/api-reference/endpoints/webhooks/update-one-webhook
patch /webhooks/{webhookid}
Update one webhook in Chift
# Overview
Source: https://docs.chift.eu/api-reference/overview
# Unified APIs
Explore what you can do with the Accounting API
Explore what you can do with the Point of Sale API
Explore what you can do with the eCommerce API
Explore what you can do with the Invoicing API
Explore what you can do with the Banking API
Explore what you can do with the Payment API
Explore what you can do with the Property Management System API
# Local agents
Source: https://docs.chift.eu/back-office/advanced/local-agent
Local agents are used for on-premise connectors that cannot be accessed through the cloud.
Chift has developed a local agent that can be run on on-premise connectors' servers and that will act as a proxy between your the server and Chift's infrastructure making it possible to expose an API on top of those connectors.\
This is typically used for connectors like Winbooks, Sage 100, Sage 50, etc.
## How it works
The local agent does not require any specific network configuration. It will connect to Chift's cloud infrastructure and it will not expose any port to the internet.
## Setting up a local agent
Typically the process to set up a local agent is the following:
1. The consumer visits the public connexion page of a connector and clicks on "Connect".
2. The consumer will have the possibility to download a zip file or send a link to this zip file to another person (useful when the installation needs to be done by a third-party)
3. At this moment the consumer will have a connexion which not yet operational.
4. The consumer or his technical contact will have to extract the zip file and install the `Setup.exe`file (alongside a settings.json file containing the information related to this specific connexion).
This is will install a Windows service on the server on which the connector is running that will act as a bridge with Chift.
5. Once the service is installed, the connexion will become green on the consumer's dashboard and you will be able to execute requests.
6. At any time, you can see the status of the local agent and see his latest heartbeat. Webhooks can be configured as well to be notified of the status of the local agent.
For every connector, you will find specific documentation in the connector's documentation and as well in the end-user connector's documentation to ease the process of installation.
## Monitoring a local agent
Through the Chift's dashboard, you will be able to see the status of the local agent and see his latest heartbeat (sent every 15-20 minutes).\
On a consumer's page, you will see wheter the agent is:
* Online and operational: green
* Offline: orange (it's installed but not running currently)
* Offline: red (the service is not installed)
As a local agent might be down, it's advised to use retry mechanism or to implement webhooks.
## Cockpit
The **Chift Cockpit** can be used to configure your connections running on an on-premise server (or computer).
The cockpit will guide you through the steps to make sure that the connections is successfully up and running.
You can find more information on how it works [here](https://help.chift.app/articles/4765527643-local-agent-cockpit-user-guide?lang=en)
# Webhooks
Source: https://docs.chift.eu/back-office/advanced/webhooks
Webhooks allow you to receive real-time notifications when specific events occur in your Chift account.\
This enables you to build fully embedded workflows and keep your systems in sync with changes happening in Chift.
See this [guide](/api-reference/endpoints/webhooks) for more information about the working of webhooks.
This guide will only cover how to create and manage webhooks in the Chift platform.
## Creating a webhook
1. Go to the [webhooks page](https://chift.app/webhooks)
2. Click on "Add webhook"
3. Fill in the required fields:
* Webhook url: The URL where the webhook will be sent to.
* Webhook type: The type of webhook you want to create (See the [guide](/api-reference/endpoints/webhooks/get-list-of-possible-webhooks) for more information)
* Webhook signing secret: The secret used to verify the authenticity of the webhook. This is optional and can be used to verify the webhook request. (See the [guide](/api-reference/endpoints/webhooks/) for more information)
4. Click on "Save
## Manage webhooks
1. Go to the [webhooks page](https://chift.app/webhooks)
2. Open a webhook from the list
3. You will see the details of the webhook and the ability to edit or delete it.
4. On the section below you can see the recent webhook requests and their status.
# Activate Connector
Source: https://docs.chift.eu/back-office/getting-started/activate-connector
To enable integrations for your consumers, you first need to activate the connectors you want to use. This guide will walk you through the connector activation process.
## Access the Connectors Page
1. Log in to your Chift account
2. Navigate to the [Connectors page](https://chift.app/connectors) on the environment you want to activate the connector for
3. You'll see a list of all available connectors organized by category (Accounting, eCommerce, POS, etc.)
Specific connectors might not be available for your account. Please contact
your customer success manager if you need help.
## Activate a Connector
1. Find the connector you want to activate in the list
2. Click on "View connector" to open its details
3. At the top of the connector page, you’ll see a “View documentation” link. It opens a separate page with detailed instructions and context about the connector. We recommend checking it before continuing configuration.
4. On the same page, you’ll also find the following configuration sections:
| Section | Description |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| General | Choose whether you want your end-user to enter a name for the connection. This is a free field that can help you and your end-user to identify the connection. This is optional.
You can also provide a **Help URL**, which will be shown to the end-user when activating the connector. If you leave it empty, we will display Chift’s default documentation for the connector. |
| Preconfigure fields | Some fields can (and must) be configured at connector level. Typically those fields are partner specific and must not be entered by the end-user. |
| Oauth2 | If the connector uses OAuth2, you will have to preconfigure the client id and client secret. We connect through your app to let end-users authorize your app to access their data. |
| Post-connexion configuration | Post-connexion configuration can be used to let the end-user select some options after authentication. For example, this is helpful to let the end-user select the accounting folder or location they want to connect. Some post-connexions are mandatory. Some are optional and activation might depend on your implementation and what you want to offload to Chift. When post-connexions are used, data is automatically filtered based on the selection of the end-user. |
5. Click the "Activate" button to enable the connector
Example of an OAuth2 connector:
Example of a connector with partner key and post-connexion:
Connectors need to be activated separately for each environment you're working
in (Sandbox, Production). This allows you to test integrations in a sandbox
environment before deploying to production.
## Managing Active Connectors
* You can view all your activated connectors through the "Show Active" filter
* You can search for a connector by name or filter by Unified API
* To deactivate a connector, you can use the toggle button on the connector card. Note that you can only deactivate connectors that are not currently connected to any consumer.
## Next Steps
Once you've activated your desired connectors, you can:
* [Create consumers](/back-office/getting-started/create-consumer) who will use these connectors
* [Generate API keys](/back-office/getting-started/create-api-key) to access the APIs
* Start building integrations using our [API documentation](/api-reference)
Make sure to activate connectors as well in your production environment when
you are ready to go live. Your credentials for the production environment
might be different from your sandbox credentials.
# API Explorer
Source: https://docs.chift.eu/back-office/getting-started/api-explorer
The API Explorer is a powerful tool built into the platform that allows you to test and validate Chift's API endpoints directly from your browser. You can also use it to replay existing transactions, making it an essential tool for debugging and development.
## Accessing the API Explorer
The API Explorer can be accessed in two ways:
### 1. From the sidebar
Click the **API Explorer** button at the bottom of the sidebar. This opens the API Explorer without any pre-filled context — you will need to select an operation, consumer, and connection manually.
### 2. From a consumer's page
Navigate to a consumer and click the **API Explorer** button in the top right corner of the page. When opened this way, the **consumer** and **connection** are automatically pre-filled based on the current consumer, so you can start testing right away.
In both cases, the API Explorer opens as a drawer panel on the right side of the screen.
## Selecting and executing a request
1. Click **+ New request** to create a new request tab
2. Use the **operation selector** to choose the endpoint you want to test — operations are grouped by tags and displayed with their HTTP method and summary. You can search by operation name, path, or tag.
Once an operation is selected, a **"Learn more about this API endpoint"** link is displayed below, opening the corresponding API documentation in a new tab.
3. Select the **consumer** and **connection** to use. The available operations and consumers are filtered dynamically:
* When a **consumer** is selected, only operations matching the consumer's connected APIs are shown
* When an **operation** is selected, only consumers that support this API are listed
* The **connection dropdown** adapts based on available connections:
* If only one connection matches the endpoint, it is **auto-selected** and the dropdown is grayed out
* If multiple connections of the same type are available, the dropdown is **active** and lets you switch between connectors
4. You can optionally enable the **Include raw data** option. When enabled, the raw response from the target connector will be included, allowing you to compare it directly with the processed data. This option is only available for GET endpoints.
5. Fill in the required **parameters** in the **Params** tab, and provide the **request's body** in the **Body** tab when applicable (a sample body is auto-populated from the API schema when available)
6. Click **Send** to execute the request (or use the keyboard shortcut **Cmd+Enter** on Mac / **Ctrl+Enter** on Windows)
The response is displayed in the **Response** panel with the status code, execution duration, and the full JSON response body with syntax highlighting. You can **download** or **copy** the response, and toggle **fullscreen** mode for easier inspection.
Executing POST, PUT, PATCH, or DELETE requests in production will actually modify data. Therefore, we strongly recommend testing POST, PUT, PATCH, and DELETE requests only in the sandbox environment.
## Multi-tab support
You can open multiple request tabs simultaneously, allowing you to work on different endpoints or compare responses side by side. Each tab displays the HTTP method and operation name, and can be closed individually.
Tabs persist across sessions so you can pick up right where you left off.
Use the **+** button to add new tabs, **Clear tabs** to close all tabs at once, and the resize icons to switch between compact, default, and fullscreen modes.
## Request history
Every executed request is automatically saved in the **History** sidebar on the right side of the API Explorer. Each entry includes:
* HTTP method and path
* Status code
* Consumer and connection name
* Environment (Sandbox / Production)
* Timestamp
Click on any history item to re-open it in a new tab with all parameters pre-filled. You can also delete individual entries or clear the entire history using the trash icon.
History is scoped per account and persists across browser sessions (up to 200 entries).
### Filtering history
Click the **filter icon** in the History header to reveal the filter panel. You can combine multiple filters to quickly find past requests:
* **Search bar** — Search by operation name, path, consumer name, or connection name
* **Consumer filter** — Click the user icon to filter by a specific consumer
* **HTTP method** — Toggle one or more method badges: GET, POST, PUT, PATCH, DELETE
* **Status category** — Toggle one or more status badges: 2XX (success), 4XX (client error), 5XX (server error)
## Replaying transactions
You can replay any transaction directly from the transaction detail view:
1. Navigate to the **Transactions** section
2. Click on the transaction you want to inspect
3. Review the request details (method, path, parameters, headers)
4. Click **Open in Explorer** to load the transaction in the API Explorer with all parameters pre-filled
5. Modify any parameters if needed, then click **Send**
When replaying a transaction, any connector-specific query parameters that are not part of the standard API specification are displayed in a read-only info box for reference.
## Raw data
You can optionally enable the **Include raw data** option on GET endpoints. When enabled, the raw response from the target connector will be included alongside the unified Chift response, allowing you to compare it directly with the processed data. This is useful for debugging or when you need to access connector-specific fields not included in the unified model.
On production environments, the raw data option is only available for accounts with the raw data premium feature enabled.
## Drawer sizing
The API Explorer drawer can be resized to fit your workflow:
* **Compact** — minimal overlay for quick checks
* **Default (80%)** — standard working size
* **Fullscreen** — full browser width for detailed inspection
Your size preference is saved and restored automatically.
## Permissions
Access to the API Explorer depends on your role:
| Role | GET requests | POST, PUT, PATCH, DELETE requests |
| -------------- | :-------------------: | :-------------------------------: |
| **Admin** | | |
| **Developer** | | |
| **Onboarding** | | |
| **Support** | | |
| **Reporter** | | |
**Admin** and **Developer** roles have full access to all HTTP methods. **Onboarding**, **Support**, and **Reporter** roles can only execute GET requests — write operations (POST, PUT, PATCH, DELETE) are not available.
Contact your account administrator if you need elevated access.
# Configure Account
Source: https://docs.chift.eu/back-office/getting-started/configure-account
Setting up your Chift account is the first step to leveraging our unified APIs and building powerful integrations. This guide will walk you through the initial configuration process. It will help you to:
* Setup your personal information and language
* Invite team members
* Configure the public pages of your organization
* Configure automatic email reminders (See [Email Reminders](/back-office/user-onboarding/email-reminders))
To start, you will need to enter the "Settings" [menu](https://chift.app/settings).\
As a new user, you can as well follow our "Getting Started" onboarding in the sidebar.
## Setup your personal information and language
In this section you can setup your personal information and default language. Next to that you can as well update your password if required.
## Add Team Members
You can invite team members to collaborate on your Chift account:
1. Go to the 'Members' section
2. Click "Add user"
3. Enter their email address and assign appropriate roles (see [Roles](/back-office/platform/roles))
4. They will receive an invitation email to join your organization
Next to that you can also manage your team members and their roles.
## Configure the public pages of your organization
In this section you can configure the branding of your organization on chift's public pages.
You can setup the logo, the main color and the button color.\
E.g. for the example above, the configuration will look like this for the activation of Hiboutik:
By using your colors and your logo, you can make sure that your customers feel at home when they visit your public pages.
You can as well select the default language of those public pages.
## Connection name configuration
When creating a connection in Chift, you can assign a **connection name**. This name is purely a label, but it becomes essential as soon as a user manages multiple connections, or when you need to clearly associate a connection with a specific client or end user.
The connection name can be:
* **Defined directly via the API** when creating the connection, or
* **Entered by the end user** during the connection activation flow, as shown in the example below.
If you already handle connection naming on your side, or if you simply don’t need this information, you can disable the connection name prompt entirely. This can be done globally, for all users and all connectors, from your **consumer page configuration** by setting the corresponding option to **“Never”** :
Once disabled, users will no longer be asked to provide a connection name during activation (see example bellow).
This setting can also be overridden per **connector** from the connector configuration page.
## Default redirection URL
You can configure a default redirection URL for each environment.\
This URL will be used to redirect the customer to a specific page after they have completed the connexion process.
## Redirect URL parameters
You can choose to automatically append connection details to the redirect URL used after a successful connexion. This makes it easier to track, identify, and handle user flows on your side.
When this option is enabled, additional query parameters will be appended to the consumer redirect URL based on the connexion outcome:
* **consumerId** – The identifier of the consumer.
* **connectionId** – The identifier of the newly created or updated connection.
* **connectionStatus** – Indicates whether the connection is `active` or `inactive`.
In case of an error during the connexion process, the following parameters will also be included:
* **error** – A short error code describing the issue.
* **isExpiredError** – A boolean flag indicating if the error is due to an expired invitation or session.
## Restrict connection creation via UI
You can enable a setting to **restrict consumers from creating connections through the UI** (e.g. marketplace).
\
When activated, consumers can only create connections via the **API**.
* The consumer link page will display a message explaining that connections cannot be created there.
* The valid flow is:
1. Create the consumer via API
2. Create the connection via API (with `integrationId` and `name`)
3. Redirect the customer to the generated activation URL
This configuration ensures that all connections are created and tracked via API, preventing accidental or uncontrolled connections from being created through the UI.
## Next Steps
Once your account is configured, you can:
* [Activate connectors](/back-office/getting-started/activate-connector) for your integrations
* [Set up consumers](/back-office/getting-started/create-consumer) for your applications
* [Create API keys](/back-office/getting-started/create-api-key) to access our APIs
* Explore our [API documentation](/api-reference) to start building
For any questions during the setup process, don't hesitate to contact our support team at [support@chift.eu](mailto:support@chift.eu)
# Create and Manage API Keys
Source: https://docs.chift.eu/back-office/getting-started/create-api-key
API keys are your main authentication method when interacting with the Chift Unified API.\
Each key identifies and authorizes requests made from your account.
You can manage them directly from the [API Keys page](https://chift.app/api-keys) in the platform.
***
## **Managing your keys**
From the **API Keys** page, you can:
* View all existing API keys
* Delete unused or expired keys
* Create new ones when rotating credentials or switching environments
Regularly rotating your API keys is strongly recommended.
You can also optionally **limit the scope** of an API key to one or more consumers.
***
## **Consumer-specific API Keys**
When creating a new key, you can restrict its access to a specific consumer:
1. Select a consumer from the dropdown menu
2. The API key will only be valid for this consumer’s data
3. This adds an extra layer of isolation and security, especially useful for customer-specific integrations. This won't be relevant in most implementations.
***
For a deeper overview of how authentication works with the Unified API, see the [Authentication guide](/developer-guides/create-api-key).
# Create Consumer
Source: https://docs.chift.eu/back-office/getting-started/create-consumer
A consumer represents an end-user or organization that will connect to third-party services (or connectors) through your Chift's Unified APIs.\
his guide explains how to create and manage consumers in your Chift account.
## What is a Consumer?
A consumer is an entity (typically one of your customers) that will use the connectors you've activated to integrate with various services.\
Each consumer can have multiple connections to different services (accounting, pos, ecommerce, invoicing, ...).
Each consumer is represented by a `GUID` and by a `name`.
A internal reference can as well be added (Feature available upon request).
## Creating a Consumer
1. Navigate to the [Consumers page](https://chift.app/consumers)
2. Click the "Add consumer" button
3. Fill in the required information:
* **Name**: An identifier for the consumer (free text, up to you to choose if you want to use a guid or something more readable)
* **Redirection url** (optional): The url to redirect the consumer after authentication
* **Email** (optional): Contact email for the consumer. If filled in, this email will be used to send reminders and notifications (if activated in the account settings: [Email Reminders](/back-office/user-onboarding/email-reminders))
4. Click "Save" to create
5. Once created, you will be able to copy the connexion url or to navigate directly to the consumer's connexion page
In production, you will typically create a consumer through the API.
## Activation of a connexion
Connections make the link between consumers and software. Each consumer can have multiple connections. A connection is represented by a `name`, a `link to a specific software` and `link to a specific Chift API`. A connection will for example represent the credentials to connect to an Odoo instance for a specific consumer.
1. Navigate to the [Consumers page](https://chift.app/consumers)
2. Click on the three dots on the right of the consumer you want to activate a connexion for and select "Get consumer link"
3. Navigate to the connexion page, choose the connector you want to connect to and click on "Connect"
In production, you will typically skip this page and let your users navigate directly to the connexion page of connectors.
4. You will have to fill in the required information and click on "Connect" to initiate the connexion
5. If successful, you wil be redirected to the consumers's redirection url or back to the marketplace
In production, you will typically activate a connexion through the API. You will be able to retrieve the connexion url for a consumer and share it with him.
## Managing Consumers
Once created, you can:
* View all your consumers in the consumers list
* Search for specific consumers using the global search bar
* Export the list of consumers to a CSV file
* Filter consumers based on their status or connections
* Edit consumer details by clicking on a consumer in the list
## Next Steps
After creating a consumer and activating a connexion, you can:
* Use the [API Explorer](/back-office/getting-started/api-explorer) to test the APIs
* [Create API keys](/back-office/getting-started/create-api-key) to access our APIs
* Use our [API endpoints](/api-reference) to manage consumer data
* Monitor consumer activities and connection status
# Support for multiple environments
Source: https://docs.chift.eu/back-office/platform/multi-environment
By default, we support one sandbox and one production environment allowing you to separate your consumers used for development and testing with your production’s consumers.
To match all needs of our customers, we have as well the possibility to add sub-environments under Production and Sandbox allowing to work with as many environments as you want.\
This can be really helpful fur use cases such as :
* Manage connectors’ credentials in multiple environments
* Match your app’s environments with Chift’s environments (Local, Test, QA, …) and separate your access keys for each of those environments
* Environment-based reporting
* …
This feature is available upon request only
# Roles
Source: https://docs.chift.eu/back-office/platform/roles
# Introduction
This document describes the different roles that you can assign to your users on Chift's platform. Based on users' feedback, we have created a set of roles with a set of permissions so that you can easily give the right roles to your the right teammembers. Don't hesitate to contact us if it should not match your expectations.
### Roles' description
The table below highlights the different roles with a brief explanation.
| Role | Description |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| Admin | Can manage the account, invite new members and manage the accesses. Moreover he can do everything on the platform. |
| Developer | Same as admin but cannot manage members. |
| Onboarding | Can create, update and send connection links of consumers. Moreover, he has the same rights as the support role. |
| Support | Same as reporter but het can as well view datastore data, transactions and as well execute GET transactions through the API Explorer.. |
| Reporter | Can only view data of consumers, connectors & syncs. Cannot view transactions, datastore data and cannot manage the account or invite new members. |
### Roles' permissions matrix
The table below gives a detailed overview of the permissions assigned to each role.
| Permission | Admin | Developer | Onboarding | Support | Reporter |
| ------------------------------------- | --------------------- | --------------------- | --------------------- | --------------------- | --------------------- |
| Create consumers | | | | | |
| Read consumers | | | | | |
| Update consumers | | | | | |
| Delete consumers | | | | | |
| Setup new connections (generate link) | | | | | |
| Create API keys | | | | | |
| Read API keys | | | | | |
| Update API keys | | | | | |
| Delete API keys | | | | | |
| Activate/Deactivate connectors | | | | | |
| Read connectors | | | | | |
| Create webhooks | | | | | |
| Read webhooks | | | | | |
| Update webhooks | | | | | |
| Delete webhooks | | | | | |
| Create syncs | | | | | |
| Read syncs | | | | | |
| Update syncs | | | | | |
| Delete syncs | | | | | |
| Execute GET transactions | | | | | |
| Execute ALL transactions | | | | | |
| Read transactions | | | | | |
| Read datastores | | | | | |
| Delete datastores | | | | | |
| Execute flows | | | | | |
| Update account (logo, colors, ...) | | | | | |
| Manage members | | | | | |
| Create marketplace | | | | | |
| Update marketplace | | | | | |
| Delete marketplace | | | | | |
| Create environment | | | | | |
| Update environment | | | | | |
| Delete environment | | | | | |
# How to Contact Chift Support
Source: https://docs.chift.eu/back-office/support/contact-support
If you need help, there are two ways to reach our support team:
## Platform bot (Recommended)
The fastest and most efficient way to contact support is through the built-in messenger on the Chift platform.\
Using this method allows us to:
* Instantly access the context of your account
* Provide faster and more accurate responses
With the messenger, you can:
* Start a new conversation with our Support AI assistant — this will automatically create a ticket in our support platform
* Access and follow up on existing conversations
* Quickly open the support ticket portal
#### How to use the messenger
1. Click on the chat icon in the bottom-right corner of any page on the platform.
2. Click **Start a new chat** and describe the issue you're experiencing, including as much context as possible.
> 💡 **Important:** If you're reporting a bug, we strongly recommend starting the conversation **from the page of the consumer where the issue occurs**. This way, all relevant information from that consumer is automatically included in the ticket, which speeds up the investigation and resolution.
3. Once submitted, our support team will review your message and get back to you as soon as possible.
## Support Form
If you prefer to use a more structured form to create your support request, you can go to the [support portal](https://support.chift.app/form/support-request) to submit your ticket.
From this [Ticket Portal](https://support.chift.app/), you will also be able to view and manage all your existing tickets.
## Email Support
You can also contact our support team by emailing [support@chift.eu](mailto:support@chift.eu).
To help us resolve your issue faster, please include:
* Your account name
* A detailed description of the problem
* The consumer(s) affected
* Any relevant screenshots or error messages
👉 However, for the best experience and quickest resolution, we highly recommend using the **platform messenger**, as it provides more context about your account and usage.
## ⏭️ Next step : Manage Your Tickets
👉 Once your ticket is created, you can manage, track, and view all ticket details through our [Ticket Portal](https://docs.chift.eu/back-office/support/ticket-portal).
# Managing Tickets
Source: https://docs.chift.eu/back-office/support/ticket-portal
You can to track and manage all support tickets across your consumers. There are two main views:
### A. Consumer-Level Tickets
Each consumer has a dedicated **Tickets** tab showing all tickets related to that specific consumer. This view helps you:
* Quickly find tickets for that consumer
* Track the status of open or resolved tickets
* Follow up on ongoing issues
> 💡 **Tip:** Reporting a bug from the consumer page ensures that relevant context is automatically included in the ticket, helping support resolve the issue faster.
### B. Full Account View (Pylon)
You can also directly access the ticketing platform ([Pylon](https://support.chift.app)) for a centralized overview of all tickets across your account. The full ticket portal allows you to:
* View all tickets in one place
* Filter tickets by **status**
* Sort tickets by different criteria
* Access detailed ticket history and communication
This centralized system helps you and your team keep track of all support interactions, ensuring nothing gets lost and providing a clear audit trail of communications.
# Email Reminders
Source: https://docs.chift.eu/back-office/user-onboarding/email-reminders
Email reminders can be used to help you to remind your consumers to complete the activation process in an automated way.
Two types of emails are available:
* Consumer with inactive connection: sent to consumers that have no active connection
* Consumer with incomplete sync: sent to consumers that have a sync but the connexion or the mappings are not correctly set (only if you are using syncs)
Consumer with inactive connection will only be sent if the consumer has no sync.\
Otherwise, consumer with incomplete sync will be used.
Email reminders are only sent to consumers that have an email address.\
You can setup an email address for your consumers when you create them throug the UI or the API.\
If your consumers are exposed through a public marketplace, they will always have an email address.
## Email Settings
You have the flexibility in how these emails are delivered to your consumers. Through the settings page, you can customize two key aspects:
1. Set when reminder emails should be sent by choosing an interval of 1, 3, or 5 days between each email.
2. Specify how many reminder emails a consumer should receive in total by selecting either None, one, two, or three reminders.
Next to each email type, an eye icon allows clients to preview the email content sent to consumers. The logo and colors used in these emails can be customized in the [“Consumer Page” tab](/back-office/getting-started/configure-account#configure-the-public-pages-of-your-organization).
## Email Dispatch
Every day at 6:00 UTC (7:00 Belgium time), our system runs a dispatch job that processes each type of email separately.
Emails are sent from [`support@chift.eu`](mailto:support@chift.eu).
We also create a consumer log entry when an email is dispatched, which appears in the corresponding consumer or sync log page.
## Email Types
### Consumers with inactive connection
For consumers without syncs, we check their connection status:
* No Connection: Proceed with a generic reminder email.
* Pending Connection: Proceed with a customized email that includes the connector name and a link to the connector help page.
Once we've determined a consumer should receive an email, we check if the configured interval has passed since their last communication before dispatching either their first email or next reminder.
### Consumer with incomplete sync
For each consumer, we check their connection and mapping status.
The consumer can be in the following statuses:
* No connection
* Pending connection
* No mapping completed
* Pending mapping
* Missing configuration
Each status appears in the email with its own message. If a documentation url is present for the sync for your users, it will display as a help link alongside the sync.
Transactional emails are only dispatched for the **production environment** of the client’s account.\
Consumers in the sandbox environment will not receive any transactional emails.
## Email Logs
The email logs show a chronological history of reminder emails sent to your consumers, whether dispatched automatically or sent manually. The page helps you track communication activity and measure how reminders influence activation.
At the top of the table, a summary section displays key metrics such as the number of consumers reminded, total emails sent, active consumers, inactive consumers, and the conversion rate.
Each entry in the table corresponds to a specific email sent to a consumer. For every email, you can see when it was sent, what type of reminder it was, how many reminders the consumer has already received, and their current connection status at that time.
# External Invitations
Source: https://docs.chift.eu/back-office/user-onboarding/external-invitation
During an onboarding process, the person that is trying to connect a software is not always the as the person that has the access to the software.
Moreover, when you are trying to connect multiple softwares, it might involve multiple people.
External invitation can be used to invite external people to connect during the activation process of a consumer.
This feature is available upon request only.
Once this feature is enabled, your consumers will be able to invite external people to connect during the activation process of a consumer.
### For connexions:
1. The consumer invites an external person throug the "Invite user" button on the public connexion page
2. The consumer fills the form with the external person's information and his message to him
3. An email is sent to the external person with a temporary (valid for 7 days) and secure link to the connexion page
4. The external person clicks on the link and is redirected to the connexion page
5. The external person is able to connect the software
6. The connexion is created and the consumer is notified (if the consumer has an email address)
Through the connexion logs, you will be able to see that the connexion has been activated by an external person.
### For syncs (only if you are using syncs):
1. The consumer invites an external person throug the "Invite user" button on the public sync page
2. The consumer fills the form with the external person's information and his message to him
He can also choose to invite the external person to connect only to a specific connexion of the sync so that he does not have access to other settings (e.g. useful for accountants that request access to their clients' software)
3. An email is sent to the external person with a temporary (valid for 7 days) and secure link to the sync page
4. The process is then the same as for a connexion.
# Help Center
Source: https://docs.chift.eu/back-office/user-onboarding/help-center
For each connector available on Chift, we maintain detailed help articles in our Pylon knowledge base to assist your consumers with:
* Finding their credentials
* Completing the connection process
* Troubleshooting common issues
These help articles are easily accessible directly from the connection pages. When your consumers are trying to connect, they'll see a help link that takes them to the relevant documentation for that specific connector.
The help articles provide step-by-step instructions with screenshots to guide users through:
* Where to find their credentials in the source system
* Required permissions and settings
* Common error messages and their solutions
The help articles are regularly updated to reflect any changes in the connector interfaces or authentication processes.
# Issues
Source: https://docs.chift.eu/back-office/user-onboarding/issues
Chift provides a comprehensive overview of the issues that might arise when trying to activate a consumer.
This feature is available upon request only.
## List of issues
This page gives you a list of all the issues found during the activation process for your consumers.\
The goal is to help you identify the root cause of the issue and to help you resolve it.
You have the option to get the consumer/sync link to give more details about the issue or to send directly an email to the consumer to help them troubleshoot the issue.
You can as well open a ticket to get in touch with our support team (see [Contact Support](/back-office/support/contact-support)).
You filter the issue by issue types:
* No connexion (no connexion process was initiated)
* Connexion error (error during the connexion process)
* Connexion required (required connexions are missing)
* Sync mapping required (some mappings were not correctly set)
* Sync not configured (the sync was not correctly configured and not activated)
* Sync disabled (the sync was disabled by the consumer)
### AI suggested resolutions
When you open an issue, you can use our smart AI chat to help you resolve issue.
Based on our internal and external documentation, it will provide you with suggestions on how to help you resolve issues.
You can then directly chat as well with the AI bot to provide more context if needed.
### Send email reminder
Through the menu next to each consumer, you can choose to "Send email to a consumer".
This allows you to send manually a reminder email to a consumer to activate a connexion.
# Monitoring
Source: https://docs.chift.eu/back-office/user-onboarding/monitoring
Chift provides comprehensive overview to help you track and manage your consumers' connections.
This guide explains how to effectively monitor connection statuses and troubleshoot any issues that may arise.
## Overview of connexions
The main dashboard gives you a clear view of all your consumers' connections.
It will give you an overview of the number of active consumers.
A consumer is considered as active if there is at least one active connection.
Next to the number of active consumers, you will see the number of active connections.
One consumer can have multiple connections.
Pending connexions are connexions that were initiated but not finished.
Failed connexions are connexions that failed to authenticate due to an authentication error (e.g. wrong credentials, permissions issues, ...).
The rest of the page will give you an overview of the connectors used by your clients.
You can drill down to see more details about each Unified API or connector.
## Overview of syncs
Only when you are using syncs.
If you are using Chift's syncs, this overview will give you an overview of the active syncs of your consumers.\
It's not because a connexion is active that a sync is activated.\
The most important metric for you to track is the number of active syncs.
A sync is considered as active for one consumer if the configuration was successfully completed.
The rest of the page will give you an overview of the activation rate of your syncs.
You can drill down to see more details about each step of the sync and where it might have failed.
## List of consumers (by connexions)
Navigate to the [Consumers page](https://chift.app/consumers) and you will see a list of all your consumers.
You have filters to select the active consumers or to filter by specific connectors.
At any time you can search for a specific consumer by name or by consumerid by using the global search bar.
You can download the list of consumers visible on your screen by clicking on the 'Download CSV' button.
In the issue column, you will see what might have failed for a consumer:
* Connexion failed (name of connector)
* Nothing: no connexion process was initiated
Click on the three dots and click on "Get consumer link" to get a link to the consumer's connexion page.
This can give you more details about what might have failed.
Through the three dots, you can also edit or delete the consumer.
## List of consumers (by syncs)
Only when you are using syncs.
Navigate to the [Consumers page](https://chift.app/consumers), choose the "By syncs" tab and you will see a list of all the consumers for which you tried to activate a sync.
Different filters are available to help you identify the consumers that failed to activate a sync (e.g. by sync, by connector, ...)
In the issue column, you will see what might have failed during the sync activation for a consumer:
* Connexion failed (name of connector)
* No connexion: required connexions are missing
* Mapping incomplete: some mappings were not correctly set
* Configuration incomplete: the configuration was not completed and the sync was not activated
Click on the three dots and click on "Get sync link" to get a link to the consumer's connexion page for the sync.
This can give you more details about what might have failed.
Through the three dots, you can also edit or delete the consumer.
## Next Steps
* Learn about [Issues Management](/back-office/user-onboarding/issues)
* Set up [Email Reminders](/back-office/user-onboarding/email-reminders)
* Explore the [Help Center](/back-office/user-onboarding/help-center) for troubleshooting guides
# Overview
Source: https://docs.chift.eu/back-office/user-onboarding/overview
Chift is built based on the belief that the onboarding experience is a crucial part of the integration process.
We developed a set of tools to help you onboard your users and manage their activations.
Here's what you'll find in the following pages:
## Monitoring
Learn how to track and monitor your consumers' connections. This includes viewing connection statuses, filtering by connector, and identifying potential issues early.
## Issues Management
In this section, you'll find a list of issues found during the activation process.
This feature is available upon request only.
## Help center for end-users
For each connector, you'll find a help center that you can use to guide your consumers through the activation process.
## External Invitation
Discover how to invite external users to connect their software through Chift.
This feature is available upon request only.
## Email Reminders
Explore how to set up and manage automated email reminders for your consumers. This helps ensure they complete necessary setup steps without you having to do it manually.
This feature is available upon request only.
These tools and features are designed to help you provide a smooth onboarding experience for your users while maintaining visibility and control over the integration process.
# Product & connector updates - January, 2025
Source: https://docs.chift.eu/changelogs/2025-01
## Connectors
### Apitic
We are expanding our POS API with Apitic.
Apitic is a POS application for restaurants.
### Odoo POS
Next to accounting & invoicing, our Odoo connector now supports as well the POS vertical is now live as well.
Take a look at [our documentation](/connectors/pos/odoo_pos) to see how to activate the connector.
## Product
### New login methods for our platform
We are moving away from the traditional email/password login method to support the following login methods:
* Log in through Google
* Log in with email (Magic link or OTP code)
Moreover we support as well SSO to better match with the needs of our customers and prospects.
### New login methods for our public marketplaces
For your end-users, we can as well offer now SSO capabilities to connect to your Chift's marketplace.
This offers huge benefits:
* Better user experience for end-user
* Streamline roles and accesses
* Automate account and consumer creation
### Email reminders
Email reminders can be used to help you to remind your consumers to complete the activation process in an automated way.
You can configure in your backoffice the intervals and type of reminders that you want to sent.
You can as well preview the email or send the email manually if preferred through the [Issue panel](/back-office/user-onboarding/issues).
# Product & connector updates - February, 2025
Source: https://docs.chift.eu/changelogs/2025-02
## Product
### Internationalisation of syncs
We now support the dynamic translations of syncs.
Every label can be customized on our UI to tailor the pages to the language of your end-users.
# Product & connector updates - March, 2025
Source: https://docs.chift.eu/changelogs/2025-03
## Connectors
### Accounting
Updated coverage for "Create journal":
* Pennylane
* Exact Online
* Cegid Loop
* Inqom
* Octopus
* Horus
* ACD
* Minox
* Odoo
Updated coverage for "Create ledger account":
* Pennylane
* Exact Online
* Cegid Loop
* Inqom
* Octopus
* Horus
* ACD
* Minox
* Odoo
* Fullscope
### New connector Leo2
We are expanding our POS API with Leo2.
Leo2 is a modern, touch-screen POS (point of sale) for shops and restaurants
### New connector Tactilpad
We are expanding our POS API with Tactilpad.
TactilPad offers 360° payment solutions with its high-performance cash register software, specially designed to meet the needs of businesses
### New connector Yuki
We are expanding our Accounting API with Yuki.
Yuki is a cloud-based accounting software for small and medium-sized businesses.
# Product Updates - June, 2025
Source: https://docs.chift.eu/changelogs/2025-06
## Product
### Unified consumer management
We've streamlined the consumer management experience with several key improvements:
**Simplified interface**
* Removed the marketplace selector for a cleaner, more intuitive interface
* All consumers (syncs, non-syncs, and marketplace consumers) are now displayed together in a single, unified table
**Enhanced visibility**
* Added visual badges to clearly distinguish marketplace consumers from regular consumers
* Simplified table columns to focus on what matters most: consumer name, connected integrations, and status
**Improved data management**
* Enhanced filtering capabilities across all consumer types
* Unified CSV export that includes all consumer data in one comprehensive file
* Streamlined data structure for better performance and usability
These changes make it easier to manage all your consumers from one central location while maintaining clear visibility into different consumer types.
#### Before
#### After
### Added new translations for "Spain"
* Chift's backoffice is now available in Spanish.
* Spanish connectors are now available with Spanish translations.
# Product Updates - July, 2025
Source: https://docs.chift.eu/changelogs/2025-07
## Product
### New Issues Management & AI-Powered Resolution
We've introduced a comprehensive Issues management system to help you track and resolve consumer issues during API operations and sync executions. This new feature provides a better visibility into your consumer's challenges and offers solutions to resolve them faster.
#### Issue Tracking in Execution History
Monitor issues as they occur during a sync execution with our new execution history view:
* **Improved visibility**: See exactly when and where issues occur during sync operations
* **Detailed event tracking**: Follow the complete timeline of events leading to an issue
* **Status indicators**: Quickly identify all operations
#### Comprehensive Issues Overview
Get a bird's-eye view of all issues across your consumers with our new Issues dashboard:
* **Unified issue tracking**: View all consumer issues in one centralized location
* **Smart categorization**: Issues are automatically categorized by type and severity
* **Analytics insights**: Track issue frequency and trends
* **Advanced filtering**: Filter by consumer, connector, date range, and issue status
#### Detailed Issue Investigation
Dive deep into individual issues with comprehensive detail views:
* **Root cause analysis**: Understand exactly what went wrong and why
* **Contextual information**: See the full context surrounding the issue occurrence
* **Error code mapping**: Clear error codes with human-readable descriptions
* **Related transactions**: View all related API calls
#### AI-Powered Resolution Suggestions
Our AI assistant analyzes issues and provides resolution suggestions:
* **Documentation-based solutions**: AI recommendations derived from Chift's comprehensive documentation
* **Step-by-step guidance**: Clear, actionable steps to resolve specific issues
#### Key Benefits
* **Faster resolution times**: Reduce issue resolution time
* **Proactive monitoring**: Identify and address issues before they impact your consumers
* **Reduced support overhead**: Empower your team with intelligent troubleshooting tools
#### Coming Soon
* **Quick fixes**: Instant solutions for common issues with one-click resolution
* **Consumer self-service**: Empower consumers to independently troubleshoot and restart synchronizations for common issues
## Tripletex
### New connector Tripletex
We are expanding our Accounting API with Tripletex. Our first connector from Norway.
Tripletex is a comprehensive web-based accounting software designed for small and medium-sized enterprises. The platform integrates essential financial tools including automated bookkeeping, invoicing, payroll management, expense tracking, project management, and year-end closing.
# Product & connector updates - August, 2025
Source: https://docs.chift.eu/changelogs/2025-08
## Product
### Consumer email logs
We’ve introduced consumer email logs to give full visibility into the reminder emails sent to your consumers. This feature helps you monitor communication activity, track the effectiveness of reminders, and ensure more consumers complete their activation process.
## Connectors
### New connector Planity
We are expanding our POS API with Planity.
Planity is a company offering an instant appointment booking service on the internet with beauty professionals.
### New connector Carrepos
We are expanding our POS API with Carrepos.
Carrepos is a POS software designed for restaurants, fast-food outlets, bakeries, cafés, snack bars and more!
### New connector Holded
We are expanding our Accounting API with Holded.
Holded is the software that automates your accounting, minimizes errors, and seamlessly integrates every aspect of your business.
### New connector Twinfield
We are expanding our Accounting API with Twinfield.
Twinfield is a modern accounting and tax software package designed for productivity, quality and security.
# Product & connector updates - September, 2025
Source: https://docs.chift.eu/changelogs/2025-09
## Product
### Self-service for the execution of syncs
We're excited to announce a major enhancement that puts more control in your hands!
Our latest release empowers users with direct synchronization capabilities, allowing you to trigger data syncs instantly from either our backoffice or marketplace interface.\
This powerful new feature gives you complete flexibility to:
* Execute synchronizations on-demand whenever you need them
* Select specific time periods for targeted data syncs
* Backdate synchronizations to any historical period
* Maintain full control over your data flow
This enhanced autonomy means less dependency on support and more efficiency in managing your integrations.
### Better UI for connections
We've updated our UI to provide more detailed connection status information for both users and end-users.\
One of our key priorities is ensuring users have all the necessary information about their connections.
## Connectors
### New connector Freeagent
We are expanding our Accounting API with Freeagent.
FreeAgent is a modern accounting and tax software package designed for productivity, quality and security.
### New connector Sage Intactt
We are expanding our Accounting API with Sage Intacct.
Sage Intacct is a modern accounting and tax software package designed for productivity, quality and security.
### New connector Quickbooks Online
We are expanding our Accounting API with Quickbooks Online.
QuickBooks Online accounting software helps you manage your cash flow, track expenses, send invoices and more all in one place.
### New connector Xero
We are expanding our Accounting API with Xero.
Xero is a modern accounting and tax software package designed for productivity, quality and security.
# Product & connector updates - December, 2025
Source: https://docs.chift.eu/changelogs/2025-12
## Product
### Ledger Preview
The **Preview** feature for ledger entries allows users to **safely test and validate synchronization flows** without committing any actual ledger entries to the target accounting system. It acts like a “sandbox mode” for data synchronization, showing exactly which ledger entries would be created **without writing any real data**.
You can find more information [here](/syncs/ledger-preview)
# Product & connector updates - Jan, 2026
Source: https://docs.chift.eu/changelogs/2026-01
## Product
### AI Chat
This feature powered by AI will help you to resolve issues automatically.
You can find more information [here](/back-office/user-onboarding/issues)
### Warning for connectors with failed transactions
A warning is now shown on connectors whose most recent transaction failed, helping quickly identify potential issues on the connector side, such as expired or invalid credentials causing API errors.
At the consumer level, the connector displays a warning when a connector must be reauthorized.
# Product & connector updates - March, 2026
Source: https://docs.chift.eu/changelogs/2026-03
## Product
### API Explorer v2
The API Explorer has been completely redesigned to provide a more powerful and intuitive experience when testing and validating Chift's API endpoints.
Key highlights:
* **Global access** — Now accessible from the sidebar, without navigating to a specific consumer first. When opened from a consumer's page, the consumer and connection are automatically pre-filled.
* **Improved request panel** — Operations grouped by tags, searchable by name/path/tag, with a direct link to the API documentation for each endpoint. The connection dropdown lets you switch between connectors when multiple connections are available.
* **Response panel** — Status code, execution duration, and full JSON body with syntax highlighting. Download, copy, or expand to fullscreen.
* **Transaction replay** — Re-run any past transaction via the "Open in Explorer" button. All parameters are pre-filled, including connector-specific query parameters.
* **Multi-tab support** — Open multiple request tabs to compare responses or work on different endpoints. Tabs persist across sessions.
* **Request history** — Every request is saved in the history sidebar with method, status, consumer, environment, and timestamp. Filter by method, status category, consumer, or search by name.
* **Raw data toggle** — Include raw connector response data alongside the unified response (GET endpoints only).
* **Body editor** — JSON editor with syntax highlighting. Sample payloads are auto-populated from the API schema.
* **Keyboard shortcut** — Execute requests with **Cmd+Enter** (Mac) or **Ctrl+Enter** (Windows).
* **Resizable drawer** — Compact, default (80%), or fullscreen. Preference saved automatically.
You can find more information on the API Explorer [here](/back-office/getting-started/api-explorer).
# a3ERP
Source: https://docs.chift.eu/connectors/accounting/a3erp
}>
Website: [a3erp.net](https://a3erp.net/)\
Software type: On-premise (local agent)\
Geography: 🇪🇸 Spain \
Support multi-folder: ⏳\
Connector Status: Beta
## Introduction
a3ERP is an enterprise resource planning (ERP) software designed for small and medium enterprises (SMEs) to manage and unify their administrative and production processes. It offers an integrated solution covering areas such as accounting, invoicing, sales, inventory, CRM, and payroll, all from a centralized platform.
## Configure a3ERP
### **Prerequisite(s)**
There are no prerequisite to enable a3ERP on your Chift APP.
### **Process**
Activating the connector takes just one click — simply switch it on from the Connectors Page of your platform.
## Test a3ERP
To test the software integration, Chift can share its own sandbox account upon request.
## Connect a3ERP
* English article: [Help Center - a3ERP EN](https://help.chift.app/articles/4122991757-a3erp-prerequisites?lang=en)
* Spanish article: [Help Center - a3ERP ES](http://help.chift.app/articles/4122991757-a3erp-prerequisites?lang=es)
## Coverage
##
# ACD
Source: https://docs.chift.eu/connectors/accounting/acd
}>
Website: [https://www.acd-groupe.fr](https://www.acd-groupe.fr) \
Software type: On premise (API)\
Geography: 🇫🇷 France\
Support multi-folder: ✅
## Introduction
ACD supports the digitalization of your business through a modular software suite. Integrating a complete range of production and management, coupled with many specialized modules, web and mobile. Deliver the ACD integration your customers want in no time.
## Configure ACD
**Prerequisite(s)**
There are no prerequisite to enable ACD on your Chift APP.
**Process**
Activate the ACD integration on the Chift platform.
## Test ACD
To test the software integration, ask Chift to contact and request ACD for a sandbox account and test file (French speaking contacts) on your behalf.
ACD will provide us with an account ID, password and file code for dummy data.
Use this link to log onto your account: [here](https://isuiteapiprod.suiteexpert.fr/cnx/iSuiteExpert/Connexion)
## Connect ACD
To activate a connexion with ACD, users will have to go through the following steps.
* French article: [Help Center - ACD FR](https://help.chift.app/articles/9297801393-acd?lang=fr)
* English article: [Help Center - ACD EN](https://help.chift.app/articles/9297801393-acd?lang=en)
## Coverage
## ACD coverage
## Troubleshooting
User must check that "Compta web" is available on iSuite and if not : contact ACD.
### Specific errors for ACD:
| Error Code | Error description | Resolution |
| --------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| ERROR\_CURRENCY\_NOT\_ALLOWED | Invoices can only be created in Euros in ACD | Please change currency or convert before submitting to ACD |
| ERROR\_ACCOUNT\_NUMBER\_NOT\_NOT\_GOOD\_SCOPE | The account 'XXXXXX' cannot be used to create entries. | Please change account number in the invoice line with a product/charge ledger account |
| UNEXPECTED\_ACD\_ERROR | Plan de classement inaccessible | User connected through Chift does not have access to the GED in order to upload invoice proof. |
| UNEXPECTED\_ACD\_ERROR | Le serveur MySQL est momentanément injoignable | User must contact ACD's support ; it may be due to an ongoing backup. |
| UNEXPECTED\_ACD\_ERROR | Le nom du serveur SQL est invalide | Connexion reference (CNX) is not valid. |
| UNEXPECTED\_ACD\_ERROR | La connexion à la base du dossier n'est pas initialisée | ACD's folder is not shared ; user must activate sharing options. |
| UNEXPECTED\_ACD\_ERROR | Le serveur n'est pas accessible | User needs to check that there is no security restriction to a specific area/IP. |
| UNEXPECTED\_ACD\_ERROR | Impossible de se connecter aux communs de la comptabilité | ACD's outdated, customer has to update ACD to version 23 (at least) and also check sharing options. |
| UNEXPECTED\_ACD\_ERROR | Object reference not set to an instance of an object | ACD's outdated, customer has to update ACD to version 23 (at least) and also check sharing options. |
| UNEXPECTED\_ACD\_ERROR | Echéance ne peut pas être négative | ACD's outdated, customer has to update ACD to version 23 (at least) and also check sharing options. |
| UNEXPECTED\_ACD\_ERROR | Une ligne d'échéance doit avoir un montant | Invoice with no lines cannot be pushed to ACD. No solution - Blocked on ACD side => Contact Chift support |
| UNEXPECTED\_ACD\_ERROR | Unknown column ‘LE\_FACTURE’ | User has to open the folder in the ACD interface, this should solve the issue. |
| UNEXPECTED\_ACD\_ERROR | Le code de TVA doit être saisie sur une ligne d'écriture avec un compte hors taxe | Change the ledger account to be used in the invoice/expense |
# AFAS Software
Source: https://docs.chift.eu/connectors/accounting/afassoftware
}>
Website: [afas.nl](https://www.afas.nl/)\
Software type: Software as a service (SAAS)\
Geography: 🇳🇱 Netherlands \
Support multi-folder: ✅\
Connector Status: Beta
## Introduction
AFAS Profit is an ERP solution designed to automate core administrative processes within a single platform. It covers financial management, HRM, payroll, document management, and project management, all accessible in a unified system. The software provides clear, real-time insights through reports and dashboards, helping organizations streamline operations efficiently.
For this integration, we specifically use **AFAS Profit**.
## Configure AFAS
### **Prerequisite(s)**
There are no prerequisite to enable AFAS on your Chift APP.
### **Process**
Activating the connector takes just one click — simply switch it on from the Connectors Page of your platform.
## Test AFAS
We can provide credentials for a test environment. Contact Chift to obtain access and connect to our AFAS PROFIT test environment.
## Connect AFAS
* English article: [Help Center - AFAS EN](https://help.chift.app/articles/1524023590-afas?lang=en)
## Technical limitations
* **Supplier and Customer creation - Address requirement**\
Clients and suppliers **cannot be created without a valid address**. The address field is mandatory and must be provided at creation time. Attempts to create a record without an address will fail.
## Coverage
## Afas coverage
# Sage BOB 50
Source: https://docs.chift.eu/connectors/accounting/bob50
}>
Website: [sage.com](https://www.sage.com/fr-be/produits/sage-bob/)\
Software type: On-premise (local agent to be installed)\
Geography: 🇧🇪 Belgium\
Support multi-folder: ✅
## Introduction
Sage BOB 50 is a range of Windows-based accounting and management programs that have been developed specifically for SMEs and fiduciaries. It provides tools for managing accounting, finance, invoicing, and inventory, helping businesses streamline their operations and maintain compliance with Belgian regulations.
## Configure Sage BOB 50
**Prerequisite(s)** No prerequisite to enable the connector.
**Process** Activate the Sage BOB 50 integration on the Chift platform.
## Test Sage BOB 50
To test the software integration, you need to go through an integrator to get a sandbox account or you must identify beta users in your client base willing to allow you to use their account for testing.
## Connect Sage BOB 50
To activate a connexion with Sage BOB 50, users will have to go through the following steps.
* French article: [Help Center - Sage Bob 50 FR](https://help.chift.app/articles/8852915584-sage-bob-50?lang=fr)
* English article: [Help Center - Sage BOB 50 EN](https://help.chift.app/articles/8852915584-sage-bob-50?lang=en)
## Coverage
## Sage BOB 50 coverage
# Dynamics 365 Business Central
Source: https://docs.chift.eu/connectors/accounting/businesscentral
}>
Website: [microsoft.com](https://www.microsoft.com/fr-fr/dynamics-365/products/business-central)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide\
Support multi-folder: ❌
## Introduction
Microsoft Dynamics 365 Business Central is a cloud-based enterprise resource planning (ERP) software designed for small to medium-sized businesses. It provides a comprehensive solution for managing financials, operations, sales, and customer service. It also offers features such as supply chain management, project management, and human resources management.
## Configure Microsoft Dynamics Business Central 365
**Prerequisite(s)**
* Obtain a Tenant Id, Client ID and secret by creating an Azure Application so that your end users can give access to their instance to your app
* Activate the Microsoft Dynamics Business Central 365 integration on the Chift platform
**Process**
1. Sign in to the [Azure portal](https://portal.azure.com) with your credentials (as an admin). If you do not yet have an Azure account, you can sign up for a free account [here](https://signup.azure.com/).
2. You will see your tenant name in the right upper corner:
*
3. If you don't have a tenant, you can follow this link to [create your tenant.](https://learn.microsoft.com/en-us/entra/fundamentals/create-new-tenant)
4. You can now start registering your app; go to the portal and select "App registrations" (link [here](https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade))
5. Click on "New registration"
*
* Give a name to your application
* Select one of the "Multitenant" application depending on your need.
*
* Proceed for registration
* Under your application, click right on "Manage" and then "Authentication" to configure the redirection url.
* Click on "Add a platform" and select "Web" and enter the following redirect URI: "[https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect)"
*
* Click on "Configure".
6. Once this is done, we now need to configure permissions for this application. Go under "API permissions" and click on "Add a permission".
* Select "Dynamics 365 Business Central" and search for "Financials.ReadWrite.All" as well as "user\_impersonation" and "User.Read" under the "Delegated permissions". Click on "Add permissions" to confirm your choice.
*
* As a last step, go to the "Certificates & secrets" tab and then "Client secrets" to add a new Client Secret.
* Give a description to your secret and an expiration date depending on your use case.
* Once this is confirmed, copy the value of your client secret to be able to use it in Chift. Under "Overview", copy as well the application client id and your tenant id to be able to use it in Chift.
7. As final check, we need to ensure that assignment is not set to required in 'Enterprise Application' tab.
* Go to the 'Enterprise Application' tab in your portal
* Toggle off the 'Assignement required ?' setting - turn it to 'No'
## Test Microsoft Dynamics Business Central 365
To test the software integration, create a test account [here](https://www.microsoft.com/fr-fr/dynamics-365/products/business-central). Another alternative is to identify a beta tester in your client base.
## Connect Microsoft Dynamics Business Central 365
To activate a connexion with Microsoft Dynamics Business Central 365, users will have to go through the following steps:
* French article: [Help Center - Microsoft Dynamics 365 Business Central FR](https://help.chift.app/articles/9709526268-dynamics-365-business-central?lang=fr)
* English article: [Help Center - Microsoft Dynamics 365 Business Central EN](https://help.chift.app/articles/9709526268-dynamics-365-business-central?lang=en)
See the following paragraph about the custom extension that might be needed for end-users.
## Extension
### Chift Extension for Dynamics 365 Business Central
Depending on your use case, a **custom Chift extension** may need to be installed for end users. This extension provides access to **additional data not available through Business Central’s standard API**. It **does not modify the native behavior of Business Central**, but **enhances its capabilities** by making more data and functionalities accessible.
### Use Cases Requiring the Extension
The extension is required for the following operations:
* Creating invoices
* Creating journal entries
* Creating financial entries
* Managing bank accounts
* Managing ledger accounts
* Deferral codes on sales/purchases invoices (in addition to the extension, a dedicated post connection needs to be enabled on connector level to handle deferral codes)
### Compatibility
* Available for **Business Central version 23 and above**.
* Supports both **new and existing customers**:
* Existing customers can run the extension alongside their current setup **without altering existing connections**.
* New customers can install the extension **before or after setting up the initial connector**.
### Mandatory Extension Setting
The connector includes a setting in the platform to make the Chift extension **mandatory for all new connections**, ensuring that each new connection takes advantage of the extended capabilities provided by the extension.
## Coverage
## Dynamics 365 Business Central coverage
## Specificities
Depending on the vendor/customer payment configuration, invoice can go directly to paid when posted skipping the open/posted status. Explanation: [https://www.encorebusiness.com/blog/payment-methods-automatic-payment-in-dynamics-365-business-central/](https://www.encorebusiness.com/blog/payment-methods-automatic-payment-in-dynamics-365-business-central/)
**Invoice status correspondance**
| Chift | Dynamics |
| ------ | -------- |
| Draft | Draft |
| Posted | Open |
| Paid | Paid |
### Specific errors for Business Central:
| Error Code | Error description | Resolution |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
| ERROR\_CONNECTOR\_OUTDATED\_EXTENSION | The extension is installed but the endpoint or the provided body/params requires the extension to be updated. | Update the extension through business central's interface |
# Cegid Loop
Source: https://docs.chift.eu/connectors/accounting/cegidloop
}>
Website: [cegid.com](https://www.cegid.com/fr/produits/cegid-loop/)\
Software type: Solution as a Software (SaaS)\
Geography: 🇫🇷 France\
Support multi-folder: ✅
## Introduction
Cegid Loop manages the entire activity of accounting firms in the Cloud, accelerating accounting production and reinventing the client-firm relationship.
## Configure Cegid Loop
**Prerequisite(s)**
* You need a subscription key from Cegid Loop to set up the connexion with the connector.
* Activate the Cegid Loop integration on the Chift platform.
**Process** There are two ways to configure Cegid Loop:
1. **Get Listed as a Cegid Loop Partner**: You are or wish to be a listed partner with Cegid Loop. You will encode your own API Key, provided by Cegid in Chift’s.
2. **Use Chift's Partner Keys:** Chift can provide you with our API key and encode Chift’s API Key in your APP. (Important impact if you change between the two options - all clients will have to reconnect)
## Test Cegid Loop
To test the software integration, Chift can share its own sandbox account upon request.
## Connect Cegid Loop
To activate a connexion with Cegid Loop, users will have to go through the following steps.
* French article: [Help Center - Cegid Loop - FR](https://help.chift.app/articles/8678889120-cegid-loop?lang=fr)
* English article: [Help Center - Cegid Loop - EN](https://help.chift.app/articles/8678889120-cegid-loop?lang=en)
## Coverage
## Cegid Loop coverage
## Troubleshooting
### Specific errors for Cegid Loop:
| Error Code | Error description | Resolution |
| ---------------------------- | ----------------- | ------------------------------------------------------------------------------------------------ |
| UNEXPECTED\_CEGIDLOOP\_ERROR | Error: Addon | Temporary error in Cegid Loop, try again later and contact chift's support if the error persists |
# Accounting API - Coverage
Source: https://docs.chift.eu/connectors/accounting/coverage
## Coverage of endpoints by connector
# DATEV
Source: https://docs.chift.eu/connectors/accounting/datev
}>
Website: [https://www.datev.com](https://www.datev.com) \
Software type: On premise (API)\
Geography: 🇩🇪 Germany \
Support multi-folder: ❌
## Introduction
DATEV is by far one of the most widely used accounting platforms in Germany, with two distinct products relevant for your accounting integrations:
* **DATEV Rechnungswesen** — on‑premise core accounting system.
* **DATEV Unternehmen Online (DUO)** — cloud platform for document management and collaboration with accountants.
Chift’s DATEV connector gives you **unified access to both systems through a single integration layer**, abstracting the complexity of choosing one point of access or the other.
There are **no major restrictions**: Chift’s connector allows **full accounting integration**, including posting and retrieving journal entries, managing master data, invoices, analytical accounting, and attachments, all with minimal setup requirements.
## Configure DATEV
**Prerequisite(s)**
* You must have premium access in your Chift account to activate this connector.
* Rechnungswesen: no additional prerequisites.
* DUO: requires a Client ID and Secret (Chift can provide these so you don’t need your own).
**Process**
1. Activate the DATEV connector(s) in your Chift environment.
There are **two connectors corresponding to the two connection methods**:
* **Public URL method** (requires external access to the DATEV API).
* **Local Agent method** (does not require URL exposure; agent installed on server).
You can activate **one or both connectors**, depending on whether you want to support both connection methods for your users.
## Test DATEV
Testing against a real DATEV instance can be challenging due to how DATEV environments are provisioned. Options include:
* requesting a **DATEV test environment** (can be slow/costly), or
* using **beta partners** with existing DATEV access — a pragmatic option if your integration is already live and you need test coverage.
Chift can help with both approaches.
## Connect to DATEV
## Connection Options
DATEV’s architecture imposes constraints on external access. Chift supports these scenarios:
* **Expose local API:** Simple and fast if the URL can be made accessible externally. Works well for company-hosted DATEV servers.
* **Local agent installation:** Needed when URL exposure is restricted. Ensures DATEV security guarantees are maintained.
**Additional context:**
* For attachments, Chift uses **DUO**, which requires client and consultant numbers.
* Depending on setup, activation may require IT manager involvement (expose URL or install agent).
* Planned DATEV API release (Q1 2027) will introduce a new connector simplifying activation further.
Chift offers **two ways to connect**, both providing **identical capabilities**. The difference lies in installation and prerequisites:
1. **Public URL Method** (preferred when possible)
* Requires exposing the local DATEV API URL externally.
* Quick activation once URL is accessible.
* IT manager or integrator involvement is needed.
* [Activation guide](https://help.chift.app/articles/9938133153-datev?lang=en)
2. **Local Agent Method** (used when URL cannot be exposed)
* Installs an agent on the DATEV server to proxy requests internally.
* No URL exposure required.
* Requires a Windows user with proper permissions for installation.
* [Activation guide](https://help.chift.app/articles/6424533057-datev-localagent?lang=en)
**Note:** Both methods use the same DATEV entry point; the user experience and capabilities are identical.
## Coverage
## DATEV coverage
## Troubleshooting
### Specific errors for DATEV:
| Error Code | Error description | Resolution |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| ERROR\_CONNECTOR\_AUTHENTICATION | An error occurred while authenticating with DATEV | Verify that your account has still the rights to use the API or you user still exist |
| CREDENTIALS\_ERROR | The provided Client Number and/or Consultant Number doesn't seem to be correct or you don't seem to have access to it | Verify that your Client Number and /or Consultant number is still valid or that your user still exist |
| ERROR\_NO\_DOCUMENT\_MANAGEMENT | The client doesn't have the document management feature | Verify that your client has access to the document management features |
# e-Boekhouden
Source: https://docs.chift.eu/connectors/accounting/eboekhouden
}>
Website: [e-boekhouden.nl](https://www.e-boekhouden.nl) \
Software type: Solution as a Software (SaaS) \
Geography: 🇳🇱 Netherlands \
Support multi-folder: ❌
## Introduction
E-Boekhouden is an accounting platform widely used by freelancers, small businesses, and associations in the Netherlands. It provides essential features such as invoicing, bookkeeping, bank reconciliation, VAT returns (BTW), and inventory management. Known for its affordability and ease of use, the platform is also compliant with Dutch tax regulations and integrates easily with the Belastingdienst (Dutch Tax Authority). e-Boekhouden.nl offers various automation options and supports API access for connecting with other software systems, making it a flexible solution for managing financial administration.
## Configure E-Boekhouden
**Prerequisite(s)** There are no prerequisite to enable eAccounting in your Chift App.
## Test E-Boekhouden
To test the software integration, you can create yourself a test account.
## Connect E-Boekhouden
To activate a connexion with e-Boekhouden, users will have to go through the following steps.
* English article: [Help Center - e-Boekhouden - EN](https://help.chift.app/articles/7327802906-e-boekhouden?lang=en)
## Coverage
## EBoekhouden coverage
# Exact Online
Source: https://docs.chift.eu/connectors/accounting/exactonline
}>
Website: [exact.com](https://www.exact.com)\
Software type: Solution as a Software (Saas)\
Geography: 🇧🇪Belgium, 🇳🇱Netherlands, 🇫🇷 France, 🇩🇪 Germany\
Support multi-folder: ✅
## Introduction
Exact Online is a business software that provides a range of tools for small and medium-sized enterprises to manage their finances, accounting, inventory, and project management. Deliver the Exact integration your customer wants in no time.
## Configure Exact Online
**Prerequisite(s)** You will have to get listed as an Exact Online partner to collect partner account keys to configure the connector on your account. To do so, you will need to:
* Create an Exact Online partner account, with an OAuth2 application.
* Configure your partner account
* Submit your application for Exact Online's approval
**Process**
1. Create your Exact Online developper account: \
[Link for a Belgium account](https://start.exactonline.be/docs/HRMSubTrialNew.aspx?bcaction=0\&type=10\&language=EN\&UseSimpleWizard=1\&PackageSetCode=APPCENTER)\
[Link for a French account](https://start.exactonline.fr/docs/HRMSubTrialNew.aspx?bcaction=0\&type=10\&language=EN\&UseSimpleWizard=1\&PackageSetCode=APPCENTER)\
[Link for a Dutch account](https://start.exactonline.nl/docs/HRMSubTrialNew.aspx?bcaction=0\&type=10\&language=EN\&UseSimpleWizard=1\&PackageSetCode=APPCENTER)\
[Link for a German account](https://start.exactonline.de/docs/HRMSubTrialNew.aspx?bcaction=0\&type=10\&language=EN\&UseSimpleWizard=1\&PackageSetCode=APPCENTER)
Creating a developer account for **Exact Online** now requires a **paid monthly subscription**.
To register an application and get access to Exact Online APIs, developers must first subscribe to a **developer plan**. More info [here](https://support.exactonline.com/community/s/knowledge-base#All-All-DNO-Content-developerssubscriptiont).
2. Set up your Oauth2 application by going to your Exact Online account → “Partners” section in the menu → “Exact Online App Store” (In the section “Manage my applications”)
* Create a new application by clicking on “+”
* Enter the name of your APP to be displayed in Exact Online’s Marketplace
* Enter the redirect URL (Chift): [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect)
* Make sure you tick all the below configurations of you app
3. Wait for Exact Online’s approval of your application - this may take a few days.
4. Go to your account, connectors menu and activate Exact Online in one click. Then, you will be asked to provide your Exact Online client ID & secret.
## Test Exact Online
To test the software integration, you can use the partner account you created during the configuration process.
-> Once the testing is done, you need to get the approval of Exact Online to use the integration (your app) with external clients. Once your app is approved, external clients will be able to use the integration.
## Connect Exact Online
To activate a connexion with Exact Online, users will have to go through the following steps.
* For Netherlands: [Help Center - Exact Online - NL](https://help.chift.app/articles/3853865771-exact-online-nl?lang=en)
* For Belgium: [Help Center - Exact Online - BE](https://help.chift.app/articles/7719703254-exact-online-be?lang=en)
* For France: [Help Center - Exact Online - FR](https://help.chift.app/articles/8093104901-exact-online-fr?lang=fr)
* For Germany: [Help Center - Exact Online - DE](https://help.chift.app/articles/8976563324-exact-online-de?lang=en)
## Rate limits
The Exact Online API is subject to the following limits:
* **60 requests per minute**
* **5,000 requests per day**
These limits apply per Exact Online environment.
Users can increase the daily API limit by subscribing to an **Exact Online Premium** plan:
* **Up to 30,000 requests per day**
* **No per-app request limit**
Exact Online enforces a **fair use policy**. Applications that excessively exceed limits or generate abusive traffic may be throttled or blocked.
For more details, see the Exact Online documentation:\
[https://support.exactonline.com/community/s/knowledge-base#All-All-DNO-Simulation-gen-apilimits](https://support.exactonline.com/community/s/knowledge-base#All-All-DNO-Simulation-gen-apilimits)
## Coverage
## Exact Online BE coverage
# Fiken
Source: https://docs.chift.eu/connectors/accounting/fiken
}>
Website: [fiken.no](https://fiken.no/)\
Software type: Software as a service (SAAS)\
Geography: 🇳🇴 Norway \
Support multi-folder: ✅
## Introduction
Fiken is a Norwegian cloud-based accounting software designed for small businesses and freelancers.
## Configure Fiken
### **Prerequisite(s)**
* A Fiken account with developer mode enabled
* Authentication can happen in two ways:
* **Using the Chift integration app** – the easiest option. Ask your Customer Success Manager to add Chift's OAuth2 keys to the platform, and your customers will be ready to connect.
* **Creating your own integration app in Fiken** – register your own app in Fiken and use the generated (test) API keys for your first 5 customers. Once at least 3 customers have a working integration, notify the Fiken support team; they will verify and certify the integration and return a set of production API keys to be used for all subsequent customers.
### **Process**
**1. Enable developer mode**
Log into your Fiken account and go to **Rediger konto → Profil → Andre innstillinger**. Check the box indicating you are a developer.
**2. Create an OAuth2 application**
* Click the **API** tab under **Brukerinnstillinger**
* Create a new application
* Set the redirect URI to `https://chift.app/oauth2/redirect`
* Copy your **Client ID** and **Client Secret**
**3. Activate the connector on Chift**
In your Chift back office, open the Fiken connector and toggle activation. You will be prompted to paste your Client ID and Client Secret.
End-users will be redirected to Fiken to authorize access via OAuth2.
During development, Fiken allows up to **5 connected users** for free. For production use, email `api@fiken.no`.
## Test Fiken
To create a test company, register a company that is not listed in Brønnøysundregistrene and contact `hjelp@fiken.no` for extended trial access.
## Connect Fiken
To activate a connection with Fiken, users will have to go through the following steps:
* English article: [Help Center - Fiken EN](https://help.chift.app/articles/5984410532-fiken?lang=en)
* English article: [Help Center - Fiken FR](https://help.chift.app/articles/5984410532-fiken?lang=fr)
## Coverage
## Fulll coverage
# FreeAgent
Source: https://docs.chift.eu/connectors/accounting/freeagent
}>
Website: [freeagent.com](https://www.freeagent.com/)\
Software type: Software as a service (SaaS)\
Geography: 🇬🇧 United Kingdom, 🇪🇺 Europe\
Support multi-folder: ✅
## Introduction
FreeAgent is a comprehensive cloud-based accounting software designed primarily for freelancers, small businesses, and accountants in the UK and Europe. It provides a complete suite of financial management tools including invoicing, expense tracking, time tracking, project management, tax calculations, and detailed financial reporting. FreeAgent offers specialized features for UK tax compliance including VAT, Corporation Tax, and Self Assessment integration.
## Configure FreeAgent
**Prerequisite(s)**
* Create an OAuth2 application in your FreeAgent developer account
* Clarity on whether the integration targets a single company or multiple client folders
* Activate the FreeAgent integration on the Chift platform
**Process**
**1. Create your FreeAgent application**
Sign in to the [FreeAgent Developer Portal](https://dev.freeagent.com/) and register a new application. During registration:
* Choose your connection type:
* **Free Agent (single company)** – Direct connection to one specific company account. Suitable for individual businesses or single-company integrations.
* **Practice Dashboard (multi-client)** – Designed for accountants managing multiple client folders. Allows centralized access to multiple client companies.
**Note:** \
the chosen mode is exclusive; a Practice Dashboard app cannot connect single-company clients, and vice versa.
* Configure the OAuth2 redirect URI: `https://chift.app/oauth2/redirect`
* Select the environment: Sandbox (for testing) or Production (live data)
* Copy your Client ID and Client Secret
Once this is complete, your FreeAgent application is ready for use in Chift.
**2. Activate the connector on Chift**
In your Chift back office, open the FreeAgent connector and toggle activation. You will be prompted to:
* Paste your Client ID and Client Secret
* Select the Environment (Production or Sandbox)
* Confirm the Connection Type (single company or Practice Dashboard)
If using Practice Dashboard, you will later be able to select which client folders to grant access to.
## Test FreeAgent
FreeAgent provides both sandbox and production environments for testing:
* **Sandbox Environment**: Full-featured testing environment with sample data
* **Production Environment**: Live environment for real business data
For accountants using Practice Dashboard, multiple client scenarios can be tested in either environment.
Before going live, validate:
* OAuth authentication
* Invoice creation
* Data synchronization
## Connect FreeAgent
To activate a connection with FreeAgent, users will have to go through the following steps:
* English article: [Help Center - FreeAgent EN](https://help.chift.app/articles/6982450548-freeagent?lang=en)
## Technical Limitations
**Connection Types**
To connect to FreeAgent you need to chose between one of those connection modes :
* **Free Agent**: Direct connection to a single company
* **Practice Dashboard**: Multi-client connection for accountants (requires folder selection)
**Invoice Creation Restrictions**
* Customer invoice creation supports both draft and posted statuses
* Foreign currency invoices with future dates cannot be automatically posted
## Rate limits
The FreeAgent API enforces the following limits **per user**:
* **120 requests per minute**
* **3,600 requests per hour**
* **15 token refreshes per minute**
Documentation (FreeAgent dev):\
[https://dev.freeagent.com/docs/introduction](https://dev.freeagent.com/docs/introduction)
## Coverage
# Fulll
Source: https://docs.chift.eu/connectors/accounting/fulll
}>
Website: [fulll.fr](https://www.fulll.fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France\
Support multi-folder: ❌
## Introduction
Fulll is an accounting software designed to streamline financial management for small to medium-sized businesses, offering features such as automated bookkeeping, invoicing, expense tracking, and financial reporting.
## Configure Fulll
**Prerequisite(s)**
* Obtain a client ID and Secret for a Fulll partner account with an OAuth2 application enabled.
* Activate the Fulll integration on the Chift platform.
**Process** Upon request Chift will introduce you and request Fulll for your dedicated partner account and Oauth2 application to be created. Specify it in your request if you need wish to have dummy data to be into your account for testing purposes.
## Test Fulll
To test the software integration, you can use the partner account created previously. Check with Fulll if they can also inject dummy data into your sandbox account.
## Connect Fulll
To activate a connexion with Fulll, users will have to go through the following steps.
* French article: [Help Center - Full FR](https://help.chift.app/articles/6036788417-fulll?lang=fr)
* English article: [Help Center - Full EN](https://help.chift.app/articles/6036788417-fulll?lang=en)
## Coverage
## Fulll coverage
## Troubleshooting
### Specific errors for Fulll:
# Holded
Source: https://docs.chift.eu/connectors/accounting/holded
}>
Website: [https://www.holded.com/](https://www.holded.com/) \
Software type: Solution as a Software (Saas)\
Geography: 🇪🇸 Spain\
Support multi-folder: ❌
## Introduction
Holded is a cloud-based accounting solution designed to simplify invoicing, expense tracking, and financial reporting for small and medium-sized businesses.
## Configure Holded
**Prerequisite(s)**
There are no prerequisite to enable Holded on your Chift APP.
**Process**
Activate the Holded integration on the Chift platform.
## Test Holded
To test the software integration, you can create a free trial account [here](https://app.holded.com/signup?lang=en)
## Connect Holded
To activate a connexion with Holded, users will have to go through the following steps.
* Spanish article: [Help Center - Holded ES](https://help.chift.app/articles/5254978461-holded?lang=es)
* English article: [Help Center - Holded EN](https://help.chift.app/articles/5254978461-holded?lang=en)
## Coverage
## Holded coverage
### Specific errors for Holded:
| Error Code | Error description | Resolution |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| ERROR\_PARTNER\_NOT\_CONFIGURED | The client/supplier 'XXX' is not linked to an account. | Configure the client/supplier accordingly. |
| ERROR\_UNSUPPORTED\_BODY | Holded requires the account\_number to be exactly 4 digits (prefix), the full account number is then returned. | Only provide a 4-digit prefix as account number, full account number can only be set through their interface. |
| ERROR\_UNSUPPORTED\_BODY | The account number prefix is invalid. | The account number prefix does not exist in the system's chart of accounts. |
| ERROR\_UNSUPPORTED\_QUERY\_PARAMETER | Unsupported entry line type 'line\_type'. | N/A |
| ERROR\_UNSUPPORTED\_BODY | Holded does not support journal of types 'journal\_type'. | N/A |
| ERROR\_UNSUPPORTED\_QUERY\_PARAMETER | Attachments are only retrievable for invoices. | N/A |
| ERROR\_UNSUPPORTED\_QUERY\_PARAMETER | Can not retrieve account balances for periods greater than a year. | N/A |
# Horus
Source: https://docs.chift.eu/connectors/accounting/horus
}>
Website: [horus.be](https://www.horussoftware.be/)\
Software type: On premise (API)\
Geography: 🇧🇪 Belgium\
Support multi-folder: ✅
## Introduction
Horus is an accounting software based on new technologies, designed with and for digital technology. It simplifies your work considerably, you save time on a daily basis and you follow your figures in real time. Deliver the Horus integration your customers want in no time.
## Configure Horus
**Prerequisite(s)**
* ️ obtain a “Client ID ” and “Client Secret”
* ️ get an OAuth2 application for your partner account.
* Activate the Horus integration on the Chift platform.
**Process**
* send an email to [developer@horus-software.be](mailto:developer@horus-software.be) to ask for your Client ID and Client Secret that will be used for all your customers. Provide the following information when requesting the Client ID and Client Secret:
* name of the integration
* contact person & email address
* short description of how (= using Chift) and why you intend to use the API
* redirect Url: [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect)
## Test Horus
To test the software integration, ask Chift to contact and request Horus for a sandbox account on your behalf.
## Connect Horus
To activate a connexion with Horus, users will have to go through the following steps.
* French article: [Help Center - Horus FR](https://help.chift.app/articles/2823105645-horus?lang=fr)
* English article: [Help Center - Horus EN](https://help.chift.app/articles/2823105645-horus?lang=en)
## Coverage
## Horus coverage
# Inqom
Source: https://docs.chift.eu/connectors/accounting/inqom
} title="General Information">
Website: \[inqom.com]\([https://www.inqom.com/](https://www.inqom.com/) \
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France\
Support multi-folder: ✅
# Introduction
Inqom is a French cloud-based accounting software that leverages artificial intelligence to automate and optimize accounting processes. It offers features such as real-time bookkeeping, automated data entry, and financial reporting, designed to enhance the efficiency and accuracy of accounting tasks. The software is part of the Visma ecosystem.
## Configure Inqom
**Prerequisite(s)**
* Obtain Inqom’s approval to use Chift’s Partner Key
* Activate the Inqom integration on the Chift platform.
**Process** Upon request, Chift can request Inqom’s approval and encoding Chift’s generic API keys in your Chift account.
## Test Inqom
To test the software integration, Chift can request or share a test account.
## Connect Inqom
To activate a connexion with Inqom, users will have to go through the following steps.
* French article: [Help Center - Inqom FR](https://help.chift.app/articles/1602400380-inqom?lang=fr)
* English article: [Help Center - Inqom EN](https://help.chift.app/articles/1602400380-inqom?lang=en)
## Coverage
## Inqom coverage
## Troubleshooting
### Specific errors for Inqom:
| Error Code | Error description | Resolution |
| ------------------------------- | ------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| UNEXPECTED\_INQOM\_ERROR | This file MimeType is not allowed! | Notify Chift if error observed |
| UNEXPECTED\_INQOM\_ERROR | Account XXX cannot be created : parent account XXX is not dividable | Please check account setup in accounting system |
| ERROR\_PARTNER\_ALREADY\_EXISTS | Account XXX already exists in PCG | You cannot use create an account with the same partner\_id as an existing account |
# Lexware Office
Source: https://docs.chift.eu/connectors/accounting/lexoffice
}>
Website: [lexware.de](https://www.lexware.de/buchhaltungssoftware/)\
Software type: Software as a service (SaaS)\
Geography: 🇩🇪 Germany \
Support multi-folder: ❌
## Introduction
Lexoffice is a German cloud-based accounting solution designed for the German market that helps businesses manage invoices, contacts, and financial documents.
## Configure Lexoffice
**Prerequisite(s)**
* No prerequisite to enable Lexoffice. Chift supports only the public
API.
* The public API has the limitation that it's only available for end-users having the XL plan.
**Process**
* Activate the Lexoffice integration on the Chift platform.
## Test Lexoffice
To sign up for a new company, visit [https://app.lexware.de/signup](https://app.lexware.de/signup) and click on "Kostenlos registrieren".\
The signup only requires email and password.\
The created account can be used free within 30 days and has all available features. You can create as many accounts as you need.
## Connect Lexoffice
To activate a connection with Lexoffice, users will have to go through the following steps:
* French article: [Help Center - Lexoffice EN](https://help.chift.app/articles/6563737155-lexware-office-lexoffice)
## Technical Limitations
## Rate Limiting
Lexoffice API has standard rate limits to ensure fair usage across all applications. These limits are automatically managed by Chift to optimize performance and prevent interruptions. However, once the API rate limit is reached, Chift cannot bypass these limitations and requests will need to wait until the limit resets. For high-volume operations, it's recommended to plan accordingly and distribute requests over time. See more information [here](https://developers.lexware.io/docs/#api-rate-limits)
## Coverage
## Lexoffice coverage
# Minox
Source: https://docs.chift.eu/connectors/accounting/minox
}>
Website: \[minox.nl]\([https://www.minox.nl/](https://www.minox.nl/) \
Software type: Solution as a Software (Saas)\
Geography: 🇳🇱 Netherlands\
Support multi-folder: ❌
## Introduction
Minox offers innovative cloud accounting software to SME's and accounting firms. The key strengths are robotic accounting, superior UX and flexible collaboration to provide an intuitive and automated accounting processing.
## Configure Minox
**Prerequisite(s)**
* ️ Obtain a Client ID and Secret from Minox
* ️ Get an Oauth2 application for your Minox account.
**Process**
1. Create your account - [here](https://www.minox.nl/)
2. Request for an Oauth2 application - [here](https://app.minox.nl/request)
## Test Minox
To test the software integration, you can use the account you created during the configuration steps.
## Connect Minox
To activate a connexion with Minox, users will have to go through the following steps.
* French article: [Help Center - Minox FR](https://help.chift.app/articles/8683169543-minox?lang=fr)
* English article: [Help Center - Minox EN](https://help.chift.app/articles/8683169543-minox?lang=en)
## Coverage
## Minox coverage
# Moneybird
Source: https://docs.chift.eu/connectors/accounting/moneybird
}>
Website: [https://www.moneybird.com/\\\\](https://www.moneybird.com/\\\\) Software type: Solution as a Software (Saas)\
Geography: 🇧🇪Belgium, 🇳🇱Netherlands, 🇩🇪 Germany\
Support multi-folder: ❌
## Introduction
Stress-free bookkeeping. Moneybird has all the features you need for your financial administration.You choose what you need and how smartly you want to automate it: from sending invoices with ease to fully integrating your webshop and payments.
## Configure Moneybird
**Prerequisite(s)** You will have to create a Moneybird developer account as well as an Oauth2 application. To do so, you will need to:
* Create a moneybird developer account
* Create an oauth2 application
**Process**
1. Create a Moneybird account: [Create account](https://www.moneybird.com/aanmelden/) \\
2. Create your Moneybird sandbox account: \
[Create sandbox administration](https://moneybird.com/login?redirect_to=%2Fadministrations%2Fsandboxes%2Fnew)\\
3. Set up your Oauth2 application by creating a new application [here](https://moneybird.com/user/applications/new)
* Enter the name of your app
* Enter the callback URL (Chift): [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect)
* Click on "Save"
See as well the official Moneybird documentation [here](https://developer.moneybird.com/introduction)
4. Go to your account, connectors menu and activate Moneybird in one click. Then, you will be asked to provide your Moneybird client ID & secret.
5. Most of the scopes are mandatory. The "bank" scope can be added as well depending on your use case (using bank endpoints).
## Test Moneybird
To test the software integration, you can use the sandbox account you created during the configuration process (step 2). You can create multiple sandbox account for free if needed.
## Connect Moneybird
To activate a connexion with Moneybird, users will have to go through the following steps.
* French article: [Help Center - Moneybird - FR](https://help.chift.app/articles/5590047986-moneybird?lang=fr)
* English article: [Help Center - Moneybird - EN](https://help.chift.app/articles/5590047986-moneybird?lang=en)
## Rate limits
The Moneybird API has a fixed rate limit of **150 requests per 5 minutes** across the entire platform. This limit **cannot be increased** for a specific administration or IP address.\
More details: [https://helpcenter.moneybird.be/nl/articles/208028-api-token-limiet](https://helpcenter.moneybird.be/nl/articles/208028-api-token-limiet)
## Coverage
## Moneybird coverage
# MyUnisoft
Source: https://docs.chift.eu/connectors/accounting/myunisoft
}>
Website: [myunisoft.fr](http://www.myunisoft.fr)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France\
Support multi-folder: ✅
# Introduction
My Unisoft offers a B2B2C solution for accountants, including features such as automated accounting production, a collaborative client platform and a firm platform (CRM, internal management, etc.). Deliver the MyUnisoft integration your customers want in no time.
## Configure MyUnisoft
**Prerequisite(s)**
* Get listed as a technology partner of MyUnisoft (link to the partner page)
* Obtain a X-Third-Party Key from MyUnisoft
**Process**
1. Ask Chift for the person of contact
2. Inform him that you are connected to Chift’s Unified API - Accounting and wish to become partners and setup the API connection with MyUnisoft
* Exchange Marketing informations (logo, descriptions,etc)
* Collect your X-Third-Party Key (to encode your X-Third-Party Key: it is one unique partner key in both staging and production environments)
## Test MyUnisoft
We can provide you with your own test account, wich includes dummy data, through our partnership with MyUnisoft.
Alongside, we will provide you with our Chift API key directly in your connector configuration within Sandbox environement of your Chift’s platform.
Once this is set up, you can access your test environment, select **Chift** from the list of applications to integrate. This will generate the token required to activate your new connection (further explained in the ***Connect MyUnisoft*** section below.)
## Connect MyUnisoft
To activate a connexion with MyUnisoft, users will have to go through the following steps.
* French article: [Help Center - MyUnisoft FR](https://help.chift.app/articles/7397218254-myunisoft?lang=fr)
* English article: [Help Center - MyUnisoft EN](https://help.chift.app/articles/7397218254-myunisoft?lang=en)
## Rate limits
The My Unisoft API limits requests per API token:
* 20 requests per 10 seconds (default)
* Maximum 10 concurrent requests per endpoint
Some import/export endpoints may count multiple requests to prevent abuse.
## Coverage
## MyUnisoft coverage
## Troubleshooting
### Specific errors for MyUnisoft:
| Error Code | Error description | Resolution |
| ----------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| ERROR\_BOOKYEAR\_CLOSED | Impossible de saisir dans un exercice cloturé | The fiscal year is closed, it must be reopened or the start date of the synchronization must be adapted accordingly |
| ERROR\_ACCOUNT\_NUMBER\_NOT\_ACTIVE | Le compte "XXX" est fermé | Activate the ledger account in the accounting system |
| UNEXPECTED\_MYUNISOFT\_ERROR | Les valeurs débit et crédit sont invalides | Chift will bypass those invoices in the future |
| UNEXPECTED\_MYUNISOFT\_ERROR | Une erreur est survenue lors du traitement | Retry, if error persists contact Chift support |
# Netsuite
Source: https://docs.chift.eu/connectors/accounting/netsuite
} title="General Information">
Website: [netsuite.com](https://www.netsuite.com)\
Software type: Solution as a Software (SaaS) \
Geography: 🌍 Worldwide\
Support multi-folder: ✅
## Introduction
NetSuite is the leading integrated cloud business software suite, including business accounting, ERP, CRM and ecommerce software. An AI-powered business management suite, encompassing ERP/Financials, CRM, and ecommerce for more than 41,000 customers.
## Configure NetSuite
**Prerequisite(s)** There's no prerequisite to activate the connector on your Chift App.
**Process** Activate the connector in one click on the connector section in your Chift account.
## Test NetSuite
A **sandbox** can be obtained from NetSuite, but only if you already have a NetSuite subscription. It is typically priced at **\~10–20% of the annual subscription**.
In practice, the recommended approach is to work with **beta partners or clients who already have NetSuite access** and can provide a test environment for integration testing.
## Connect NetSuite
For detailed connection steps, check out the documentation:
* [Connect NetSuite – English](https://help.chift.app/articles/4463201464-netsuite?lang=en)
* [Connecter NetSuite – Français](https://help.chift.app/articles/4463201464-netsuite?lang=fr)
## Coverage
## NetSuite coverage
# Octopus
Source: https://docs.chift.eu/connectors/accounting/octopus
}>
Website: [octopus.be](https://www.octopus.be)\
Software type: Solution as a Software (Saas)\
Geography: 🇧🇪 Belgium\
Support multi-folder: ✅
## Introduction
Accounting software that allows accounting operations such as bookkeeping, customer and supplier invoices, VAT management, bank reconciliations, inventory management, financial reporting and many others. Deliver the Octopus integration your customers want in no time.
## Configure Octopus
**Prerequisite(s)** No prerequisite to enable the connector.
**Process** Activate the connector in one click on the connector section in your Chift account.
## Test Octopus
To test the software integration, you can create your Octopus demo account [here](https://www.octopus.be/nl/demo)
## Connect Octopus
To activate a connexion with Octopus, users will have to go through the following steps.
* English article: [Help Center - Octopus EN](https://help.chift.app/articles/4088942499-octopus?lang=en)
## Coverage
## Octopus coverage
# Odoo Accounting
Source: https://docs.chift.eu/connectors/accounting/odoo-accounting
}>
Website: [odoo.com](https://www.odoo.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide\
Support multi-folder: ✅
# Introduction
Odoo Accounting module is a software that tracks your accounting & finances with utmost accuracy. It helps you fulfill all your accounting needs like payments and invoices, bank reconciliations, reports also much more. Deliver the Odoo integration your customer wants in no time.
## Configure Odoo
**Prerequisite(s)** No prerequisite to enable the connector.
**Process** Activate the connector in one click on the connector section in your Chift account.
## Test Odoo
To test the software integration, you can create an Odoo account [here](https://www.odoo.com/trial). (You need to get a free trial on the plan named “Personnalisé” to benefit from the API.)
## Connect Odoo
To activate a connexion with Odoo, users will have to go through the following steps. French article: [Help Center - Odoo Comptabilité FR](https://help.chift.app/articles/7508001423-odoo?lang=fr) English article: [Help Center - Odoo Accounting EN](https://help.chift.app/articles/7508001423-odoo?lang=en)
## Technical limitation
**Important – Odoo integration constraints**
Customisations made at the end-customer level in Odoo are not taken into account by the connector.
It is also important not that end-customer did not introduce additional business constraints or modifications that deviate from the standard Odoo data model through integration customizations, as this can conflict with the standard behavior and potentially break or block the connector.
If there is a specific business requirement, it should first be validated whether it is supported natively by Odoo or whether a product-level adjustment is required before implementing any workaround.
## Coverage
## Odoo coverage
\*Match entries (PDF): Only available after Odoo 12 \*Attach a document (PDF): Only available after Odoo 12
### Specific errors for ACD:
| Error Code | Error description | Resolution |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| ERROR\_ODOO\_PROTOCOL\_ERROR | Connexion error. Please verify that the server is active, the url valid and that the database exists and is active. | Verify that the provided credentials are still referring an active account. |
# Accounting connectors overview
Source: https://docs.chift.eu/connectors/accounting/overview
| Connector | Geography | Partner Approval | Status |
| --------------------------------------- | ------------------------------------------ | ---------------- | ------------------- |
| ACD | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Cegid Loop | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Cegid Quadra | 🇫🇷 (FR) | ✅ Yes | 🚧 In developpement |
| Datev | 🇩🇪 (GE) | | 🚧 In developpement |
| E-Boekhouden | 🇳🇱 (NL) | | ✅ Live |
| Exact Online | 🇧🇪 (BE), 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Fulll | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Holded | 🇪🇸 (ES) | ❌ No | ✅ Live |
| Horus | 🇧🇪 (BE) | ✅ Yes | ✅ Live |
| Inqom | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Microsoft Dynamics 365 Business Central | 🌎 Worldwide | ✅ Yes | ✅ Live |
| Minox | 🇳🇱 (NL) | ✅ Yes | ✅ Live |
| MyUnisoft | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Netsuite | 🌎 Worldwide | | ✅ Live |
| Octopus | 🇧🇪 (BE) | ❌ No | ✅ Live |
| Odoo Accounting | 🇧🇪 (BE), 🇨🇭 (CH), 🇫🇷 (FR), 🇱🇺 (LU) | ❌ No | ✅ Live |
| Pennylane | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Sage 50 FR | 🇫🇷 (FR) | ❌ No | 🔒 Live (Private) |
| Sage 50 UK | 🇬🇧 (UK) | ❌ No | 🔒 Live (Private) |
| Sage 100 Comptabilité | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Sage BOB 50 | 🇧🇪 (BE), 🇱🇺 (LU) | ❌ No | ✅ Live |
| Sage Génération Experts (ex Coala) | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Snelstart | 🇳🇱 (NL) | | ✅ Live |
| Tiime | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Visma eAccounting | | | ✅ Live |
| Winbiz | 🇨🇭 (CH) | ❌ No | 🗑️ Deprecated |
| Winbooks Classic | 🇧🇪 (BE) | ❌ No | ✅ Live |
| Yuki | 🇧🇪 (BE) | ❌ No | ✅ Live |
# Pennylane
Source: https://docs.chift.eu/connectors/accounting/pennylane
}>
Website: [pennylane.com](https://www.pennylane.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France\
Support multi-folder: ❌
# Introduction
Pennylane centralizes in real time all the financial flows of companies and facilitates the collaboration between managers and their accountant. Deliver the Pennylane integration your customers want in no time.
## Configure Pennylane
Sandbox and production credentials are identical on Pennylane's side. Before going live, your integration must be certified by both Chift and Pennylane (see Step 3).
Follow the steps below to get sandbox access, retrieve your OAuth2 credentials, and go live. Chift can assist you with each step.
### Step 1: Open the partnership & get sandbox access
Fill in the [partnership form](https://www.notion.so/23b2276c03bf8059a59dcb775b546a96?pvs=21):
* **Question 4** — Which entity will be responsible for developing the connector? Select **Chift**.
* **Question 5** — Do you have access to the Pennylane sandbox? Select **No, open access for me**. Question 5b will then appear; enter the email address to associate with the sandbox.
By default, Pennylane provides sandboxes **without the accounting module**. Once you're connected to your sandbox, notify Chift so we can ask Pennylane to activate it for you.
### Step 2: Get your OAuth2 credentials
Fill in the [OAuth2 request form](https://form.typeform.com/to/Vn0iWTJv) to receive your **Client ID** and **Client Secret**.
### Step 3: Go live — certify your integration
Fill in the [pre-certification form](https://www.notion.so/23e2276c03bf80bc9704c06e99cd059c?pvs=21), then ask Chift to schedule a meeting with Pennylane. During this meeting you'll:
* Present an internal demo of your integration to Pennylane.
* Have Chift on the call to answer any technical questions.
### Step 4: Publish on Pennylane's marketplace & in-app
To appear on Pennylane's public marketplace and in-app, and to benefit from their communication around your partnership, fill in the [app-listing form](https://www.notion.so/2402276c03bf80eea025ffdd8d1b214a?pvs=21).
## Test Pennylane
You will receive access sandbox access directly after filling in the partnership form from *Step 1*. Don't forget to reach out to your Chift point of contact to activate the Accounting module.
## Connect Pennylane
To activate a connexion with Pennylane, users will have to go through the following steps. French article: [Help Center - Pennylane FR](https://help.chift.app/articles/9277286785-pennylane?lang=fr) English article: [Help Center - Pennylane EN](https://help.chift.app/articles/9277286785-pennylane?lang=en)
## Technical limitation
Endpoints related to invoice retrieval for Pennylane are subject to a technical limitation concerning associated payments. Pennylane’s API does not expose detailed payment records for an invoice. As a result, the payment information returned consists of a single aggregated payment, where the amount corresponds to the total paid and the payment date is set to the invoice’s due date.
## Coverage
## Pennylane coverage
## Troubleshooting
### Specific errors for Pennylane:
| Error Code | Error description | Resolution |
| --------------------------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ERROR\_SUPPLIER\_INVOICE\_PDF\_REQUIRED | PDFs are mandatory for invoices on Pennylane. | - Make sure that each invoices has an attachment.
- If you are using the sync option, block the option to create invoice when no PDF are attached to the invoice
|
| ERROR\_CONNECTOR\_AUTHENTICATION | The token used to connect to Pennylane is not Valid anymore. | Reconnect Pennylane to your existing consumer to generate a new authentication token. |
| ERROR\_BOOKYEAR\_NOT\_FOUND | The accounting system is not set up for this date. | Create a fiscal year in the accounting system including the date of the invoice. |
| ERROR\_BOOKYEAR\_CLOSED | The bookyear/fiscal year is already closed in the accounting system | The fiscal year is closed, it must be reopened or the start date of the synchronization must be adapted accordingly. |
| ERROR\_INVOICE\_NUMBER\_ALREADY\_USED | The sent invoice number is already attributed to an existing invoice in Pennylane | Invoice seems to be already imported in Pennylane through another synchronization. Please contact the customer to see how this is possible. |
| UNEXPECTED\_PENNYLANE\_ERROR | The pdf received already exists in the application on another invoice | The pdf received already exists in the application on another invoice Invoice seems to be already imported in Pennylane through another synchronization. Please contact the customer to see how this is possible |
| UNEXPECTED\_PENNYLANE\_ERROR | It's not possible to create any more invoices on that folder | Account is not active anymore or blocked Contact the customer to see if the account is still active + if date is not in a closed book/fiscal year |
| UNEXPECTED\_PENNYLANE\_ERROR | Invoice lines quantity must be different than 0, Accounting frozen until Given Date | Invoice lines quantity doit être différent de 0, La comptabilité est figée jusqu’au 30 septembre 2024 Please unfreeze accounting/books on Pennylane |
| UNEXPECTED\_PENNYLANE\_ERROR | Invoice lines quantity must be different than 0 | Pennylane API doesn't allow lines with quantity 0 Chift will bpass those lines in the future |
| UNEXPECTED\_PENNYLANE\_ERROR | The setup of the invoice tab is incomplete on Pennylane. | Setup an invoicing sequence for customer invoices in Pennylane => To be done in Pennylane so that Pennylane knows how to generate invoice number |
# Pennylane Firm
Source: https://docs.chift.eu/connectors/accounting/pennylane-firm
}>
Website: [pennylane.com](https://www.pennylane.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France\
Support multi-folder: ✅
# **Introduction**
Pennylane centralizes all financial and accounting flows in real time and streamlines collaboration between business leaders and their accountants. \
Beyond the Company API designed for use by individual businesses, Pennylane also offers a dedicated **Firm API** tailored specifically for accounting practices and the tools they build. This Firm API provides authenticated access to a firm’s entire portfolio of client companies, enabling retrieval of consolidated client lists, detailed accounting reports (trial balance, FEC, analytical ledger), and other firm‑level data. It’s the foundation for integrations that need to operate across multiple client accounts and embed Pennylane data directly into a practice’s workflows or software ecosystem.
## Configure Pennylane
Sandbox and production credentials are identical on Pennylane's side. Before going live, your integration must be certified by both Chift and Pennylane (see Step 3).
Follow the steps below to get sandbox access, retrieve your OAuth2 credentials, and go live. Chift can assist you with each step.
### Step 1: Open the partnership & get sandbox access
Fill in the [partnership form](https://www.notion.so/23b2276c03bf8059a59dcb775b546a96?pvs=21):
* **Question 4** — Which entity will be responsible for developing the connector? Select **Chift**.
* **Question 5** — Do you have access to the Pennylane sandbox? Select **No, open access for me**. Question 5b will then appear; enter the email address to associate with the sandbox.
By default, Pennylane provides sandboxes **without the accounting module**. Once you're connected to your sandbox, notify Chift so we can ask Pennylane to activate it for you.
### Step 2: Get your OAuth2 credentials
Fill in the [OAuth2 request form](https://form.typeform.com/to/Vn0iWTJv) to receive your **Client ID** and **Client Secret**.
### Step 3: Go live — certify your integration
Fill in the [pre-certification form](https://www.notion.so/23e2276c03bf80bc9704c06e99cd059c?pvs=21), then ask Chift to schedule a meeting with Pennylane. During this meeting you'll:
* Present an internal demo of your integration to Pennylane.
* Have Chift on the call to answer any technical questions.
### Step 4: Publish on Pennylane's marketplace & in-app
To appear on Pennylane's public marketplace and in-app, and to benefit from their communication around your partnership, fill in the [app-listing form](https://www.notion.so/2402276c03bf80eea025ffdd8d1b214a?pvs=21).
## Test Pennylane
You will receive access sandbox access directly after filling in the partnership form from *Step 1*. Don’t forget to reach out to your Chift point of contact to activate the Accounting module.
## **Connect Pennylane**
To activate a connexion with Pennylane, users will have to go through the following steps. \
French article: [**Help Center - Pennylane FR**](https://help.chift.app/articles/9277286785-pennylane?lang=fr) \
English article: [**Help Center - Pennylane EN**](https://help.chift.app/articles/9277286785-pennylane?lang=en)
## Coverage
# QuickBooks Accounting
Source: https://docs.chift.eu/connectors/accounting/quickbooksaccounting
}>
Website: [quickbooks.intuit.com](https://quickbooks.intuit.com/)\
Software type: Software as a service (SaaS)\
Geography: 🌍 Global\
Support multi-folder: ✅
## Introduction
QuickBooks Accounting is a comprehensive cloud-based accounting software designed for small and medium-sized businesses. Developed by Intuit, it provides real-time financial insights, automated bookkeeping, invoicing, expense tracking, and tax preparation tools. QuickBooks helps businesses streamline their financial operations with features like bank reconciliation, inventory management, and detailed reporting capabilities.
## Configure QuickBooks Accounting
**Prerequisite(s)**
* Create an Intuit Developer account and register your application
* Obtain OAuth 2.0 credentials (Client ID and Client Secret) from the Intuit Developer Dashboard
* Activate the QuickBooks Accounting integration on the Chift platform
**Process**
* Sign up for an [Intuit Developer account](https://developer.intuit.com/) and complete the registration
* Create a new app in the Intuit Developer Dashboard:
* Select "QuickBooks Online Accounting API" as your integration
* Configure the redirect URI to: `https://chift.app/oauth2/redirect`
* Set required scopes: `com.intuit.quickbooks.accounting`
* Copy your **Client ID** and **Client Secret** from the app dashboard
* Navigate to the **connector page** in the **Chift back office** and **toggle the activation switch for QuickBooks Accounting**
* When activating the connector, you will be prompted to **enter the Client ID and Client Secret** you previously copied
* The OAuth2 flow will capture the **Realm ID** (Company ID) automatically during connection
* Submit your app for **Production approval** through the Intuit Developer portal when ready for live connections. Details can be found [here](https://developer.intuit.com/app/developer/qbo/docs/go-live/list-on-the-app-store/what-to-expect-during-the-review)
## Test QuickBooks Accounting
QuickBooks provides a robust sandbox environment for testing integrations:
* Access the **Intuit Developer Playground** with sample company data
* Sandbox and production environments are automatically selected based on your app configuration
* Test with multiple company scenarios and data types
* Validate OAuth flows and API endpoints before going live
* Note: Customer invoice creation is not supported in either sandbox or production environments
## Connect QuickBooks Accounting
To activate a connection with QuickBooks Accounting, users will have to go through the following steps:
* French article: [Help Center - QuickBooks Accounting FR](https://help.chift.app/articles/1919343388-quickbooks-accounting?lang=fr)
* English article: [Help Center - QuickBooks Accounting EN](https://help.chift.app/articles/1919343388-quickbooks-accounting?lang=en)
## Technical Limitations
**Invoice Type Restrictions**
* Customer invoice creation is not supported through this integration
* Only supplier invoice types (bills and vendor credits) can be created
* Customer invoices and credit memos can be read but not created
**API Constraints**
* Multi-plan analytic accounts are not supported (QuickBooks uses a single class system)
* Realm ID is required for all API operations
## Rate Limiting
QuickBooks Online API has the following rate limits:
* 500 requests per minute for most endpoints
* 100 requests per minute for Reports API
* 10 requests per minute for batch operations
These limits are automatically managed by Chift to optimize performance and prevent interruptions. However, once the API rate limit is reached, Chift cannot bypass these limitations and requests will need to wait until the limit resets. For high-volume operations, it's recommended to plan accordingly and distribute requests over time.
## Coverage
## Quickbooks coverage
# Reviso
Source: https://docs.chift.eu/connectors/accounting/reviso
}>
Website: [reviso.com](https://www.reviso.com/) \
Geography: 🇪🇺Europe \
Connector Status: In Development
## Introduction
Reviso is a cloud accounting software for small businesses and bookkeepers. Do online invoices, bank reconciliation and bookkeeping.
# Sage 100 Comptabilité
Source: https://docs.chift.eu/connectors/accounting/sage100
}>
Website: [sage100.com](https://www.sage.com/fr-be/produits/sage-100/) \
Software type: On-premise (local agent to be installed)\
Geography: 🇫🇷 France\
Support multi-folder: ❌
## Introduction
Sage 100 is designed for mid-sized companies. It offers a wider range of features and capabilities than Sage 50, including more robust financial management, inventory management, and customer relationship management (CRM) capabilities. Deliver the Sage 100 integration your customers want in no time.
## Configure Sage 100
**Prerequisite(s)** No prerequisite to enable the connector. However, it is important to know that Sage100 is an accounting tool for SMEs. Sage 100 runs from a local server OR is installed on the Sage cloud (Sage Partner Cloud).
**Process** Activate the connector in one click on the connector section in your Chift account.
## Test Sage 100
To test the software integration, you need to go through an integrator to get a sandbox account or you must identify beta users in your client base willing to allow you to use their account for testing.
## Connect Sage 100
To activate a connexion with Sage 100, users will have to go through the following steps.
* French article: [Help Center - Sage100 FR](https://help.chift.app/articles/3664395354-sage-100-fr?lang=en)
N.B.: Important to know that in France Sage only distributes through Integration partner - thus the client wishing to connect to Sage 100 will need the help of its Sage100 integration partner to do so.
## Coverage
## Sage 100 FR coverage
## Troubleshooting
### Specific errors for Sage 100:
| Error Code | Error description | Resolution |
| ----------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------- |
| ERROR\_JOURNAL\_ALREADY\_OPEN | The accountant has the journal opened on his computer | The client cannot be on the same journal when the sync try to push data to Sage |
# Sage 200 ES
Source: https://docs.chift.eu/connectors/accounting/sage200es
}>
Website: [sage.com](https://www.sage.com/es-es/)\
Software type: On-premise (local agent to be installed)\
Geography: 🇪🇸 Spain\
Support multi-folder: ❌
## Introduction
Sage 200 ES is an on-premise ERP and accounting solution designed for small and medium-sized businesses in Spain. It covers financial management, accounting, and business administration. Chift's local agent enables seamless integration with Sage 200 ES without requiring any network exposure.
## Configure Sage 200 ES
**Prerequisite(s)** No prerequisite to enable the connector.
**Process** Activate the connector in one click on the connector section in your Chift account.
## Test Sage 200 ES
To test the software integration, you need to go through an integrator to get a sandbox account or you must identify beta users in your client base willing to allow you to use their account for testing.
The Sage 200 ES local agent is installed via the **Chift Cockpit**. See the [Local agents — Sage 200 ES section](/back-office/advanced/local-agent) for detailed installation instructions.
## Coverage
## Sage 200 ES coverage
# Sage 50 FR
Source: https://docs.chift.eu/connectors/accounting/sage50FR
}>
Website: [sage50.fr](https://www.sage.com/fr-fr/)\
Software type: On-premise (local agent to be installed) \
Geography: 🇫🇷 France \
Support multi-folder: ❌
## Introduction
Sage 50 France, formerly known as Peachtree Accounting, is a desktop accounting software that is designed for small businesses. It provides basic accounting and financial management features, including invoicing, payroll, and bank reconciliation. Deliver the Sage 50 integration your customers want in no time.
## Configure Sage 50 France
**Prerequisite(s)** No prerequisite to enable the connector.
**Process** Activate the connector in one click on the connector section in your Chift account.
## Test Sage 50 France
To test the software integration, you can create your sandbox by getting a free test account on Sage 50 [here](https://www.ciel.com/demande-version-test-gratuit.aspx?og=sage\&pc=S5KCL0002).
## Connect Sage 50 France
To activate a connexion with Sage 50 France, users will have to go through the following steps.
* French article: [Help Center - Sage 50 France FR](https://help.chift.app/articles/7058012611-sage-50-fr?lang=fr)
* English article: [Help Center - Sage 50 France EN](https://help.chift.app/articles/7058012611-sage-50-fr?lang=en)
## Coverage
## Sage 50 FR coverage
# Sage Intacct
Source: https://docs.chift.eu/connectors/accounting/sageIntacct
}
>
Website: [sage.com/intacct](https://www.sage.com/en-us/sage-business-cloud/intacct/)\
Software type: Software as a service (SaaS)\
Geography: 🌍 Global (US, Canada, UK, Australia, South Africa, and more)\
Support multi-folder: ✅
## Introduction
Sage Intacct is a cloud-based accounting and financial management software designed for growing organizations and mid-sized companies. It provides automation and real-time insights across financials, planning, and reporting, helping businesses streamline accounting processes, automate manual tasks, and make data-driven decisions with comprehensive financial visibility.
## Configure Sage Intacct
**Prerequisite(s)**
* Obtain a Web Services Sender ID and Sender Password from Sage Intacct
* Activate the Sage Intacct integration on the Chift platform
**Process**
To obtain your own credentials:
1. **Contact the appropriate team:**
* **Software Vendors/ISVs**: Apply through [Sage Tech Partner Program](https://www.sage.com/en-us/partners/tech-partners/) (Free through partnership)
* **Existing Sage Intacct Clients**: Contact your Sage account manager and ask for a Web Services developer license
2. **Obtain Web Services Developer License**
* You will receive a **Sender ID** and **Sender Password**
3. **Register OAuth2 Application**
* Go to [**Sage Developer Portal**](https://developer.sage.com/intacct/) and create a workspace
* Add a new application and create API keys
* Set redirect URI: `https://chift.app/oauth2/redirect`
* Enter your Web Services credentials to generate **Client ID** and **Client Secret**
* Provide these credentials to Chift for integration setup
## Test Sage Intacct
We can provide you with our test Sender ID for testing purposes. Contact Chift to get access to our testing credentials and connect to your Sage Intacct test environment.
## Connect Sage Intacct
To activate a connection with Sage Intacct, users will have to go through the following steps:
* French article: [Help Center - Sage Intacct - FR](https://help.chift.app/articles/6529239039-sage-intacct?lang=fr)
* English article: [Help Center - Sage Intacct - EN](https://help.chift.app/articles/6529239039-sage-intacct?lang=en)
## Coverage
## Sage Intacct coverage
# Sage Generation Expert
Source: https://docs.chift.eu/connectors/accounting/sagege
}>
Website: [sage.com](https://www.sage.com/fr-fr/experts-comptables/produits/sage-generation-experts-connect/)\
Software type: On premise (API)\
Geography: 🇫🇷 France\
Support multi-folder: ✅
## Introduction
Sage Generation Experts (formerly Sage Coala) is an integrated & modular solution dedicated to the accounting and social production activities for certified accountants.
## Configure Sage Generation Expert
**Prerequisite(s)**
* Encode a sage partner account Application ID, Client ID and Secret ID.
* Activate the Sage Generation Expert integration on the Chift platform.
**Process** Ask Chift to encode their Partner, Client and Secret ID on your Application in sandbox and production.
## Test Sage Generation Expert
To test the software integration, requesting Sage for a sandbox, can be very complex. The other option is to go through an integrator to get a Sage sandbox account. Last option, most used, is to identify a beta tester in your client or prospects and test the connexion with them.
## Connect Sage Generation Expert
To activate a connexion with Sage Generation Expert, users will have to go through the following steps.
* French article: [Help Center - Sage Generation Expert FR](https://help.chift.app/articles/7376953121-sage-g-n-ration-experts?lang=fr)
* English article: [Help Center - Sage Generation Expert EN](https://help.chift.app/articles/7376953121-sage-g-n-ration-experts?lang=en)
## Coverage
## Sage Génération Experts coverage
## Troubleshooting
### Specific errors for Sage Génération Expert:
| Error Code | Error description | Resolution |
| --------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| ERROR\_INVALID\_REQUEST | Invalid line amount | Chift will bypass those invoices in the future |
| ERROR\_ACCOUNT\_NUMBER\_NOT\_NOT\_GOOD\_SCOPE | The account 'XXXXXX' cannot be used to create entries. | Please change account number in the invoice line with a product/charge ledger account |
| ERROR\_ACCOUNT\_NUMBER\_NOT\_NOT\_GOOD\_SCOPE | The account number 'XX' cannot be used in an invoice line. | Please change account number in the invoice line with a product/charge ledger account |
# sevdesk
Source: https://docs.chift.eu/connectors/accounting/sevdesk
}>
Website: [sevdesk.com](https://www.sevdesk.com/)\
Software type: Software as a service (SAAS)\
Geography: 🇩🇪 Germany \
Support multi-folder: ❌\\
## Introduction
sevdesk is a German cloud-based accounting software for small businesses and freelancers. sevdesk is part of the CEGID group
End users must be subscribed to the **“Buchhaltung Pro”** plan to use the sevdesk integration\
(see [pricing](https://sevdesk.de/preise/))
## Configure sevdesk
### **Prerequisite(s)**
There are no prerequisite to enable sevdesk on your Chift APP.
### **Process**
Activating the connector takes just one click — simply switch it on from the Connectors Page of your platform.
## Test sevdesk
A free test account can be created [here](https://sevdesk.de/register/) (Valid for 14 days)
Select **“Testphase starten”**.\
The test account is created without dummy data.
## Connect sevdesk
* English article: [Help Center - sevdesk EN](https://help.chift.app/articles/6991107797-sevdesk?lang=en)
## Technical limitations
* No real journal concept. Only **banking** and **cash** journals are available.
* Customer and supplier references (`customer_code`) are generated by sevdesk and cannot be set or overridden.
* Invoices created via the sevdesk UI do not expose their ledger account numbers.
* Payments can be created via API and manually matched to invoices in sevdesk, but:
* Payments are not returned when fetching invoices
* There is no invoice–payment relationship available through the API
* When updating customers or suppliers:
* Addresses cannot be updated if more than one address of the same type exists
* The same limitation applies to `communicationWay`
## Coverage
## sevdesk coverage
# SnelStart
Source: https://docs.chift.eu/connectors/accounting/snelstart
} title="General Information">
Website: [snelstart.nl](https://www.snelstart.nl/)\
Software type: Software as a service (SaaS) \
Geography: 🇳🇱 Netherlands\
Support multi-folder: ❌\
Connector Status: Live
## Introduction
SnelStart is an accounting suite that gives companies an overview of their most important financial metrics. By automizing data exchange, SnelStart gives an overview of the company health.
## Configure SnelStart
### **Prerequisite(s)**
* **Obtain your Subscription Key** by applying for partner certification (5-step process).
**Important notes**
* **Snelstart’s certification costs €250 (one-off cost)**. This fee is billed directly by Snelstart and cannot be waived
* Partner approval is selective. Acceptance depends largely on SnelStart’s partnership strategy, and applications may be declined if they do not align.
### **Process**
**Sandbox / Testing access**
* Create an account on the SnelStart Developer Portal ([https://b2bapi-developer.snelstart.nl/](https://b2bapi-developer.snelstart.nl/)) and complete registration.\
Your app is created under your developer access in the B2B API Portal and remains valid for **3 months**.
* Generate a **Production Test App** to receive a temporary key while waiting for your Subscription Key: [https://b2bapi-developer.snelstart.nl/product#product=ontwikkeling](https://b2bapi-developer.snelstart.nl/product#product=ontwikkeling)
**Production Certification **
* Apply for your Subscription Key through the certification form:\
[www.snelstart.nl/api](http://www.snelstart.nl/api)
This starts the production certification process. Complete the form carefully — the information is reused for your partner page. A detailed walkthrough is available here:\
[https://b2bapi-developer.snelstart.nl/Certificering](https://b2bapi-developer.snelstart.nl/Certificering) (refer to *productiekoppeling - you must be logged in to your developer account to access the page*).
* Certification typically takes **about 7 days**.\
During this period, SnelStart performs a technical validation. You must execute **at least 100 API calls** using the integration, while keeping error rates low. Meeting these criteria allows certification to complete within the expected timeframe.
* Once your Subscription Key is granted
* Log in to the **SnelStart B2B API Portal** using your credentials.
* Navigate to your **Profile** page.
* In the **Subscription** section, copy one of the two available subscription keys (**primary key recommended**).
* On the **Chift platform**, **enter the Subscription Key** on the connector page.
## Test Snelstart
SnelStart creates a **unique Production Test App** for your integration. This acces to the production test envronement will be sent by Snelstart right after registration.
## Connect Snelstart
* English article: [**Help Center - Snelstart EN**](https://help.chift.app/articles/8692406098-snelstart?lang=en)
## Rate limits
The B2B API enforces limits on the number of requests per administration depending on the product type. These limits are designed to ensure stable performance for all users.
| Product | Call rate per administration (per minute) | Calls per administration (per hour) | Max concurrent requests per administration |
| :---------------------------- | :---------------------------------------- | :---------------------------------- | :----------------------------------------- |
| Development & Test | 100 | 1,000 | 5 |
| Custom Integration (Maatwerk) | 500 | 5,000 | 50 |
| Production | 500 | 5,000 | 50 |
## Coverage
## Snelstart coverage
# Tiime
Source: https://docs.chift.eu/connectors/accounting/tiime
}>
Website: [Tiime.fr](https://www.tiime.fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France\
Support multi-folder: ❌
## Introduction
Tiime offers an all-in-one platform that simplifies accounting and administrative tasks for entrepreneurs and accountants. It includes features like invoicing, expense tracking, professional accounts, and financial management tools, streamlining the business processes of small enterprises.
## Configure Tiime
**Prerequisite(s)**
* Have an Oauth 2 application configured for the integration. Either your own partner application or Chift's generic.
* Activate the Tiime integration on the Chift platform.
**Process** Ask Chift to encode the partner key or request for a dedicated Oauth2 application.
Unfortunately, there’s no established process for clients to obtain their own certified app. We therefore recommend going through us.
## Test Tiime
To test the software integration, requesting for a sandbox, can be very complex. The other option is to go through an integrator to get a Tiime sandbox account. Last option, most used, is to identify a beta tester in your client or prospects and test the connexion with them.
## Connect Tiime
To activate a connexion with Tiime , users will have to go through the following steps.
* French article: [Help Center - Tiime FR](https://help.chift.app/articles/9349828140-tiime?lang=fr)
* English article: [Help Center - Tiime EN](https://help.chift.app/articles/9349828140-tiime?lang=en)
## Technical limitations
The route allowing the clients/suppliers creation is not supported due to some technical limitations on Tiime's APIs. The only way to create a client/supplier is by creating an invoice for this non existing client/supplier.
To be able to create a client or supplier related to your invoice, you must provide a field named "partner\_infos" instead of the partner id. This field must be a json object following the structure of the following example:
```json theme={null}
"partner_info": {
"account_number": "XXX",
"account_name": "XXX"
}
```
By providing the following informations, the endpoint from Tiime responsible for the invoice creation will create the related client/supplier before actually creating the invoice.
## Coverage
## Tiime coverage
# Tripletex
Source: https://docs.chift.eu/connectors/accounting/tripletex
}>
Website: [tripletex.no](https://www.tripletex.no/)\
Software type: Solution as a Software (SaaS) \
Geography: 🇳🇴 Norway\
Support multi-folder: ❌\
Connector Status: Beta
## Introduction
Tripletex is a comprehensive cloud-based accounting and financial management system from Norway. It provides businesses with a complete suite of financial tools including accounting, payroll, invoicing, time tracking, and project management capabilities. It helps businesses streamline their financial operations and maintain real-time oversight of their company's financial health through automated data exchange and reporting features.
## Configure Tripletex
**Prerequisite(s)**
* **Sign up** on the [Tripletex portal](https://www.tripletex.no) and complete the registration process.
* **Apply for API access (production)** by submitting Tripletex’s API [appplication form](https://docs.google.com/forms/d/e/1FAIpQLSdvZXwahq8sr4YKz3h9e4THhE4Gk6vO1F0Hf4rUPIsDD2E0KA/viewform). Once approved, you’ll receive the credentials required to connect.
**Process**
* **Retrieve the Consumer Token**\
After your API access is approved, Tripletex will provide you with a **Consumer Token**. Copy and store it securely — you’ll need it during connector activation.
* **Activate the Tripletex Connector**\
In the **Chift platform**, navigate to the connector list and **enable the Tripletex connector** by toggling the activation switch.
* **Enter the Consumer Token**\
When prompted during activation, paste the **Consumer Token** you retrieved earlier.
* **Set the Application Name**\
In the connector settings, fill in the [**tripletex.app**](http://tripletex.app)**\_name** field with the **Application Key / Code** you received from Tripletex once your application was approved.
> 💡 This step ensures the **Application Key** is automatically displayed on the activation page for the end customer. They will need it to generate their **Employee Token** — required to complete the connection.\
> This approach keeps the process fully self-service for the customer and avoids the need for you to share the key manually.
## Testing Tripletex
A dedicated **test environment** is available as soon as your **developer account** is created in Tripletex. Use this environment to validate your integration before going live.
## Connecting Tripletex
* English article: [Help Center - Tripletex](https://help.chift.app/articles/4381472069-tripletex?lang=en)
## Coverage
## Tripletex coverage
# Twinfield
Source: https://docs.chift.eu/connectors/accounting/twinfield
}>
Website: [twinfield.com](https://www.wolterskluwer.com/en/solutions/twinfield-accounting)\
Software type: Software as a service (SaaS) \
Geography: 🇳🇱 Netherlands\
Support multi-folder: ❌ \
Connector Status: Beta
## Introduction
Twinfield online accounting software easily manages all accounting functions, from invoicing to management accounting – for the smallest startup to the largest international group.
## Prerequisite(s)
To connect Twinfield with Chift, you need a certified Twinfield application.
Twinfield’s certification costs €53 per month. This fee is billed directly by Twinfield and cannot be waived.
As a Chift customer, you benefit from a **custom and exclusive process** that gives you an **immediate and systematic certification** for your Twinfield connection.
* **No need for a Twinfield developer account.**
* **Your dedicated app is created by Chift in your name**, so your clients will see *your company name* (not Chift’s) during the OAuth2 authorization process.
* **No manual certification process required** if you’re a Chift customer.
All you need to do is complete the form shared by Chift. We handle app creation, technical validation, and provide access to the Twinfield test environment.
### Process
* **1. Contact your Chift Customer Success Manager**\
Reach out to your CS Manager to start the certification process.\
Chift will create your dedicated Twinfield app.
* **2. Complete Twinfield's client details form**\
Fill in [Twinfield’s form](https://e.wolterskluwer.com/Aanvragen-API-Certificaat) with your company information, including billing details. You will need the `client_id` provided by Chift once your app has been created in step 1.
* **3. Access to the test environment**\
Once the form is submitted, you will be provided with your test environment (and support portal). However, all support and guidance go through Chift—there’s no need to interact directly with Twinfield’s support portal.
* **4. Certification approval**\
Once Twinfield processed your information, **your certification is granted immediately**.
## Test Twinfield
You will receive a testing environment rigth after the complettion of the for step 2 of the process
## Connect Twinfield
To activate a connection with Twinfield, users will have to go through the following steps:
* English article: [Help Center - Twinfield- EN](https://help.chift.app/articles/5900731018-twinfield?lang=fr)
## Coverage
## Twinfield coverage
# Visma eAccounting
Source: https://docs.chift.eu/connectors/accounting/visma_eaccounting
}>
Website: [eAccounting.nl](https://www.eaccounting.nl/)\
Geography: 🇳🇱 Netherlands\
Support multi-folder: ❌\
Connector Status: Live
## Introduction
Visma eAccounting is an accounting software developed by Visma, primarily designed for accountants as well as small and medium-sized businesses in the Netherlands and other European markets. It offers a user-friendly interface and a range of features, including invoicing, expense tracking, bank reconciliation, payroll integration, and VAT reporting. Because it is fully cloud-based, users can access their financial data from anywhere and collaborate easily with their accountants.
## Configure eAccounting
**Prerequisite(s)** There are no prerequisite to enable eAccounting in your Chift App.
* A registered **partner account** on Visma’s Developer Portal: [https://selfservice.developer.vismaonline.com](https://selfservice.developer.vismaonline.com)
Access to **Sandbox credentials**, sent via email after registration
* Request **Production credentials** to the visma partner in your country.
**Process**
### Use Chift's credentials
The preferred method is to use Chift's credentials to activate the connector.
Please ask your CSM to activate the connector.
### Request your own credentials
In case you really want your own credentials, this is the process to request for access.
#### **A. Register for Sandbox Access**
1. **Create a Partner Account**
* Go to [https://selfservice.developer.vismaonline.com](https://selfservice.developer.vismaonline.com)
* Complete the registration to create a developer/partner account.
2. **Receive Sandbox Credentials**
* Visma will send you an email with:
* `client_id`
* `client_secret`
* Other relevant sandbox access tokens
3. **Activate connection in Chift's platform**
Enable Visma Eaccounting connetor in the connector list and enter **client\_id** and **client\_secret**
#### **B. Request Production Credentials**
1. **Send an Email Request**
* Depending on your country, send an email request to the appropriate address:
| Country | Email |
| :-------------- | :-------------------------------------------------------------------- |
| **Sweden** | [api@spiris.se](mailto:api@spiris.se) |
| **Norway** | [api\_eaccounting@visma.com](mailto:api_eaccounting@visma.com) |
| **Netherlands** | [partner.eaccounting@visma.com](mailto:partner.eaccounting@visma.com) |
Include the following information in your mail :
* **Application name**: `Chift`
* **Company name**: (Include a 2-line description, e.g. *"Chift is a unified API platform connecting various accounting and banking systems to centralize business data."*)
* **Redirect URI(s)**: `https://chift.app/oauth2/redirect`
* **Requested scopes**:
| Scope | Purpose |
| :--------------- | :--------------------------------------------------- |
| `ea:api` | Base access to the eAccounting API |
| `ea:sales` | Access to customer sales and invoices |
| `ea:purchase` | Access to purchase and supplier invoices |
| `ea:accounting` | Access to accounting data like journals and accounts |
| `offline_access` | Enables long-lived tokens for background syncing |
* To have the partnership request and access to the production environment approved, a **Terms and Conditions document** provided by Visma eAccounting/Advisor Production API will need to be **signed electronically**.
* ****Once approval received, activate the eAccounting integration on theChift platform**** with production keys.
## Test eAccounting
Please ask your country's point of contact (see table above) for a test account including dummy data
## Coverage
## Visma Eaccounting coverage
# Winbooks
Source: https://docs.chift.eu/connectors/accounting/winbooksclassic
}>
Website: [winbooks.com](https://www.exact.com/befr/software/exact-winbooks)\
Software type: On-premise (local agent to be installed)\
Geography: 🇧🇪 Belgium\
Support multi-folder: ✅
## Introduction
WinBooks is an accounting and financial management software for small and medium-sized businesses. It allows you to manage company finances, track invoices and payments, produce financial reports and monitor company performance. Deliver the Winbooks integration your customer wants in no time.
## Configure Winbooks
**Prerequisite(s)** No prerequisite to enable the connector.
**Process** Activate the connector in one click on the connector section in your Chift account.
## Test Winbooks
To test the software integration, you need to go through an integrator to get a sandbox account or you must identify beta users in your client base willing to allow you to use their account for testings
## Connect Winbooks
To activate a connexion with Winbooks, users will have to go through the following steps.
* French article: [Help Center - Winbooks FR](https://help.chift.app/articles/1919343388-quickbooks-accounting?lang=en)
* English article: [Help Center - Winbooks EN](https://help.chift.app/articles/1919343388-quickbooks-accounting?lang=fr)
## Coverage
## Winbooks Classic coverage
# Xero
Source: https://docs.chift.eu/connectors/accounting/xero
}>
Website: [xero.com](https://www.xero.com/)\
Software type: Software as a service (SaaS)\
Geography: 🌍 Global (180+ countries)\
Support multi-folder: ✅
## Introduction
Xero is a cloud-based accounting platform for small and medium-sized businesses. It provides real-time financial visibility, automated bank reconciliation, and comprehensive reporting tools to help businesses streamline accounting processes and make informed decisions.
Our Xero connector allows your application to securely integrate with your users’ Xero accounts via OAuth2.
**Important:** Since March 2, 2026, Xero introduced a new tiered API pricing system and additional limitations affecting authentication, API usage, and feature access. These changes have direct impact on integration design, data consumption, and costs.
## Configure Xero
### **Prerequisite(s)**
* Xero account with administrator permissions
* OAuth2 application in Xero with **Client ID** and **Client Secret**
* Appropriate OAuth scopes and pricing plan for the data you plan to access
* Note: Uncertified apps are now limited to **5 connected organizations**
### **Process**
**Setting up your Xero App**
1. If you don’t already have a Xero account, you can create one here: [Free trial](https://www.xero.com/signup/)
2. Sign in to the [Xero Developer Portal](https://developer.xero.com/).
3. Create a new app in the developer console:
* **App name:** Choose a clear name that users will recognize during the OAuth flow.
* **Integration type:** Select **Web app**.
* **Company or application URL:** Enter your company’s website (starting with `https://`).
* **Redirect URI:** Set to `https://chift.app/oauth2/redirect`.
4. Retrieve your app credentials and configure them in Chift:
* In the Xero Developer Portal, open **My Apps** and select your application.
* Reveal your **Client ID** from the configuration panel.
* Click **Generate secret** to create a **Client Secret**.
* Copy both values and store them securely.
Enter the Client ID and Client Secret in the Xero connector configuration inside the Chift platform.
Scopes are not set when creating the Xero Web app. They can be configured in the Chift Xero connector and requested during the OAuth flow.\
\
For SSO only (not related to accounting operations), you have to request `openid`, `profile`, `email`.
Some scopes are marked as *deprecated* and must not be requested for new apps created after 02/03/2026; doing so returns an invalid scope error. They remain listed only for backward compatibility and will be removed in the future. See also [Xero’s organisation scopes](https://developer.xero.com/documentation/guides/oauth2/scopes/#organisation-scopes).
To use the `accounting.journals.read` scope, you need approval from Xero.
| Scope | Status | Purpose | Optional |
| :-------------------------------------- | :------------ | :---------------------------------------------------------------------------------------------------------- | :------: |
| `offline_access` | | Enables long-lived refresh tokens for background syncing | |
| `accounting.transactions.read` | Deprecated | Read invoices, credit notes, payments, manual journals | ✅ |
| `accounting.invoices.read` | New | Read invoices and credit notes | ✅ |
| `accounting.invoices` | New | Create and update invoices and credit notes | ✅ |
| `accounting.payments.read` | New | Read payments | ✅ |
| `accounting.payments` | New | Create and update payments | ✅ |
| `accounting.banktransactions.read` | New | Read bank transactions | ✅ |
| `accounting.manualjournals.read` | New | Read manual journals | ✅ |
| `accounting.manualjournals` | New | Create and update manual journals | ✅ |
| `accounting.reports.trialbalance.read` | New | Read trial balance reports | ✅ |
| `accounting.journals.read` | Upon approval | Read manual journal entries | ✅ |
| `accounting.settings.read` | | Read organisation settings and chart of accounts | |
| `accounting.reports.read` | Deprecated | Read accounting reports | ✅ |
| `accounting.contacts.read` | | Read customers and suppliers | |
| `accounting.attachments.read` | | Read attachments on Invoices, CreditNotes, ManualJournals | |
| `accounting.budgets.read` | | Read budgets | |
| `accounting.reports.tenninetynine.read` | | Read 1099 reports | ✅ |
| `files.read` | | Read from the Xero Files library | |
| `accounting.transactions` | Deprecated | Create/update invoices, credit notes, manual journals; for PDF upload combine with `accounting.attachments` | ✅ |
| `accounting.contacts` | | Create/update customers and suppliers | ✅ |
| `accounting.settings` | | Create chart-of-accounts entries; manage organisation settings; create/update tracking options | ✅ |
| `accounting.attachments` | | Upload attachments to Invoices, CreditNotes, ManualJournals | ✅ |
| `files` | | Write to the Xero Files library | ✅ |
### ℹ️ Certification, Limits & Pricing (Updated 2026)
#### **1. Development & Initial Limits (Starter Tier)**
Every new Xero integration begins in the **Development phase** under the **Starter Tier**. This is the default state for uncertified apps:
* **Connection Cap:** Limited to a maximum of **5 active connected organizations**.
* **API Limits:** 1,000 calls per day per organization; 60 calls per minute.
* **Upgrade Path:** To connect more than 5 organizations, you must upgrade to a paid tier (Core, Plus, or Advanced) and begin the certification process.
#### **2. Certification & Growth (Scaling Beyond 5 Connections)**
To grow your app and remove the 5-connection limit, you must move through the **Certification process**. This transition turns your "integration" into a formal **Xero App Partnership**:
* **The "Beta" Threshold:** You need to reach at least **10 active connections** to qualify for App Store certification.
* **Upgrade Requirement:** To reach those 10 connections, you must upgrade from the free Starter plan to a paid tier (starting with the **Core Plan**).
* **Technical Review:** Review will be Xero will review your app to ensure it meets quality standards, including:
* Proper error handling.
* Secure data management.
* A seamless onboarding flow (Sign In with Xero).
* **App Store Listing:** Once certified, your app becomes eligible for listing on the **Xero App Store**, providing global visibility to Xero’s millions of subscribers.
#### 3. Pricing considerations - **API Pricing & Tiers (Effective March 2, 2026)**
Billing is based on your **Customer Count** and **Monthly Data Egress** (data downloaded via the API).
| **Plan** | **Max Customers** | **Data Quota** | **Key Features & Notes** |
| :----------- | :---------------- | :------------- | :--------------------------------------------- |
| **Starter** | 5 | Unlimited\* | **Free**; For dev & small-scale testing. |
| **Core** | 50 | 10 GB | \~€22/month; Threshold for Certification. |
| **Plus** | 1,000 | 50 GB | \~€150/month; High-volume scaling. |
| **Advanced** | 10,000 | 250 GB | \~€890/month; **Required for Journals & XPM.** |
* **Data Overage:** Exceeding your quota costs approximately **€1.40 per additional GB**.
* **Feature Gating:** Access to the **Journals API**, **Xero Practice Manager (XPM)**, and **Bulk Connections** is strictly reserved for the **Advanced Plan**. ⚠️ If you need `GET /Journals`, budget **€890/month** immediately.
Special Certification & Financial Services\
If your application falls into any of the following categories, you operate under a **Specific Financial Services Contract** rather than the standard developer terms:
* **Bank Feeds:** Automatically pushing transaction data into Xero.
* **Lending & Credit:** Accessing Xero data specifically to assess creditworthiness or provide business loans.
* **Expense Management:** Specialized flows for corporate cards and employee reimbursements.
* **Payment Services:** Facilitating the movement of funds between bank accounts and Xero.
### 🔗 Official Reference Links
For detailed guides on the certification journey and the latest pricing updates, consult:
* **Step-by-Step Certification Guide:** [Building and Growing your App](https://developer.xero.com/documentation/xero-app-store/app-partner-guides/building-and-growing-your-app)
* **Pricing & Policy FAQ:** [Xero API Updates 2026](https://developer.xero.com/faq/pricing-and-policy-updates)
***
## Test Xero
Xero offers a **demo company** you can use to test your integrations. It comes with sample data, allowing you to validate and experiment with your setup before connecting to real organizations. Once you’ve registered on the Developer Portal, you can follow [this guide](https://developer.xero.com/documentation/development-accounts/#accessing-the-xero-demo-company) to access the demo environment.
## Connect Xero
To activate a connection with Xero, users will have to go through the following steps:
* French article: [Help Center - Xero - FR](https://help.chift.app/articles/9332701143-xero?lang=fr)
* English article: [Help Center - Xero - EN](https://help.chift.app/articles/9332701143-xero?lang=en)
## Rate limits
Limits apply to API calls per tenant (organisation, account, or practice):
* **Concurrent:** 5 calls at a time
* **Per Minute:** 60 calls
* **Total App Minute**: 10,000 calls (Total across all connected tenants)
* **Daily:** 5,000 calls
Across all tenants, your app is limited to **10,000 calls per minute**.\
(See Xero’s [documentation](https://developer.xero.com/documentation/guides/oauth2/limits/#api-rate-limits) for more details.)
## Technical limitations / specificities
### Suppliers
In Xero, **all suppliers are contacts**. A contact is initially neutral. It is treated as a supplier **once a supplier invoice is linked to it**. Contacts can also act as customers simultaneously; the supplier role is **inferred from activity**, not stored as a separate entity.
## Coverage
## Xero coverage
# Yuki
Source: https://docs.chift.eu/connectors/accounting/yuki
}>
Website: [yukisoftware.com](https://www.yukisoftware.com/)\
Software type: Software as a service (Saas)\
Geography: 🇧🇪 Belgium, 🇳🇱 Netherlands\
Support multi-folder: ✅
## Introduction
Yuki is a cloud-based accounting platform designed to streamline collaboration between businesses and their accounting partners. It offers an intuitive interface, powerful automation features, and real-time financial insights to make accounting more efficient and transparent.\
By centralizing financial data and automating administrative tasks, Yuki helps businesses focus on growth while improving the quality and speed of their accounting processes.
## Configure Yuki
### Prerequisite(s)
* Obtain a **Partner API Key** from Yuki.
### Process
We can provide and manage the API key for you.\
Simply contact our support team and we’ll handle the configuration directly on your Chift platform.
* Faster setup process
* No manual configuration required
Your clients will see **Chift** (instead of your company) when authorizing the connection
## Test Yuki
We can provide access to a shared sandbox environment to help you test your integration with Yuki before going live.\
⚠️ Access is available **on request** and **subject to usage conditions**, as this is a shared testing environment. Please reach out to us to request sandbox access.
## Connect Yuki
To activate a connexion with Yuki, users will have to go through the following steps.
* French article: [Help Center - Yuki - FR](https://help.chift.app/articles/8136429247-yuki?lang=fr)
* English article: [Help Center - Yuki - EN](https://help.chift.app/articles/8136429247-yuki?lang=en)
## Rate limits
The Yuki API has a daily limit of 1000 calls a day for each domain. To increase the number of available web service calls, a user with the “Portal administrator” role has the option to add one of the following accountant features to the domain:
* Yuki Webservice: up to 5000 calls/domain for 10€/month
* Yuki Webservice extended: up to 10.000 calls/domain for 100€/month
More information on the [Yuki Webiste](https://support.yuki.nl/en/support/solutions/articles/80000787845-set-up-web-services-in-domain-and-or-administration)
## Coverage
## Yuki coverage
# Banking API - Coverage
Source: https://docs.chift.eu/connectors/banking/coverage
## Coverage of endpoints by connector
# Banking connectors overview
Source: https://docs.chift.eu/connectors/banking/overview
| Connector | Geography | Partner Approval | Status |
| --------- | --------- | ---------------- | ------ |
| Ponto | 🇧🇪 (BE) | ✅ Yes | ✅ Live |
# Ponto
Source: https://docs.chift.eu/connectors/banking/ponto
}>
Website: [Ponto](https://www.myponto.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇧🇪 Belgium
## Introduction
Ponto can be used to connect to a lot of banks. It will be able to retrieve your bank transactions and the balance of your connected bank accounts.
## Configure Ponto
**Prerequisite(s)**
You need a pair of keys (clientId & ClientSecret) from Ponto to set up the connector.
## Test Ponto
## Connect Ponto
To activate a connexion with Ponto, users will have to go through the following steps.
* French article: [Help Center - Ponto FR](https://help.chift.app/fr/articles/9546380-ponto)
* English article: [Help Center - Ponto EN](https://help.chift.app/en/articles/9546380-ponto)
## Ponto coverage
# Overview of connectors in Chift
Source: https://docs.chift.eu/connectors/connectors
## Accounting
}>
Explore ACD
}>
Explore AFAS Software
}>
Explore Cegid Loop
}>
Explore Cegid Quadra
}>
Explore Datev
}>
Explore Dynamics 365 Business Central
}>
Explore e-Boekhouden
}>
Explore VISMA eAccounting
}>
Explore Exact Online
}>
Explore Fiken
}>
Explore Fulll
}>
Explore Holded
}>
Explore Horus
}>
Explore Inqom
}>
Explore Lexoffice
}>
Explore Minox
}>
Explore Moneybird
}>
Explore MyUnisoft
}>
Explore Netsuite
}>
Explore Octopus
}>
Explore Odoo
}>
Explore Pennylane
}>
Explore QuickBooks Accounting
}>
Explore Reviso
}>
Explore Sage 50 FR
}>
Explore Sage 100 FR
}>
Explore Sage Bob 50
}>
Explore Sage Generation Expert
}>
Explore Sage Intacct
}>
Explore SnelStart
}>
Explore Tiime
}>
Explore Tripletex
}>
Explore Twinfield
}>
Explore Yuki
}>
Explore Winbooks
}>
Explore Xero
}>
Explore Lexoffice
}>
Explore sevdesk
## Ecommerce
}>
Explore Amazon Seller
}>
Explore Prestashop
}>
Explore Shopify
}>
Explore Woocommerce
## Invoicing
}>
Explore Axonaut
}>
Explore Boondmanager
}>
Explore Chargebee
}>
Explore Evoliz
}>
Explore Digiforma
}>
Explore Factomos
}>
Explore Harvest
}>
Explore Hyperline
}>
Explore Odoo Invoicing
}>
Explore Paypal
}>
Explore Qonto
}>
Explore Quickbooks
}>
Explore Sage100 Invocing
}>
Explore Sellsy
}>
Explore Teamleader
}>
Explore Vos Factures
}>
Explore Zoho One
}>
Explore Billit
}>
Explore Dolibarr
## POS
}>
Explore Abill
}>
Explore Addictill
}>
Explore Agora
}>
Explore Apitic
}>
Explore Atilla
}>
Explore BDP
}>
Explore Carrepos
}>
Explore Cashmag
}>
Explore Cashpad
}>
Explore Cegid Retail
}>
Explore Clyo Systems
}>
Explore Connectill
}>
Explore Fastmag
}>
Explore Fülle
}>
Explore helloCash
}>
Explore Hiboutik
}>
Explore Innovorder
}>
Explore Jalia (by JDC)
}>
Explore L'addition
}>
Explore LastApp
}>
Explore Leo2
}>
Explore Lightspeed
}>
Explore MplusKASSA
}>
Explore MyPOS Order
}>
Explore PI Electronique
}>
Explore Odoo POS
}>
Explore Popina
}>
Explore Planity
}>
Explore Restomax
}>
Explore Revo
}>
Explore Shopcaisse
}>
Explore Simphony
}>
Explore Square
}>
Explore SumUp
}>
Explore Synapsy
}>
Explore Tactilpad
}>
Explore Tiller
}>
Explore Trivec
}>
Explore Zelty
}>
Explore Zettle
## PMS
}>
Explore Mews
}>
Explore Noovy
## Payment
}>
Explore GoCardLess
}>
Explore Mollie
}>
Explore Paypal
}>
Explore Stripe
}>
Explore SumUp
## Banking
}>
Explore Ponto
# Amazon Seller API
Source: https://docs.chift.eu/connectors/ecommerce/amazon
}>
Website: [sell.amazon.com](https://sell.amazon.com)\
Software type: Solution as a Software (SaaS)\
Geography: 🌍 Worldwide
## Introduction
Amazon Seller Central is the web interface used by brands and merchants to market and sell their products directly to Amazon's customers. The Amazon Selling Partner API (SP-API) is a REST-based API that helps Amazon selling partners programmatically access their data on orders, shipments, payments, inventory, and much more. Deliver the Amazon integration your customers want in no time.
## Configure Amazon
**Prerequisite(s)**
* A publicly accessible website describing your application and services
* The API roles your integration requires (we recommend selecting all roles)
**Process**
### Step 1 — Create a Solution Provider Portal account
1. Go to [developer.amazonservices.com](https://developer.amazonservices.com) and click **Create developer account**
2. Sign in with your Amazon account or create a new one
3. Complete the **identity verification** process (takes approximately 20 minutes)\
You can find as well the full documentation [here](https://developer-docs.amazon.com/sp-api/docs/register-as-a-public-developer)
### Step 2 — Complete your developer profile
Once your account is created, you must complete your developer profile before creating an app:
1. In the **Solution Provider Portal**, go to **Settings** → **Developer Profile** (or select **Proceed to Developer Profile** if prompted)
2. Fill in all required sections:
* **Contact information**: organization name, website URL, country, primary contact details
* **Data Access**: select **Public Developer** — *"I build and offer publicly available applications that are used by other sellers"*
* **Roles**: select all roles your integration requires (you don't need to select roles required extra questions, like the Tax Invoicing/Remittance role)
* **Use cases**: describe how you intend to use the SP-API
* **Security controls**: answer all security practice questions (answers must reflect compliance with Amazon's Acceptable Use Policy, Data Protection Policy, and Solution Provider Agreement - Please ask Chift for help if needed)
3. Check the acknowledgment box, review the policies, and click **Register**
4. Wait for Amazon's approval — they will contact you via email. You must respond to any requests within five days
### Step 3 — Create an app client
Once your developer profile is approved:
1. In the **Solution Provider Portal**, select **Develop Apps** from the top navigation to access **Developer Central**
2. Click **Add new app client**
3. Fill in the app client form:
* **App name**: enter a meaningful name (e.g., your company name)
* **API type**: select **SP API**
* **Business entity**: select **Sellers** (or Vendors, or both, depending on your use case)
* **Roles**: select all roles that your integration requires. We recommend selecting all available roles to ensure uninterrupted access to the API
4. In the **OAuth credentials** section:
* **OAuth Login URI**: enter `https://chift.app/oauth2/redirect`
* **Redirect URI**: enter `https://chift.app/oauth2/redirect`
5. Click **Save and exit**
The app will remain in "draft" but can be used as such.
### Step 4 — Retrieve your credentials
1. In **Developer Central**, find your newly created app and click **Edit app**
2. Under **LWA credentials**, click **View** to reveal:
* **Client ID** — your application's unique identifier
* **Client Secret** — your application's secret key. Note that you will need to rotate your Client Secret as the client secret is expiring after 180 days
Keep these credentials safe. You will need them to configure the connector in Chift.
### Step 5 — Configure the connector in Chift
Enter the **Client ID** and **Client Secret** in the Amazon connector settings on your Chift account to enable the connector.
## Test Amazon
To test the integration, you can use the SP-API sandbox environment. Amazon provides sandbox endpoints that simulate API responses without affecting live data. Refer to the [SP-API sandbox documentation](https://developer-docs.amazon.com/sp-api/docs/the-selling-partner-api-sandbox) for details on how to configure sandbox calls.
## Connect Amazon
To activate a connection with Amazon Seller API, users will have to go through the following steps.
* French article: [Help Center - Amazon Seller API FR](https://help.chift.app/articles/1936754401-amazon-seller?lang=fr)
* English article: [Help Center - Amazon Seller API EN](https://help.chift.app/articles/1936754401-amazon-seller?lang=en)
## Limitations & Exceptions
* A professional selling plan is required to use the SP-API
* Public applications are subject to Amazon's authorization limits and may require an Appstore listing
* Rate limits apply per API operation — refer to the [SP-API usage plans documentation](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api) for details
* Amazon will ask [fees](https://developer.amazonservices.com/spp-announcement) in the future for the usage of the API
## Amazon coverage
# E-commerce API - Coverage
Source: https://docs.chift.eu/connectors/ecommerce/coverage
## Coverage of endpoints by connector
# eCommerce connectors overview
Source: https://docs.chift.eu/connectors/ecommerce/overview
| Connector | Geography | Partner Approval | Status |
| ----------- | ------------ | ---------------- | ------ |
| Magento | 🌎 Worldwide | ❌ No | ✅ Live |
| Prestashop | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Shopify | 🌎 Worldwide | ✅ Yes | ✅ Live |
| WooCommerce | 🌎 Worldwide | ❌ No | ✅ Live |
# Prestashop
Source: https://docs.chift.eu/connectors/ecommerce/prestashop
}>
Website: [prestashop.fr](https://prestashop.fr/)\
Software type: Solution as a Software (Saas)\
Geography:🇫🇷 France
## Introduction
PrestaShop is an open-source e-commerce platform that allows businesses of all sizes to create and manage their online stores. It offers a wide range of customizable features, including product management, payment processing, and marketing tools, enabling users to build a tailored shopping experience.
## Configure Prestashop
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Prestashop
To test the software integration, you need to host a Prestashop test account.
Recommendation: test with a client account
## Connect Prestashop
To activate a connexion with Prestashop, users will have to go through the following steps.
* French article: [Help Center - Prestashop FR](https://help.chift.app/articles/9219870794-prestashop?lang=fr)
* English article: [Help Center - Prestashop EN](https://help.chift.app/articles/9219870794-prestashop?lang=en)
## Prestashop coverage
# Shopify
Source: https://docs.chift.eu/connectors/ecommerce/shopify
}>
Website: [shopify.com](https://www.shopify.com)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
## Introduction
Shopify is a comprehensive e-commerce platform that allows businesses of all sizes to create, manage, and scale their online stores. It offers a wide range of features, including customizable storefronts, payment processing, inventory management, and marketing tools. Shopify is known for its ease of use, extensive app integrations, and scalability, making it a popular choice for entrepreneurs and established businesses looking to sell products online and across multiple sales channels.
## Configure Shopify
**Prerequisite(s)**
You have two options to enable Shopify for your customers:
* Public app:
* Obtain a Client ID and Client Secret to set up the connector Shopify
* Get Shopify’s approval for your partner application. This is a long and difficult process.
* Authentication is easy for your client. Your app can be listed or unlisted.
* Private app:
* No prerequisite to activate the connector.
* Your end-users need to create a custom app to be able to authenticate (this is documented in our [help guides](https://help.chift.app/articles/1709525914-shopify?lang=en)).
Depending on your choice, you will be able to activate the connector in Chift:
* Enter client id / client secret if you went for option 1 (Enable OAuth2)
* Otherwise do not check "Enable OAuth2" and enable the connector
Description of both apps are described [here](https://help.shopify.com/en/manual/apps/app-types)
**Process**
This is the process if you want to create a public app:
1. Create your partner account using this [link](https://accounts.shopify.com/signup)
2. On your Partner account, create an API and OAuth2 application.
* [Create an account](https://partners.shopify.com/signup/developer) on the Shopify Partners site
* Click on 'Apps' in the side panel
* Click on 'Create app' on the 'Apps' page
* Click on 'Create app manually'
* Fill in the 'General settings'
* Add [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect) in the 'Allowed redirection URL(s)' section
* Click on 'Create app'
* If you want to retrieve orders older than 60 days: Go to the 'App setup' page and click on 'Request access' of the 'Read all orders' box
3. Configure your OAuth2 application and select the scope "read\_all\_orders". This is done in the parameters of your Shopify account.
* Menu → “API Access” →select “read all orders” to get a response for orders older than 60 days.
* In the same section “API Access” → Subsection “Protected customer data access”, select the consumer data you need Shopify to communicate in the API response.
4. Get you application approved by Shopify - To submit your app for approval, you have to:
* Go to the 'Distribution' page of your newly created Shopify app
* Click on 'Choose Shopify App Store'
* Click on 'Choose'
* Click on 'Create listing'
* Register to the Shopify App Store (only needed if it is your first Shopify app)
* Click on 'App visibility'
* Select 'Unlisted' in the dialog box and click on 'Save'
* Configure Shopify on your Chift account.
## Test Shopify
To test the software integration, you have the capability to create a sandbox account, within your Shopify partner portal (where you created the OAuth2 application).
## Connect Shopify
To activate a connexion with Shopify, users will have to go through the following steps.
* French article: [Help Center - Shopify FR](https://help.chift.app/articles/1709525914-shopify?lang=fr)
* English article: [Help Center - Shopify EN](https://help.chift.app/articles/1709525914-shopify?lang=en)
## Handle customer data protection
The new version of the Shopify API introduced a [customer data protection](https://shopify.dev/apps/store/data-protection/protected-customer-data) policy. This policy requires App creators to ask authorization to be able to retrieve customer data from Shopify. Without this authorization you will not be able to retrieve customers and orders from Shopify. The policy consists of two levels. With the first level you will be able to retrieve customers and orders but with limited data (you don't have access to the name, email, addresses and phone number of the customers). The second level gives you access to all the customer data. Each level is linked to specific requirements. You can find more information about the customer data protection policy and the requirements on the [Shopify dedicated documentation](https://shopify.dev/apps/store/data-protection/protected-customer-data).
To be able to use all the functionalities offered by the eCommerce API you have to meet the level 2 requirements.
The customer data protection settings can be modified via your 'App setup' page.
## Shopify coverage
# WooCommerce
Source: https://docs.chift.eu/connectors/ecommerce/woocommerce
}>
Website: [woocommerce.com](https://woocommerce.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
## Introduction
WooCommerce is an open-source flexible software solution built for WordPress-based websites. It’s commonly used to create online e-commerce shops .Deliver the WooCommerce integration your customers want in no time.
## Configure WooCommerce
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test WooCommerce
To test the software integration,
If you need to test WooCommerce specifically, Chift’s advice is to identify a beta tester in your clients that is willing to allow you to use the client’s WooCommerce account for you to conduct some tests.
## Connect WooCommerce
To activate a connexion with WooCommerce, users will have to go through the following steps.
* French article: [Help Center - WooCommerce FR](https://help.chift.app/articles/8963154419-woocommerce?lang=fr)
* English article: [Help Center - WooCommerce EN](https://help.chift.app/articles/8963154419-woocommerce?lang=en)
## Limitations & Exceptions
Gift Cards are not part of the standard WooCommerce library. Therefore, we currently only support the following Gift Card plugins:
* [Gift Cards for WooCommerce](https://woocommerce.com/products/gift-cards/) developed by Woo
* Version PRO of [PW WooCommerce GiftCard](https://www.pimwick.com/gift-cards/) developed by PimWick
## WooCommerce coverage
# Axonaut
Source: https://docs.chift.eu/connectors/invoicing/axonaut
}>
Website: [axonaut.com](https://axonaut.com/)
Software type: Solution as a Software (Saas)
Geography: 🇫🇷 France
## Introduction
Axonaut helps small businesses streamline administrative processes related to customer relationship management (CRM), invoicing, marketing, inventory tracking, and more. Deliver the Axonaut integration your customers want in no time.
## Configure Axonaut
**Prerequisite(s)**
No prerequisite to enable the connector.
**Process**
Activate the connector in one click on the connector section in your Chift account.
## Test Axonaut
To test the software integration, you can create your demo account [here](https://axonaut.com/onboarding/).
## Connect Axonaut
To activate a connexion with Axonaut, users will have to go through the following steps.
* French article: [Help Center - Axonaut FR](https://help.chift.app/articles/4622970678-axonaut?lang=fr)
* English article: [Help Center - Axonaut EN](https://help.chift.app/articles/4622970678-axonaut?lang=en)
## Limitations & Exceptions
* The distinction between refunds and invoices is based on the sign of the total amount, if negative it is considered as a refund.
## Axonaut coverage
## Troubleshooting
### Specific errors for Axonaut:
| Error Code | Error description | Resolution |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| ERROR\_BACKEND\_FORBIDDEN | Impossible to retrieve data due to a permission issue. Unauthorized action. User is not enabled or you need one of these roles: ROLE\_MANAGER, ROLE\_ACCOUNTING, ROLE\_BUSINESS, ROLE\_BUSINESS\_MANAGER | Use another API token in the Axonaut connexion of the consumer |
# Billit
Source: https://docs.chift.eu/connectors/invoicing/billit
}>
Website: [billit.be](https://www.billit.be/)\
Software type: Solution as a Software (Saas)\
Geography: 🇧🇪 Belgium
## Introduction
Billit is an invoicing and accounting platform that automates e-invoicing workflows.
## Configure Billit
**Prerequisite(s)**
* Contact your CSM to enable the connector. Chift can provide credentials to activate the connector.
* If needed, you can ask Billit for your own application:
* Contact [support@billit.be](mailto:support@billit.be) to obtain OAuth2 Client ID & Secret. You will need to do this for both a sandbox and production set of keys. See [here](https://docs.billit.be/docs/how-do-i-request-oauth-client-id-and-secret) on how to proceed and what you need to ask for information.
* Provide the redirect URL: [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect)
* Follow Billit's [authentication documentation](https://docs.billit.be/docs/how-do-i-request-oauth-client-id-and-secret) for additional details
**Process**
* Activate the connector in Chift and select the environment (Sandbox or Production)
* Configure the connector using your credentials
## Test Billit
Create a sandbox account at [Billit Sandbox](https://my.sandbox.billit.be) and use it for testing your integration.
## Connect Billit
To activate a connexion with Billit, users will have to go through the following steps.
* French article: [Help Center - Billit FR](https://help.chift.app/articles/3321040439-billit?lang=fr)
* English article: [Help Center - Billit EN](https://help.chift.app/articles/3321040439-billit?lang=en)
## Limitations & Exceptions
* The creation of invoices of type `supplier_invoice` and `supplier_refund` are not supported
## Billit coverage
# Boondmanager
Source: https://docs.chift.eu/connectors/invoicing/boondmanager
}>
Website: [boondmanager.com](https://www.boondmanager.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇪🇺 Europe
## Introduction
BoondManager is an enterprise process management (ERP) and resource management software that helps businesses manage projects, track invoices, handle prospecting, monitor expenses, and more on a centralised platform. Deliver the Boondmanager integration your customers want in no time.
## General Information
## Configure Boondmanager
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Boondmanager
To test the software integration, you can create your demo account [here](https://www.boondmanager.com/testez-nous/).
## Connect Boondmanager
To activate a connexion with Boondmanager, users will have to go through the following steps.
* French article: [Help Center - Boondmanager FR](https://help.chift.app/articles/9731331571-boondmanager?lang=fr)
* English article: [Help Center - Boondmanager EN](https://help.chift.app/articles/9731331571-boondmanager?lang=en)
## Limitations & Exceptions
* The partner is not always present on the expenses/invoices.
## Boondmanager coverage
# Chargebee
Source: https://docs.chift.eu/connectors/invoicing/chargebee
}>
Website: [chargebee.com](https://www.chargebee.com/)
Software type: Solution as a Software (Saas)
Geography: 🌍 Worldwide
## Introduction
Chargebee is a billing platform for SaaS and subscription-based businesses. Chargebee integrates with leading payment gateways around the world to let you automate payment collection, invoicing, email notifications, and customer management. Deliver the Chargebee integration your customers want in no time.
## Configure Chargebee
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Chargebee
To test the software integration, you can create your demo account [here](https://www.chargebee.com/trial-signup).
## Connect Chargebee
To activate a connexion with Chargebee, users will have to go through the following steps.
* French article: [Help Center - Chargebee FR](https://help.chift.app/articles/8784292226-chargebee?lang=fr)
* English article: [Help Center - Chargebee EN](https://help.chift.app/articles/8784292226-chargebee?lang=en)
## Chargebee coverage
# Invoicing API - Coverage
Source: https://docs.chift.eu/connectors/invoicing/coverage
## Coverage of endpoints by connector
# Digiforma
Source: https://docs.chift.eu/connectors/invoicing/digiforma
}>
Website: [digiforma.com](https://www.digiforma.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Digiforma is an all-in-one platform for easily managing your training business
## Configure Digiforma
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Digiforma
To test the software integration, you can create your demo account [here](https://identity.digiforma.com/users/register).
## Connect Digiforma
To activate a connexion with Digiforma , users will have to go through the following steps.
* French article: [Help Center - Digiforma FR](https://help.chift.app/articles/7239404955-digiforma?lang=fr)
* English article: [Help Center - Digiforma EN](https://help.chift.app/articles/7239404955-digiforma?lang=en)
## Digiforma coverage
# Dolibarr
Source: https://docs.chift.eu/connectors/invoicing/dolibarr
}>
Website: [dolibarr.org](https://www.dolibarr.org/)\
Software type: Open Source (On-premise / Cloud)\
Geography: 🌍 Global
## Introduction
Dolibarr is an open source ERP and CRM platform designed for businesses of all sizes. It provides integrated solutions for managing sales, accounting, inventory, and invoicing. Deliver the Dolibarr integration your customers want in no time.
## Configure Dolibarr
**Prerequisite(s)**
* No prerequisite to enable the connector.
* Note that the connector supports as well multi-company. This is up to the end-user to activate depending on whether he has the module. He will then be able to select a specific entity.
**Process**
Activate the connector in Chift and configure it with your Dolibarr instance credentials.
## Test Dolibarr
Install a local instance or create a cloud account at [Dolibarr](https://www.dolibarr.org/) for testing your integration.
## Connect Dolibarr
To activate a connexion with Dolibarr, users will have to go through the following steps.
* French article: [Help Center - Dolibarr FR](https://help.chift.app/articles/3219095951-dolibarr?lang=fr)
* English article: [Help Center - Dolibarr EN](https://help.chift.app/articles/3219095951-dolibarr?lang=en)
## Limitations & Exceptions
* Supported versions: v21, v22
* Modules need to be installed so that everything works pefectly. This is as well tested by our connector. See the documentation above.
## Dolibarr coverage
# Evoliz
Source: https://docs.chift.eu/connectors/invoicing/evoliz
}>
Website: [evoliz.com](https://www.evoliz.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Evoliz enables real-time online management throughout the year and generates company accounting. Deliver the Evoliz integration your customers want in no time.
## Configure Evoliz
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Evoliz
To test the software integration, you can create your demo account [here](https://www.evoliz.com/inscription.php).
## Connect Evoliz
To activate a connexion with Evoliz , users will have to go through the following steps.
* French article: [Help Center - Evoliz FR](https://help.chift.app/articles/4571541738-evoliz?lang=fr)
* English article: [Help Center - Evoliz EN](https://help.chift.app/articles/4571541738-evoliz?lang=en)
## Evoliz coverage
# Factomos
Source: https://docs.chift.eu/connectors/invoicing/factomos
}>
Website: [factomos.com](https://factomos.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Factomos is a cloud-based solution designed to help businesses manage billing and invoicing operations. The platform enables organizations to create quotes and invoices and link them with banking services to streamline financial activities. Deliver the Factomos integration your customers want in no time.
## Configure Factomos
**Prerequisite(s)**
* You need an Oauth 2 application to enable the connector.
* Activate the Factomos integration on the Chift platform.
**Process**
Ask Chift to encode the partner key or request for a dedicated Oauth2 application.
## Test Factomos
To test the software integration, you can create your demo account [here](https://www.factomos.com/en-gb).
## Connect Factomos
To activate a connexion with Factomos, users will have to go through the following steps.
* French article: [Help Center - Factomos FR](https://help.chift.app/articles/4955899463-factomos?lang=fr)
* English article: [Help Center - Factomos EN](https://help.chift.app/articles/4955899463-factomos?lang=en)
## Factomos coverage
# HubSpot
Source: https://docs.chift.eu/connectors/invoicing/hubspot
} />
# Introduction
HubSpot is a CRM platform with all the software, integrations, and resources you need to connect marketing, sales, content management, and customer service.
## Setup
In order to activate the Hubspot connector you will have to:
* Create an app on Hubspot
* Submit your app for review
* Activate the Hubspot integration on the Chift platform
### Create an app on Hubspot Developer Center
1. Log in to [Hubspot](https://developers.hubspot.com/)
2. Click on ` Create app`.
3. Enter a unique name and fill [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect) in the field `Redirect URLs`
4. Click on `Create app`
5. Keep safe your `Client ID`, `Client Secret` because you won't be able to see it again.
6. You will need the `Client ID` and `Client Secret` below
### Activate the Hubspot integration on the Chift platform
1. With the `Client ID` and `Client Secret` that you have generated in the previous steps, you can enable the Hubspot connector by going to 'Connectors' tab
2. Open the 'Connectors' tabs
3. Activate the Hubspot integration and click on "View connector"
4. Enter the `Client ID` and `Client Secret` that you have obtained in the previous steps and save.
## Limitations
* Invoices are not present. They are represented as 'opportunities' in Hubspot.
## Hubspot coverage
# Hyperline
Source: https://docs.chift.eu/connectors/invoicing/hyperline
}>
Website: [hyperline.co](https://www.hyperline.co/)\
Software type: Solution as a Software (SaaS)\
Geography: 🌍 Worldwide
## Introduction
Hyperline is a revenue management platform that unifies quote-to-cash in one system. It covers CPQ (configure-price-quote), flexible billing and subscriptions, and usage-based pricing—with support for flat fees, tiers, and enterprise contracts. Hyperline automates invoicing, payment collection, and revenue recognition, and offers e-invoicing compliance in 80+ countries. Deliver the Hyperline integration your customers need to connect billing with their existing stack.
## Configure Hyperline
**Prerequisite(s)**
* Activate the Hyperline integration on the Chift platform:
* You can choose to activate it in one click: The end user will have to generate an API key
* You can choose to use OAuth2: See here how to generate an [application](https://docs.hyperline.co/api-reference/docs/third-party-app). This is the preferred way. Chift can provide you with a client id/secret if needed.
**Process**\
Activate the connector in the connector section in your Chift account. Contact your CSM if you need dedicated credentials or partner setup.
## Test Hyperline
To test the software integration, you can sign up for a free trial on [Hyperline](https://www.hyperline.co/) (no credit card required for the trial).
## Connect Hyperline
To activate a connection with Hyperline, users will have to go through the following steps.
* French article: [Help Center - Hyperline FR](https://help.chift.app/articles/2892966359-hyperline?lang=fr)
* English article: [Help Center - Hyperline EN](https://help.chift.app/articles/2892966359-hyperline?lang=en)
## Hyperline coverage
# Odoo Invoicing
Source: https://docs.chift.eu/connectors/invoicing/odoo-invoicing
}>
Website: [odoo.com](https://www.odoo.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
## Introduction
Odoo Invoicing is a cloud-based invoicing software that simplifies the creation, management, and tracking of invoices for businesses of all sizes. It features automated invoice generation and payment tracking. Odoo Invoicing is designed to streamline the billing process, reduce administrative workload, and improve cash flow management.
## Configure Odoo
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Odoo
To test the software integration, you can create your demo account [here](https://www.odoo.com/fr_FR/trial). (You need to get a free trial on the plan named “Personnalisé” to benefit from the API.)
## Connect Odoo
To activate a connexion with Odoo, users will have to go through the following steps.
* French article: [Help Center - Odoo FR](https://help.chift.app/articles/7745146894-odoo-invoicing?lang=fr)
* English article: [Help Center - Odoo EN](https://help.chift.app/articles/7745146894-odoo-invoicing?lang=en)
## Limitations & Exceptions
* You need the CRM app to be installed to acces your opportunities/leads.
* You can connect only one company per consumer (one company = one consumer)
* We support all Odoo versions as of 13.0
## Odoo Invoicing coverage
# Invoicing connectors overview
Source: https://docs.chift.eu/connectors/invoicing/overview
| Connector | Geography | Partner Approval | Status |
| ---------------------------- | ------------------------------------------ | ---------------- | ------ |
| Axonaut | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Boondmanager | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Chargebee | 🌎 Worldwide | ❌ No | ✅ Live |
| Digiforma | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Evoliz | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Factomos | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Fatture in Cloud | 🇮🇹 (IT) | ✅ Yes | ✅ Live |
| Fuga | 🇧🇪 (BE), 🇱🇺 (LU), 🇳🇱 (NL) | ✅ Yes | ✅ Live |
| Harvest | 🇫🇷 (FR), 🇬🇧 (UK) | ✅ Yes | ✅ Live |
| Hubspot | 🇪🇺 Europe | ✅ Yes | ✅ Live |
| Hyperline | 🌍 Worldwide | ❌ No | ✅ Live |
| Odoo Invoicing | 🇧🇪 (BE), 🇨🇭 (CH), 🇫🇷 (FR), 🇱🇺 (LU) | ❌ No | ✅ Live |
| Paypal | 🌎 Worldwide | ❌ No | ✅ Live |
| Qonto | 🇪🇺 Europe | ✅ Yes | ✅ Live |
| Quickbooks | 🌎 Worldwide | ✅ Yes | ✅ Live |
| Sage 100 Gestion Commerciale | 🇪🇺 Europe | ❌ No | ✅ Live |
| Sellsy | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| TeamLeader | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Vos Factures | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Zoho One | 🇪🇺 Europe | ✅ Yes | ✅ Live |
# Paypal
Source: https://docs.chift.eu/connectors/invoicing/paypal
}>
Website: [paypal.com](https://www.paypal.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
## Introduction
Paypal is an online financial service that enables you to pay for items using a secure internet account. You simply add your bank account, credit card or debit card details and whenever you pay using PayPal, you can choose which of your cards or accounts it pays with. Deliver the Paypal integration your customers want in no time.
## Configure Paypal
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Paypal
To test the software integration, you can create your demo account [here](https://developer.paypal.com/tools/sandbox/accounts).
## Connect Paypal
To activate a connexion with Paypal, users will have to go through the following steps.
* French article: [Help Center - Paypal FR](https://help.chift.app/articles/7401984901-paypal?lang=fr)
* English article: [Help Center - Paypal EN](https://help.chift.app/articles/7401984901-paypal?lang=en)
## Paypal coverage
# Qonto
Source: https://docs.chift.eu/connectors/invoicing/qonto
}>
Website: [qonto.com](https://qonto.com/fr)\
Software type: Solution as a Software (Saas)\
Geography: 🇪🇺 Europe
## Introduction
Qonto is a European business finance solution. It offers banking, financing, bookkeeping and spend management solutions to SMEs and Freelancers.
## Configure Qonto
**Prerequisite(s)**
* Register account on the [Qonto Developer Portal](https://developers.qonto.com/)
* Obtain a Client ID, secret, staging token from Qonto. **The connector requires an Oauth2** authentication, which needs to be configured by Qonto.
* Approval from Qonto is needed before going live (Production environment).
* Activate the Qonto integration on the Chift platform.
**Process**
**I. Obtain Sandbox Credentials (Client ID, Secret, Staging Token)**
To access Qonto's sandbox environment and test the integration with Chift, follow the steps below:
1. **Create an App on the Qonto Developer Portal**
* Go to the [Qonto Developer Portal](https://developers.qonto.com/).
* Sign up and create a new application to obtain your access credentials.
* This will give you the necessary credentials to authenticate with the Sandbox environment.
2. **Select the Integration Type**
* Choose the option: **"Connect your customers Qonto accounts to your platform."**
3. **Fill in Application Details**
* Upload your **logo**
* Enter the **application name**
* Add the **redirect URI**: `https://chift.app/oauth2/redirect`
4. **Select the Required Scopes**\
To ensure the Chift connector functions properly, request the following scopes:
| **Scope** | **Purpose** |
| :----------------------- | :------------------------------------ |
| `organization.read` | Access basic organization information |
| `client.read` | View existing customers |
| `client.write` | Create new customers |
| `client_invoices.read` | Access customer invoices |
| `client_invoices.write` | Create customer invoices |
| `supplier_invoice.read` | Access supplier invoices |
| `supplier_invoice.write` | Create supplier invoices *(optional)* |
5. **Get Your Sandbox Credentials**\
Once the app is created, Qonto will automatically generate and display your sandbox credentials:
* `client_id`
* `client_secret`
* `x-qonto-staging-token`
**II. Obtain Production Credentials**
> **Important:** You must first complete the sandbox setup before requesting production credentials.
1. **Request Production Access in the Developer Portal**
* In your Qonto app dashboard, switch to the **Production** tab.
* Click **“Release my app”** to begin the production access request.
2. **Reconfirm App Information**\
You will need to re-enter your application details:
* Logo
* Application name
* Redirect URI: `https://chift.app/oauth2/redirect`
3. **Approval Process by Qonto**\
Qonto will reach out to validate your application and understand your integration use case. This step is required before production access is granted.
4. **Receive Production Credentials**\
After approval, Qonto will send you a document containing your production credentials. This file will include:
* `client_id`
* `client_secret`
* `x-qonto-staging-token` *(if your request was initially made in the sandbox)*
Ensure the **redirect URIs** listed in their response exactly match the ones submitted in your app configuration.
## Connect Qonto
To activate a connexion with Qonto, users will have to go through the following steps.
* French article: [Help Center - Qonto FR](https://help.chift.app/articles/1959523301-qonto?lang=fr)
* English article: [Help Center - Qonto EN](https://help.chift.app/articles/1959523301-qonto?lang=en)
## Limitations & Exceptions
* Qonto does not really support the notion of suppliers.
## Qonto coverage
# Quickbooks
Source: https://docs.chift.eu/connectors/invoicing/quickbooks
}>
Website: [quickbooks.com](https://quickbooks.intuit.com/eu/)
Software type: Solution as a Software (Saas)
Geography: 🇪🇺Europe
## Introduction
QuickBooks allows you to keep track of financial functions like income and expenses, employee expenses and inventory in real-time and fulfill tax obligations hassle-free. Deliver the Quickbooks integration your customers want in no time.
## Configure Quickbooks
**Prerequisite(s)**
* Create an app on Quickbook
* Submit your app for approval (this step is only required if you want your app to be publicly available)
* Activate the Quickbooks integration on the Chift platform
**Process**
1. Create an account - [here](https://quickbooks.intuit.com/ca/free-trial/)
2. Create your APP in Quickbooks in the developer’s portal following these guidelines:
* 1. Log in to [Quickbooks](https://developer.intuit.com/app/developer/myapps)
* 2. Click on `CREATE AN APP`
* 3. Select `com.intuit.quickbooks.accounting` scope
* 4. Enter a unique name and fill [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect) in the field `Redirection URLs`
* 5. Select all permissions
* 6. Click on `SAVE CHANGES`
* 7. Keep safe your `Client ID`, `Client Secret` because you won't be able to see it again.
* 8. You will need the `Client ID` and `Client Secret` afterwards
## Test Quickbooks
To test the software integration, a free account can be created on Quickbooks - [here](https://quickbooks.intuit.com/ca/free-trial/)
## Connect Quickbooks
To activate a connexion with Quickbooks, users will have to go through the following steps.
* French article: [Help Center - Quickbooks FR](https://help.chift.app/articles/6530467301-quickbooks?lang=fr)
* English article: [Help Center - Quickbooks EN](https://help.chift.app/articles/6530467301-quickbooks?lang=en)
## Limitations & Exceptions
* You can only connect to one of your companies per consumer (one consumer = one company)
* Draft invoices are not available
* Opportunities/deals are not present
## Quickbooks coverage
# Sage 100 Gestion Commerciale
Source: https://docs.chift.eu/connectors/invoicing/sage100
}>
Website: [sage100.com](https://www.sage.com/fr-be/produits/sage-100/)\
Software type: On-premise (local agent to be installed)\
Geography: 🇫🇷 France\
Connector Status: Live
## Introduction
Sage 100 is designed for mid-sized companies. It offers a wider range of features and capabilities than Sage 50, including more robust financial management, inventory management, and customer relationship management (CRM) capabilities. Deliver the Sage 100 integration your customers want in no time.
## Sage 100 Gestion Commerciale coverage
# Sellsy
Source: https://docs.chift.eu/connectors/invoicing/sellsy
}>
Website: [sellsy.com](https://go.sellsy.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Sellsy is a comprehensive CRM solution. It manages every point of the sales process from prospecting to payment. Deliver the Sellsy integration your customers want in no time.
## Configure Sellsy
**Prerequisite(s)**
* Create an app on Sellsy
* Submit your app for approval (this has to be done when you want to use the Sellsy connector with your customers)
* Activate the Sellsy integration on the Chift platform
**Process**
1. Create an account - [here](https://www.sellsy.com/onboarding/quicktrial?lang=fr)
2. Create a public OAuth2 app on your demo account from this webpage (all scopes)
1. Log in to [Sellsy](https://www.sellsy.fr/developer/api-v2)
2. Click on `Create API access` in the 'API V2' tab
3. Select `Public`
4. Enter a unique name and fill [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect) in the field `Redirection URLs`
5. Select all permissions
6. Click on `Save`
7. Keep safe your `Client ID`, `Client Secret` because you won't be able to see it again.
8. You will need the `Client ID` and `Client Secret` to encode these logins in your Chift App -> Connectors
## Test Sellsy
To test the software integration, you can create your demo account [here](https://www.sellsy.com/onboarding/quicktrial).
## Connect Sellsy
To activate a connexion with Sellsy, users will have to go through the following steps.
* French article: [Help Center - Sellsy FR](https://help.chift.app/articles/2058302311-sellsy?lang=fr)
* English article: [Help Center - Sellsy EN](https://help.chift.app/articles/2058302311-sellsy?lang=en)
## Limitations & Exceptions
* Invoices of type `supplier_refund` and `supplier_invoice` are not present.
## Sellsy coverage
# Teamleader
Source: https://docs.chift.eu/connectors/invoicing/teamleader
}>
Website: [teamleader.eu](https://www.teamleader.eu/)\
Software type: Solution as a Software (Saas)\
Geography: 🇪🇺Europe
## Introduction
Teamleader removes the daily hassle of running a business. It lets you sell, bill and organise work in one place. It provides a perfect overview of ongoing sales opportunities, projects and payments, and a deep insight into how your business is really performing. Deliver the Teamleader integration your customers want in no time.
## Configure Teamleader:
**Prerequisite(s)**
* Create an app on Teamleader (and obtain a Client ID & secret)
* Submit your app for approval (this has to be done when you want to use the Teamleader connector with your customers)
* Activate the Teamleader integration on the Chift platform
**Process**
1. Create an account [here](https://signup.focus.teamleader.eu/?country=BE\&lang=fr)
2. Create an OAuth2 app on your demo account by following these guidelines (application must be approved by Teamleader)
1. Log in to [Teamleader](https://marketplace.focus.teamleader.eu/be/en/build/integrations)
2. Click on `CREATE NEW INTEGRATION`
3. Select `Public`
4. Enter a unique name and fill [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect) in the field `Redirection URLs`
5. Select the relevant permissions (see picture bellow)
6. Click on `SAVE CHANGES`
7. Keep safe your `Client ID`, `Client Secret` because you won't be able to see it again.
8. You will need the `Client ID` and `Client Secret` afterwards
## Test Teamleader
To test the software integration, you can create your demo account [here](https://signup.focus.teamleader.eu/?country=BE\&lang=fr).
## Connect Teamleader
To activate a connexion with Teamleader, users will have to go through the following steps.
* French article: [Help Center - Teamleader FR](https://help.chift.app/articles/8298922599-teamleader?lang=fr)
* English article: [Help Center - Teamleader EN](https://help.chift.app/articles/8298922599-teamleader?lang=en)
## Limitations & Exceptions
* Invoices of type `supplier_refund` and `supplier_invoice` are not present.
* Contacts of type `supplier` are not present and there is no difference between `prospect`and `customer`
## Teamleader coverage
# Vos Factures
Source: https://docs.chift.eu/connectors/invoicing/vosfactures
}>
Website: [vosfactures.fr](https://vosfactures.fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
## Introduction
A comprehensive online invoicing solution with features for stock, payment, and reporting management. Deliver the Vos factures integration your customers want in no time.
## Configure Vos Factures
**Prerequisite(s)**\
There are no prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Vos Factures
To test the software integration, you can create your demo account [here](https://app.vosfactures.fr/signup).
## Connect Vos Factures
To activate a connexion with Vos Factures, users will have to go through the following steps.
* French article: [Help Center - Fos Factures FR](https://help.chift.app/articles/2054274996-vosfactures?lang=fr)
* English article: [Help Center - Vos Factures EN](https://help.chift.app/articles/2054274996-vosfactures?lang=en)
## Vosfactures coverage
# Zoho One
Source: https://docs.chift.eu/connectors/invoicing/zoho
}>
Website: [zoho.com](https://www.zoho.com/fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
## Introduction
Zoho CRM acts as a single repository to bring your sales, marketing, and customer support activities together, and streamline your process, policy, and people in one platform. Deliver the Zoho integration your customers want in no time.
## Configure Zoho One
**Prerequisite(s)**
* You need an Oauth 2 application to enable the connector.
* Activate the Zoho One integration on the Chift platform.
**Process**
1. Create an account [here](https://www.zoho.com/fr/signup.html)
2. Create an OAuth2 app and following this [guide](https://www.zoho.com/accounts/protocol/oauth-setup.html) (Server-based application)
## Test Zoho One
To test the software integration, you can create your demo account [here](https://www.zoho.com/fr/signup.html).
## Connect Zoho One
To activate a connexion with Zoho One, users will have to go through the following steps.
* French article: [Help Center - Zoho One FR](https://help.chift.app/articles/1853432319-zoho-invoice?lang=fr)
* English article: [Help Center - Zoho One EN](https://help.chift.app/articles/1853432319-zoho-invoice?lang=en)
## Zoho Invoice coverage
# Payments API - Coverage
Source: https://docs.chift.eu/connectors/payments/coverage
## Coverage of endpoints by connector
# GoCardLess
Source: https://docs.chift.eu/connectors/payments/gocardless
}>
Website: [GoCardLess](https://www.gocardless.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🌎 Worldwide
## Introduction
GoCardless is a payment platform that enables businesses to collect recurring and one-off payments directly from customers' bank accounts. It specializes in bank debit payments, helping companies improve cash flow and reduce transaction fees.
## Configure GoCardless
**Prerequisite(s)**\
To enable GoCardLess on your Chift App, if you decide to connect through an app, this app should created on your account.
**Process**\
There are two connection methods available depending on how you interact with GoCardless:
* **OAuth2 App Setup:**
* Create an app under the **Partner** tab of the GoCardless Developer dashboard.
* Collect your Client Id and Client Secret.
* Set the redirect URI: [`https://chift.app/oauth2/redirect`](https://chift.app/oauth2/redirect)
* **Access Token Generation:**
* Go to the Developer section of your GoCardless account.
* Click **Generate access tokens** to retrieve a token for direct integration.
⚠️ To **generate an Access Token**, the team member should have a ***developer access***. To grant someone this role go to ***Settings - Team - Access Level***\_ \_and give him the developer role. Then he’ll be able to generate the access token.
## Test GoCardless
To test your integration, you can create a GoCardless **Sandbox environment**.
* [GoCardless Sandbox Documentation](https://developer.gocardless.com/getting-started/sandbox/)
## Connect GoCardless
For detailed connection steps for both Oauth2 via app and Access token connection, check out the documentation:
* [Connect GoCardLess – English](https://help.chift.app/articles/9596732096-gocardless?lang=en)
* [Connecter GoCardLess – Français](https://help.chift.app/articles/9596732096-gocardless?lang=fr)
## Endpoints
The following endpoints are available for GoCardless integration:
1. `GET /payments`
2. `GET /payment`
3. `GET /balances`
4. `GET /refunds`
5. `GET /transactions`
## GoCardLess coverage
# Mollie
Source: https://docs.chift.eu/connectors/payments/mollie
}>
Website: [Mollie](https://www.mollie.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇪🇺 Europe
Documentation coming soon
## Mollie coverage
# Payment connectors overview
Source: https://docs.chift.eu/connectors/payments/overview
| Connector | Geography | Partner Approval | Status |
| ---------- | ------------ | ---------------- | ----------------- |
| Mollie | 🇪🇺 Europe | ✅ Yes | 🔒 Live (Private) |
| Paypal | 🌎 Worldwide | ✅ Yes | ✅ Live |
| Stripe | 🌎 Worldwide | ✅ Yes | ✅ Live |
| GoCardLess | 🌎 Worldwide | ✅ Yes | ✅ Live |
| SumUp | 🌎 Worldwide | ✅ Yes | ✅ Live |
# Paypal (payments)
Source: https://docs.chift.eu/connectors/payments/paypal
}>
Website: [paypal.com](https://www.paypal.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
## Introduction
Paypal is an online financial service that enables you to pay for items using a secure internet account. You simply add your bank account, credit card or debit card details and whenever you pay using PayPal, you can choose which of your cards or accounts it pays with. Deliver the Paypal integration your customers want in no time.
## Configure Paypal
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Paypal
To test the software integration, you can create your demo account [here](https://developer.paypal.com/tools/sandbox/accounts).
## Connect Paypal
To activate a connexion with Paypal, users will have to go through the following steps.
* French article: [Help Center - Paypal FR](https://help.chift.app/articles/7401984901-paypal?lang=fr)
* English article: [Help Center - Paypal EN](https://help.chift.app/articles/7401984901-paypal?lang=en)
## Paypal Payments coverage
# Stripe
Source: https://docs.chift.eu/connectors/payments/stripe
}>
Website: [Stripe](https://www.stripe.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🌎 Worldwide
## Introduction
Stripe is a financial infrastructure platform that helps businesses accept payments, send payouts, and manage their revenue globally. It supports a wide range of payment methods and currencies, making it easier for companies to scale and operate internationally.
## Configure Stripe
**Prerequisite(s)**\
There are no prerequisites to enable Stripe in your Chift App. However, the user must be a Stripe client in order to retrieve the necessary credentials.
## Connect Stripe
**Process**\
There are two connection methods available depending of your use of Stripe:
To activate a connection with Stripe, the user must follow the appropriate flow based on their integration type:
1. **Via an App - OAuth2 Connection is required**\
This method is used when the user is connecting through a Stripe Application.\
In this case, you must create an app in your Stripe Developer dashboard.
* **Client ID** – Found under `Settings → Extensions → Onboarding Options`.
* **Client Secret** – This is your **Secret key**, available on the Developer Dashboard.
* You must also configure the **redirect URI** correctly during app setup.
2. **Access Token via the Stripe dashboard**\
When the integration is done via website without using an app, a direct connection using an **Access Token** (i.e., Secret key) is possible. This token is generated on the Developer interface.
**Help Articles**
* French: [Help Center - Stripe - FR](https://help.chift.app/articles/9383399999-stripe?lang=fr)
* English: [Help Center - Stripe - EN](https://help.chift.app/articles/9383399999-stripe?lang=en)
## Test Stripe
You can use **Sandbox mode** to test your integration in a safe environment.
* [How to create a Stripe Sandbox account](https://stripe.com/docs/testing)
* [How to create a Stripe Production account](https://dashboard.stripe.com/register)
## Endpoints
The following endpoints are available for Stripe integration:
1. `GET /payments`
2. `GET /payment`
3. `GET /balances`
4. `GET /refunds`
5. `GET /transactions`
# SumUp
Source: https://docs.chift.eu/connectors/payments/sumup
}>
Website: [SumUp](https://sumup.com//)\
Software type: Solution as a Software (Saas)\
Geography: 🌎 Worldwide
## Introduction
SumUp is a leading global financial technology company with the vision to create a world where everyone can build a thriving business.
The connector here focus on the "payment" features of SumUp.
## Configure SumUp
**Prerequisite(s)**\
To enable SumUp on your Chift App, you need an oauth2 app.
**Process**\
You need to create a SumUp developer account to be able to activate the integration.
* **OAuth2 App Setup:**
* Create a developer account [here](https://www.sumup.com/en-us/developer-signup/)
* Click on "Register here" (below the page).
* Folow [this guide](https://developer.sumup.com/tools/authorization/register-app) to register a new application
* Set the following scopes: `user.app-settings, transactions.history, user.profile_readonly`
* Set the redirect URI: [`https://chift.app/oauth2/redirect`](https://chift.app/oauth2/redirect)
## Test SumUp
To test your integration, you can create a SumUp **Sandbox environment**. (see above)
## Connect SumUp
For detailed connection steps for both Oauth2 via app and Access token connection, check out the documentation:
* [Connect SumUp – English](https://help.chift.app/articles/3502952300-sumup?lang=en)
* [Connecter SumUp – Français](https://help.chift.app/articles/3502952300-sumup?lang=fr)
## SumUp coverage
# PMS API - Coverage
Source: https://docs.chift.eu/connectors/pms/coverage
## Coverage of endpoints by connector
# Mews
Source: https://docs.chift.eu/connectors/pms/mews
}>
Website: [mews.com](https://www.mews.com)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
# Introduction
Mews POS is a point-of-sale system integrated within the Mews hospitality platform, designed to streamline operations for hotels, hostels, and other accommodation providers. It offers features such as seamless billing, real-time inventory management, and guest service integration, all aimed at enhancing the guest experience.
## Configure Mews
**Prerequisite(s)**
* Obtain a client token from Mews to set up the connector.
* Activate the Mews integration on the Chift platform
**Process**
* To set up Mews and collect a client token, you must go through a partner certification process [here](https://www.mews.com/en/partnerships).
## Test Mews
To test the software integration, Mews has publicly available demo accounts. You can find them [here](https://mews-systems.gitbook.io/connector-api/guidelines/environments)
## Connect Mews
To activate a connexion with Mews, users will have to go through the following steps.
French article: [Help Center - Mews FR](https://help.chift.app/articles/3817718285-mews?lang=fr)
English article: [Help Center - Mews EN](https://help.chift.app/articles/3817718285-mews?lang=en)
## Mews coverage
# Noovy
Source: https://docs.chift.eu/connectors/pms/noovy
}>
Website: [noovy.com](https://noovy.com/) Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
# Introduction
Noovy is a property management system (PMS) designed for small to medium-sized hospitality businesses such as independent hotels, B\&Bs, and inns. It offers a cloud-based platform that consolidates various operational functions, including reservations, guest communications, billing, housekeeping coordination, and revenue management. The system features tools like a booking engine, channel manager, and mobile app.
## Configure Noovy
**Prerequisite(s)**
* Get the username and password combination of an account with API access to Noovy.
* Activate the Noovy integration on the Chift platform.
**Process**
* Encode the username and password credentials of an account with API access to Noovy.
* Select the environment for which these credentials apply (Sandbox or Production).
## Connect Noovy
To activate a connexion with Noovy, users will have to go through the following steps. French article: [Help Center - Noovy FR](https://help.chift.app/articles/5525781095-noovy?lang=fr) English article: [Help Center - Noovy EN](https://help.chift.app/articles/5525781095-noovy?lang=en)
## Noovy coverage
# PMS connectors overview
Source: https://docs.chift.eu/connectors/pms/overview
| Connector | Geography | Partner Approval | Status |
| --------- | ------------ | ---------------- | ------------------- |
| Mews | 🌎 Worldwide | ✅ Yes | 🚧 In developpement |
| Noovy | 🌎 Worldwide | ✅ Yes | 🚧 In developpement |
# Abill
Source: https://docs.chift.eu/connectors/pos/abill
}>
Website: [addictill](https://www.monetiqueetservices.com/121-caisse-android)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Abill software offers a multitude of functions, whatever your trade (restaurant, bakery, retail outlet, wine merchant, bar, nightclub, grocery shop). Our cash register system is remarkably mobile for use at trade fairs, exhibitions and even markets.
## Configure Abill
**Prerequisite(s)**
* Obtain a partner ID
* Activate the abill integration on the Chift platform.
**Process**
Chift can encode a generic partner ID for your account.
## Test Abill
To test the software integration, Chift can share a demo account upon request.
## Connect Abill
To activate a connexion with Abill, users will have to go through the following steps.
* French article: [Help Center - Abill FR](https://help.chift.app/articles/7107051257-abill?lang=fr)
* English article: [Help Center - Abill EN](https://help.chift.app/articles/7107051257-abill?lang=en)
## Abill coverage
# Addictill
Source: https://docs.chift.eu/connectors/pos/addictill
}>
Website: [addictill](https://www.addictgroup.fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Addictill, developed by Addict group, is a French point-of-sale (POS) software tailored for the retail and hospitality sectors. It offers tools for managing sales, inventory, and customer relationships, with a focus on ease of use and seamless integration. The software helps businesses streamline operations and enhance customer service.
## Configure Addictill
**Prerequisite(s)**
* Obtain a partner ID
* Activate the Addictill integration on the Chift platform.
**Process**\
Chift can encode a generic partner ID for your account.
## Test Addictill
To test the software integration, Chift can share a demo account upon request.
## Connect Addictill
To activate a connexion with Addictill, users will have to go through the following steps.
* French article: [Help Center - Addictill FR](https://help.chift.app/articles/6837493199-addictill?lang=fr)
* English article: [Help Center - Addictill EN](https://help.chift.app/articles/6837493199-addictill?lang=en)
## Addictill coverage
# Agora
Source: https://docs.chift.eu/connectors/pos/agora
}>
Website: [Agora](https://www.agorapos.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇪🇸 Spain
## Introduction
Agora is an integrated technological point-of-sale management solution designed to digitalize operations in the hospitality, retail, and food sectors, offering innovative tools adapted to a constantly evolving digital environment to help our clients grow and stand out in the market.
## Configure Agora
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Agora
Chift cannot provide a sandbox environment for Agora.
## Connect Agora
To activate a connexion with Agora, users will have to go through the following steps.
* French article: [Help Center - Agora FR](https://help.chift.app/articles/2670676902-agora?lang=fr)
* Spanish article: [Help Center - Agora ES](https://help.chift.app/articles/2670676902-agora?lang=es)
* English article: [Help Center - Agora EN](https://help.chift.app/articles/2670676902-agora?lang=en)
## Agora coverage
# Apitic
Source: https://docs.chift.eu/connectors/pos/apitic
}>
Website: [Apitic](https://www.apitic.com//)
Software type: Software as a Service (Saas)
Geography: 🇫🇷 France
## Introduction
Apitic is a POS application for restaurants
## Configure Apitic
**Prerequisite(s)**
* Activate the Apitic integration on the Chift platform by choosing either Staging or Production environnment.
**Process**
Activation is made in one click in the Chift platform.
## Test Apitic
To test the software integration, Chift can share a demo account upon request.
## Connect Apitic
To activate a connexion with Apitic, users will have to go through the following steps.
* French article: [Help Center - Apitic](https://help.chift.app/articles/5676451864-apitic?lang=fr)
* English article: [Help Center - Apitic](https://help.chift.app/articles/5676451864-apitic?lang=en)
## Apitic coverage
# AtillaSoft
Source: https://docs.chift.eu/connectors/pos/atilla
}>
Website: [AtillaSoft](https://www.atillasoft.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇧🇪 Belgium / 🇫🇷 France
## Introduction
Atilla is a POS solution dedicated to resellers.
## Configure Atilla
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Atilla
To test the software integration, Chift can share a demo account upon request.
## Connect Atilla
To activate a connexion with Atilla, users will have to go through the following steps.
* French article: [Help Center - Atilla FR](https://help.chift.app/articles/6593657614-shopcaisse?lang=fr)
* English article: [Help Center - Atilla EN](https://help.chift.app/articles/6593657614-shopcaisse?lang=en)
## Atilla coverage
# BDP
Source: https://docs.chift.eu/connectors/pos/bdp
}>
Website: [BDP](https://www.bdpcenter.com/)
Software type: Solution as a Software (Saas)
Geography: 🇪🇸Spain
## Introduction
BDP Net is a POS software for restaurants that provides tools to manage all aspects of food service operations, helping owners streamline operations, increase efficiency, and drive growth.
## Configure BDP
**Prerequisite(s)**
* You must obtain an Integrator Code to be able to use the connector. This needs to be requested to BDP.
**Process**\
Activate the connector in one click using the Integrator Code on the connector section in your Chift account.
## Test BDP
To test the software integration, you can contact BDP's support team for a sandbox environment. Chift can also share its own demo account for client tests.
## Connect Test
To activate a connexion with BDP, users will have to go through the following steps. Note that this activation often involves the resellor or IT partner of the end-users.
* English article: [Help Center - BDP EN](https://help.chift.app/articles/3335180601-bdp?lang=en)
## BDP coverage
# Carrepos
Source: https://docs.chift.eu/connectors/pos/carrepos
}>
Website: [https://carrepos.fr/](https://carrepos.fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Point-of-sale software designed for restaurants, fast food outlets, bakeries, cafés, snack bars, and more!
## Configure Carrepos
**Prerequisite(s)**
* Obtain a username / password:
* Chift can provide a username / password. This will be linked Chift's account for end-user activation (recommended)
* We can connect you with Carrepos if you want to have your own card or account.
* Activate the Carrepos integration on the Chift platform.
**Process**\
Chift can encode Chift's username/password for your account.
## Test Carrepos
To test the software integration, Chift can share a demo account upon request.
## Connect Carrepos
To activate a connexion with Carrepos, users will have to go through the following steps.
* French article: [Help Center - Carrepos FR](https://help.chift.app/articles/8963686813-carrepos?lang=fr)
* English article: [Help Center - Carrepos EN](https://help.chift.app/articles/8963686813-carrepos?lang=en)
## CarrePOS coverage
# Cashmag
Source: https://docs.chift.eu/connectors/pos/cashmag
}>
Website: [cashmag.fr](https://www.cashmag.fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Cashmag is a French company specializing in point-of-sale (POS) systems for the retail and hospitality industries. Their solutions offer comprehensive tools for managing sales, inventory, and customer interactions, designed to enhance operational efficiency. Cashmag is known for its robust, user-friendly systems that integrate seamlessly with various business environments.
## Configure Cashmag
**Prerequisite(s)**
* Obtain a partner ID
* Activate the Cashmag integration on the Chift platform.
**Process**\
Chift can encode a generic partner ID for your account.
## Test Cashmag
To test the software integration, Chift can share a demo account upon request.
## Connect Cashmag
To activate a connexion with Cashmag , users will have to go through the following steps.
* French article: [Help Center - Cashmag FR](https://help.chift.app/articles/8728959601-cashmag?lang=fr)
* English article: [Help Center - Cashmag EN](https://help.chift.app/articles/8728959601-cashmag?lang=en)
## Cashmag coverage
# Cashpad
Source: https://docs.chift.eu/connectors/pos/cashpad
}>
Website: [cashpad.io](https://www.cashpad.io/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Cashpad is a French point-of-sale (POS) software solution designed for the hospitality industry, including restaurants and cafes. It offers features for managing orders, payments, and inventory, with a focus on speed and ease of use. Cashpad is known for its ability to streamline operations and improve customer service through its intuitive interface and reliable performance.
## Configure Cashpad
**Prerequisite(s)**\
An username and a password are needed to activate the connector.
Upon request, Chift will activate the connector for you.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Cashpad
To test the software integration, Chift is unaware of a way to get a test account from Cashpad.
If you need to test Cashpad specifically, we advise you to identify a beta tester in your clients that is willing to allow you to use the client’s Cashpad account for you to conduct some tests.
## Connect Cashpad
To activate a connexion with Cashpad, users will have to go through the following steps.
* French article: [Help Center - Cashpad FR](https://help.chift.app/articles/2838752961-cashpad?lang=fr)
* English article: [Help Center - Cashpad EN](https://help.chift.app/articles/2838752961-cashpad?lang=en)
## Limitations & Exceptions
* You can retrieve orders on a maximum period of 3 days as the Cashpad API is too slow to retrieve more orders
> This results in a 400 HTTP ERROR - "The difference in days must be smaller than 3 for Cashpad"
* You can only retrieve closed orders
> Requesting open orders will return an empty list
## Cashpad coverage
# Cegid Retail
Source: https://docs.chift.eu/connectors/pos/cegid_retail
}>
Website: [https://www.cegid.com/global/products/cegid-retail/](https://www.cegid.com/global/products/cegid-retail/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
The cloud-native POS and unified commerce platform for specialty retailers to boost their profitability, drive retail activities and deliver unique omnichannel customer experience thanks to engaging in-store employees, anywhere in the world, with total confidence.
## Configure Cegid Retail
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Cegid Retail
To test the software integration, Chift is unaware of a way to get a test account from Cegid Retail.
If you need to test Cegid Retail specifically, we advise you to identify a beta tester in your clients for you to conduct some tests.
## Connect Cegid Retail
To activate a connexion with Cegid Retail, users will have to go through the following steps.
* French article: [Help Center - Cegid Retail FR](https://help.chift.app/articles/9661175548-cegid-retail?lang=fr)
* English article: [Help Center - Cegid Retail EN](https://help.chift.app/articles/9661175548-cegid-retail?lang=en)
## Limitations & Exceptions
* You can retrieve orders on a maximum period of 1 day
> This results in a 400 HTTP ERROR - "'date\_from' and 'date\_to' parameters must be same date for Cegid Retail"
## Cegid Retail coverage
# Clyo Systems
Source: https://docs.chift.eu/connectors/pos/clyosystems
}>
Website: [clyosystems.com](https://www.clyosystems.com/)\
Software type: On-premise (local agent to be installed)\
Geography: 🇫🇷 France
## Introduction
Clyo Systems is a French company that provides point-of-sale (POS) software solutions specifically for the hospitality industry, including restaurants, bars, and hotels. Their software offers features for managing orders, payments, and inventory, with a focus on enhancing operational efficiency and improving customer service. Clyo Systems is recognized for its adaptable and reliable solutions that cater to the unique needs of hospitality businesses.
## Configure Clyo Systems
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Clyo Systems
To test the software integration, Chift can share a demo account upon request.
## Connect Clyo Systems
To activate a connexion with Clyo Systems, users will have to go through the following steps.
* French article: [Help Center - Clyo Systems FR](https://help.chift.app/articles/3287951540-clyo-systems?lang=fr)
* English article: [Help Center - Clyo Systems EN](https://help.chift.app/articles/3287951540-clyo-systems?lang=en)
## Limitations & Exceptions
* You can only retrieve closed orders
> Requesting open orders will return an empty list
* One consumer can be linked to one or multiple location
## Clyo Systems coverage
# Connectill
Source: https://docs.chift.eu/connectors/pos/connectill
}>
Website: [connectill.com](https://www.connectill.com/fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
ConnectIl is a POS (point of sale) tool that allows users to manage and process transactions in real-time. With ConnectiIl, users can accept and process payments from multiple payment methods, manage inventory and orders, and generate reports to help them analyze their business operations. It is a flexible and user-friendly tool that can help businesses of all sizes streamline their sales and payment processes.
## Configure Connectill
**Prerequisite(s)**
* Obtain a partner ID
* Activate the Connectill integration on the Chift platform.
**Process**\
Chift can encode a generic partner ID for your account.
## Test Connectill
To test the software integration, Chift can share a demo account upon request.
## Connect Connectill
To activate a connexion with Connectill, users will have to go through the following steps.
* French article: [Help Center - Connectill FR](https://help.chift.app/articles/7236745945-connectill?lang=fr)
* English article: [Help Center - Connectill EN](https://help.chift.app/articles/7236745945-connectill?lang=en)
## Connectill coverage
# POS API - Coverage
Source: https://docs.chift.eu/connectors/pos/coverage
## Coverage of endpoints by connector
# Fastmag
Source: https://docs.chift.eu/connectors/pos/fastmag
}>
Website: [https://www.fastmag.fr/](https://www.fastmag.fr/)
Software type: Solution as a Software (Saas)
Geography: 🇫🇷 France
## Introduction
Fastmag is a comprehensive point-of-sale (POS) solution designed for the retail industry.
## Configure Fastmag
**Prerequisite(s)**
No prerequisite to enable the connector.
**Process**
Activate the connector in one click on the connector section in your Chift account.
## Test Fastmag
To test the software integration, Chift is unaware of a way to get a test account from Fastmag.
If you need to test Fastmag specifically, we advise you to identify a beta tester in your clients for you to conduct some tests.
## Connect Fastmag
To activate a connexion with Fastmag, users will have to go through the following steps.
* French article: [Help Center - Fastmag FR](https://help.chift.app/articles/5007804905-fastmag?lang=fr)
* English article: [Help Center - Fastmag EN](https://help.chift.app/articles/5007804905-fastmag?lang=en)
# Fülle
Source: https://docs.chift.eu/connectors/pos/fulleapps
}>
Website: [fülle.com](https://fulleapps.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Fülle helps retailers to digitalise their points of sale by offering them an entire ecosystem of applications designed and developed to launch, manage and grow their business. Deliver the Fülle integration your customers want in no time.
## Configure Fülle
**Prerequisite(s)**
* Obtain a partner ID
* Activate the Fülle integration on the Chift platform.
**Process**\
Chift can encode a generic partner ID for your account.
## Test Fülle
To test the software integration, Chift can share a demo account upon request.
## Connect Fülle
To activate a connexion with Fülle, users will have to go through the following steps.
* French article: [Help Center - Fülle FR](https://help.chift.app/articles/6837493199-addictill?lang=fr)
* English article: [Help Center - Fülle EN](https://help.chift.app/articles/6837493199-addictill?lang=en)
## Limitations & Exceptions
* You can only retrieve orders for a period of 7 days
* Open orders can be retrieved and will have a NULL value on the closing\_date
## Fulleapps coverage
# helloCash
Source: https://docs.chift.eu/connectors/pos/hellocash
}>
Website: [helloCash.fr](https://hellocash.fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
HelloCash is an application which serves as a complete retail POS system. The application runs directly in a browser without installation. Deliver the Hellocash integration your customers want in no time.
## Configure helloCash
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test helloCash
To test the software integration, a sandbox can be created for free [here](https://myhellocash.com/)
## Connect helloCash
To activate a connexion with helloCash, users will have to go through the following steps.
* French article: [Help Center - helloCash FR](https://help.chift.app/articles/6653119387-hellocash?lang=fr)
* English article: [Help Center - helloCash EN](https://help.chift.app/articles/6653119387-hellocash?lang=en)
## Limitations & Exceptions
* You can only retrieve closed orders
> Requesting open orders will return an empty list
## HelloCash coverage
# Hiboutik
Source: https://docs.chift.eu/connectors/pos/hiboutik
}>
Website: [hiboutik.com](https://www.hiboutik.com)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
An online point of sale management software that helps businesses manage their sales operations, inventory, customers, and finances. Deliver the Hiboutik integration your customers want in no time.
## Configure Hiboutik
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Hiboutik
To test the software integration, a free account can be created on Hiboutik - [here](https://www.hiboutik.com/fr/creez_un_compte/)
## Connect Hiboutik
To activate a connexion with Hiboutik, users will have to go through the following steps.
* French article: [Help Center - Hiboutik FR](https://help.chift.app/articles/2988353680-hiboutik?lang=fr)
* English article: [Help Center - Hiboutik EN](https://help.chift.app/articles/2988353680-hiboutik?lang=en)
## Hiboutik coverage
# Hosteltactil
Source: https://docs.chift.eu/connectors/pos/hosteltactil
}>
Website: [hosteltactil.com](https://www.hosteltactil.com/)
Software type: Solution as a Software (Saas)
Geography: 🇪🇸 Spain
## Introduction
Hosteltactil is a point-of-sale (POS) solution developed by Loomis, designed specifically for the food & beverage and hospitality industry. It helps restaurants, hotels, bars, and cafés manage their sales, table service, kitchen orders, and business operations from a single platform. Founded in 2003 and headquartered in Valencia, Spain, Hosteltactil covers the full Spanish market through an extensive partner network.
## Configure Hosteltactil
**Prerequisite(s)**
No prerequisite to enable the connector.
**Process**
Activate the connector in one click on the connector section in your Chift account.
## Test Hosteltactil
To test the software integration, Chift is unaware of a way to get a test account from Hosteltactil.
If you need to test Hosteltactil specifically, we advise you to identify a beta tester in your clients for you to conduct some tests.
## Connect Hosteltactil
To activate a connexion with Hosteltactil, users will have to go through the following steps.
* French article: [Help Center - Hosteltactil FR](https://help.chift.app/articles/hosteltactil?lang=fr)
* English article: [Help Center - Hosteltactil EN](https://help.chift.app/articles/hosteltactil?lang=en)
## Hosteltactil coverage
# Innovorder
Source: https://docs.chift.eu/connectors/pos/innovorder
}>
Website: [innovorder.com](https://www.innovorder.com/)
Software type: Solution as a Software (Saas)
Geography: 🇫🇷 France
## Introduction
Innovorder is a French software designed for the hospitality industry, including restaurants, cafes, and food service providers. It offers an all-in-one platform that includes point-of-sale (POS) systems, online ordering, inventory management, and customer engagement tools.
## Configure Innovorder
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Innovorder
To test the software integration, Chift can share a demo account upon request.
## Connect Innovorder
To activate a connexion with Innovorder, users will have to go through the following steps.
* French article: [Help Center - Innovorder FR](https://help.chift.app/articles/7511293356-innovorder?lang=fr)
* English article: [Help Center - Innovorder EN](https://help.chift.app/articles/7511293356-innovorder?lang=en)
## Limitations & Exceptions
* You can only retrieve closed orders
> Requesting open orders will return an empty list
## Innovorder coverage
# Jalia JDC
Source: https://docs.chift.eu/connectors/pos/jalia
}>
Website: [jalia.com](https://www.jdc.fr/caisse-enregistreuse)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Jalia is a cash register system for iPad, developed by JDC SA, offering over 300 features and connected accessories. The software is particularly well-suited for environments like restaurants, bars, and retail stores, providing a comprehensive and adaptable solution for managing sales, inventory, and customer interactions.
## Configure Jalia
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Jalia
To test the software integration, Chift can share a demo account upon request.
## Connect Jalia
To activate a connexion with Jalia, users will have to go through the following steps.
* French article: [Help Center - Jalia FR](https://help.chift.app/articles/6338707007-jalia-jdc?lang=fr)
* English article: [Help Center - Jalia EN](https://help.chift.app/articles/6338707007-jalia-jdc?lang=en)
## Jalia - JDC coverage
# L'Addition
Source: https://docs.chift.eu/connectors/pos/laddition
}>
Website: [l'addition.com](https://www.laddition.com)
Software type: Solution as a Software (Saas)
Geography: 🇫🇷 France
## Introduction
L'Addition is a French point-of-sale (POS) software specifically designed for the hospitality industry, including restaurants, cafes, and bars. It offers a comprehensive set of features such as order management, payment processing, table management, and real-time sales tracking.
## Configure L’addition
**Prerequisite(s)**
* Obtain a bearer token from l’addition
* Activate the L’addition integration on the Chift platform.
**Process**\
Chift can encode a generic partner ID in your APP.
## Test L’addition
To test the software integration, Chift can share a demo account upon request.
## Connect L’addition
To activate a connexion with L’addition, users will have to go through the following steps.
* French article: [Help Center - L'addition FR](https://help.chift.app/articles/5669556015-l-addition?lang=fr)
* English article - [Help Center - L'addition EN](https://help.chift.app/articles/5669556015-l-addition?lang=en)
## L'addition coverage
# LastApp
Source: https://docs.chift.eu/connectors/pos/lastapp
}>
Website: [last.app](https://www.last.app/)
Software type: Solution as a Software (Saas)
Geography: 🇪🇸Spain
## Introduction
Last.app is a restaurant POS software that helps restaurateurs fully manage their restaurants. A technological product, integrations with other platforms being one of our pillars, allowing us to unify and automate work.
## Configure Last.APP
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Last.APP
To test the software integration, you can contact LastApp’s support team here for a sandbox environment requesting some specific access to Last.app’s support team. Chift can also share its own demo account for client tests.
## Connect Last.APP
To activate a connexion with Last.APP, users will have to go through the following steps.
* French article: [Help Center - LastAPP FR](https://help.chift.app/articles/7130963023-last-app?lang=fr)
* English article: [Help Center - LastAPP EN](https://help.chift.app/articles/7130963023-last-app?lang=en)
### Limitations & Exceptions
* Last.app has a quite strict rate limit (up to 100 each 10 minutes). Because of this, you can expect request with big date ranges to fail if the amount of data to load is too big. To help limit the amount of data loaded, we encourage you to enable the post connection configuration.
## Last.app coverage
# Leo2
Source: https://docs.chift.eu/connectors/pos/leo2
}>
Website: [leo2.fr](https://www.leo2.fr/)
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Leo2 is a modern, touch-screen POS (point of sale) for shops and restaurants, offering real-time transaction management, inventory and customer data. 100% customisable, every feature can be adjusted and modulated to suit the business perfectly. An ultra-intuitive interface means you can make changes to the software quickly. Complete checkout solution with over 250 integrated functions (loyalty, note sharing, click & collect, stock management, QR Code, order terminal, robot, etc.). LEO2 can handle a large production run, a rush in a large establishment.
## Configure Leo2
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Leo2
Chift can share its own demo account for client tests.
## Connect Leo2
To activate a connexion with Leo2, users will have to go through the following steps.
* French article: [Help Center - Leo2 FR](https://help.chift.app/articles/8644904321-leo2?lang=fr)
* English article: [Help Center - Leo2 EN](https://help.chift.app/articles/8644904321-leo2?lang=en)
## Leo2 coverage
# Lightspeed
Source: https://docs.chift.eu/connectors/pos/lightspeed
}>
Website: [lightspeed.fr](https://www.lightspeedhq.fr)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Lightspeed is a cloud-based Point of Sale (POS) and e-commerce platform for retail businesses. It provides a range of features to manage sales, inventory, customers, and employees. The platform integrates with a variety of payment processors and also provides robust reporting and analytics tools. Deliver the Lightspeed integration your customers want in no time.
> ⚠️ Chift is a certified partner of Lightspeed, but to be able to use the Lightspeed connector through Chift, explicit approval of Lightspeed is needed.
**Supported Version**\
Lightspeed has multiple distinct products. Only **K-Series** (modern POS, North America/UK/Europe/Oceania) is supported. **L-Series** and **G-Series** are separate products and not supported.
## Configure LightSpeed
**Prerequisite(s)**
* ️ Obtain Lightspeed’s approval to set up the connector via Chift
* ️ Chift is a certified partner of Lightspeed and can use its credentials to setup the connector.
* Activate the LightSpeed integration on the Chift platform (you should use the V2 Staging or V2 Production when activating the connector)
**Process**
1. Contact your CSM to evaluate whether the connector can be activated.
2. If ok, your CSM will be able to activate the connector on your account.
## Test LightSpeed
To test the software integration, Chift can share a sandbox account (upon approval of Lightspeed).
## Connect LightSpeed
To activate a connexion with LightSpeed, users will have to go through the following steps.
* French article: [Help Center - LightSpeed FR](https://help.chift.app/articles/3689705150-lightspeed?lang=fr)
* English article: [Help Center - LightSpeed EN](https://help.chift.app/articles/3689705150-lightspeed?lang=en)
## Limitations & Exceptions
* You can only retrieve closed orders
> Requesting open orders will return an empty list
## Lightspeed (POS) coverage
# MplusKASSA
Source: https://docs.chift.eu/connectors/pos/mpluskassa
}>
Website: [mpluskassa.nl](https://www.mpluskassa.nl/)\
Software type: Solution as a Software (Saas)\
Geography: 🇳🇱 Netherlands
## Introduction
MplusKASSA is the most user-friendly and flexible POS software on the Dutch market. You choose and pay for the features you need, so you never pay too much. MplusKASSA provide tailor-made solutions with all-in-one POS systems for every industry! Because MplusKASSA is sold by certified POS dealers, there is always a specialist near you who can help.
## Configure MplusKASSA
**Prerequisite(s)**\
No prerequisite to enable the connector.
Depending on what you are building, you can engage in a advanced partnership as well with MplusKASSA, see [here](https://developers.mpluskassa.nl/introduction/becoming-a-partner/)
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test MplusKASSA
To test the software integration, Chift can share a demo account upon request.
You can as well request your own test account by applying to the (partner program)([https://developers.mpluskassa.nl/introduction/becoming-a-partner/](https://developers.mpluskassa.nl/introduction/becoming-a-partner/))
This will give you access to a sandbox environment where you will be able play with MplusKassa.
## Connect MplusKASSA
To activate a connexion with MplusKASSA, users will have to go through the following steps.
* Dutch article: [Help Center - MplusKASSA NL](https://help.chift.app/articles/5777271491-mpluskassa?lang=nl)
* French article: [Help Center - MplusKASSA FR](https://help.chift.app/articles/5777271491-mpluskassa?lang=fr)
* English article: [Help Center - MplusKASSA EN](https://help.chift.app/articles/5777271491-mpluskassa?lang=en)
## MplusKASSA coverage
}>/closures/\{date} Live
}>/locations Live
}>/orders/\{order\_id} Live
}>/payment-methods Live
}>/orders Live
}>/sales Live
}>/products Live
}>/product-categories Live
}>/accounting-categories Live
}>/orders/\{order\_id} On request
}>/payments Live
}>/customers Live
}>/customers On request
}>/customers/\{customer\_id} On request
}>/objectives On request
# MyPOS Order
Source: https://docs.chift.eu/connectors/pos/myposorder
}>
Website: [MyPOS Order](https://toporder.fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
MyPOS Order (previously Toporder) is a touchscreen cash register software for iPad designed for local shops and food retailers. It automates and centralizes daily management, from checkout to online sales, with features tailored to each business type (bakery, restaurant, fishmonger, etc.).
## Configure myPOS Order
**Prerequisite(s)**\
Approval from myPOS Order (previously Toporder) is needed.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test myPOS Order
To test the software integration, Chift can share a demo account upon request.
## Connect myPOS Order
To activate a connexion with MyPOS Order, users will have to go through the following steps.
* French article: [Help Center - MyPOS Order FR](https://help.chift.app/articles/9089589194-mypos-order?lang=fr)
* English article: [Help Center - MyPOS Order EN](https://help.chift.app/articles/9089589194-mypos-order?lang=en)
## MyPOS Order coverage
# Odoo POS
Source: https://docs.chift.eu/connectors/pos/odoo_pos
}>
Website: [odoo.com](https://www.odoo.com/fr_FR)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide\
Connector Status: Live
## Introduction
Odoo POS ( Odoo Point Of Sale ) is an all-in-one solution when it comes to handling your shops, restaurants, accounting, and sales. It is a comprehensible, user-friendly interface & is used in iPods, tablets, or laptops. Deliver the Odoo integration your customers want in no time.
## Odoo POS coverage
# POS connectors overview
Source: https://docs.chift.eu/connectors/pos/overview
| Connector | Geography | Partner Approval | Status |
| --------------- | ------------------------------------------ | ---------------- | ----------------- |
| Abill | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Addictil | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Agora | 🇪🇸 (ES) | ❌ No | ✅ Live |
| Apitic | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| BDP | 🇪🇸 (ES) | ✅ Live | ✅ Live |
| Cashmag | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Cashpad | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Clyo Systems | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Connectill | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Fastmag | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Fülleapps | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| HelloCash | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Hiboutik | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Hosteltactil | 🇪🇸 (ES) | ✅ Yes | ✅ Live |
| Innovorder | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Jalia JDC | 🇫🇷 (FR) | ❌ No | ✅ Live |
| L’addition | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| LastApp | 🇪🇸 (ES) | ❌ No | ✅ Live |
| Lightspeed | 🇫🇷 (FR) | ✅ Yes | 🔒 Live (Private) |
| MplusKASSA | 🇳🇱 (NL) | ❌ No | ✅ Live |
| Odoo POS | 🇧🇪 (BE), 🇨🇭 (CH), 🇫🇷 (FR), 🇱🇺 (LU) | ❌ No | ✅ Live |
| PI Electronique | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Popina | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Planity | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Restomax | 🇧🇪 (BE), 🇫🇷 (FR) | ❌ No | ✅ Live |
| Revo | 🇪🇸 (ES) | ❌ No | ✅ Live |
| Simphony POS | 🌎 Worldwide | ❌ No | ✅ Live |
| Square | 🌎 Worldwide | ✅ Yes | ✅ Live |
| SumUp | 🌎 Worldwide | ✅ Yes | ✅ Live |
| Synapsy | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Tiller | 🇪🇸 (ES), 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| MyPOS Order | 🇫🇷 (FR) | ✅ Yes | ✅ Live |
| Trivec | 🇪🇺 Europe | ✅ Yes | ✅ Live |
| Zelty | 🇫🇷 (FR) | ❌ No | ✅ Live |
| Zettle (Paypal) | 🌎 Worldwide | ✅ Yes | ✅ Live |
# PI Electronique (Alpha Caisse)
Source: https://docs.chift.eu/connectors/pos/pielectronique
}>
Website: [PI Electronique](https://pielectronique.com/en)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
PI Electronique (Alpha Caisse) is a French company specializing in cash register and management solutions for the hospitality industry (cafés, hotels, restaurants).
## Configure PI Electronique
**Prerequisite(s)**\
Take contact with your CSM to obtain credentials to activate the connector.
**Process**
* Obtain client ID and client secret.
* Choose the environment
* Activate PI Electronique integration on the Chift platform.
When you activate the connector, you will be asked whether you need access to the endpoints for the catalog (products, product categories, payment methods).
If you select yes, an extra question will be asked to the end-users to know if they have the Monora module ('programmation' module).
If they have it, we will use this as to retrieve the catalog information. Otherwise, we will use recent tickets to evaluate the catalog.
Please select "No" if you don't need access to those endpoints.
## Test PI Electronique
To test the software integration, Chift can share a demo account upon request.
## Connect PI Electronique
To activate a connexion with PI Electronique, users will have to go through the following steps.
* French article: [Help Center - PI Electronique FR](https://help.chift.app/articles/3010472700-pi-electronique?lang=fr)
* English article: [Help Center - PI Electronique EN](https://help.chift.app/articles/3010472700-pi-electronique?lang=en)
## PI Electronique coverage
# Planity
Source: https://docs.chift.eu/connectors/pos/planity
}>
Website: [planity.com](https://info.planity.com)\
Software type: Solution as a Software (Saas)\
Geography: 🇪🇺Europe
## Introduction
Planity POS is a point-of-sale system specifically designed for beauty and wellness businesses, such as salons and spas. It offers features like appointment scheduling, payment processing, and client management, all integrated into a single platform. Planity POS is known for its user-friendly interface and its ability to streamline daily operations, allowing professionals to manage their bookings, payments, and customer interactions efficiently.
## Configure Planity
**Prerequisite(s)**
⚠️ **The Planity connector is exclusively available to accounting software clients.**
This restriction is enforced by Planity directly — they only authorize accounting software providers to connect to their system via the Chift connector. As a result, access to this connector cannot be granted to other types of clients or platforms.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Planity
To test the software integration, as far as Chift knows, Planity is unable to provide a sandbox account. If you need to test Planity specifically, we advise you to identify a beta tester in your clients that is willing to allow you to use the client’s Planity account for you to conduct some tests.
## Connect Planity
To activate a connexion with Planity, users will have to go through the following steps.
* French article: [Help Center - Planity FR](https://help.chift.app/articles/6207984008-planity?lang=fr)
* English article: [Help Center - Planity EN](https://help.chift.app/articles/6207984008-planity?lang=en)
## Planity coverage
# Popina
Source: https://docs.chift.eu/connectors/pos/popina
}>
Website: [popia.com](https://www.popina.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Popina is a robust and versatile POS software solution designed to streamline sales operations, inventory management, customer management, and financial management for businesses of all sizes. Deliver the Popina integration your customers want in no time.
## Configure Popina
**Prerequisite(s)**\
No prerequisite to enable the connector. However Popina wants to be informed of Chift’s client activation of the connector with Popina.
**Process**\
Activate the connector in one click on the connector section in your Chift account and notify a member of Chift (Customer or Technical teams).
## Test Popina
To test the software integration, Chift can share a demo account upon request.
## Connect Popina
To activate a connexion with Popina, users will have to go through the following steps.
* French article: [Help Center - Popina FR](https://help.chift.app/articles/6818520590-popina?lang=fr)
* English article: [Help Center - Popina EN](https://help.chift.app/articles/6818520590-popina?lang=en)
## Limitations & Exceptions
* You can only retrieve closed orders
> Requesting open orders will return an empty list
## Popina coverage
# Restomax
Source: https://docs.chift.eu/connectors/pos/restomax
}>
Website: [restomax.be](https://restomax.be/en/)\
Software type: Solution as a Software (Saas)\
Geography:🇧🇪 Belgium / 🇫🇷 France
## Introduction
Restomax is a restaurant management software that provides a comprehensive suite of tools for managing various aspects of a food service operation. It is designed to help restaurant owners and managers streamline their operations, increase efficiency, and drive growth.
## Configure Restomax
**Prerequisite(s)**\
No prerequisite to enable the connector.
On activation, a language can be selected. For example, when you retrieve products, you will get them in the chosen language.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Restomax
To test the software integration, Chift can share a demo account upon request.
## Connect Restomax
To activate a connexion with Restomax, users will have to go through the following steps.
* French article: [Help Center - Restomax FR](https://help.chift.app/articles/5817501305-restomax?lang=fr)
* English article: [Help Center - Restomax EN](https://help.chift.app/articles/5817501305-restomax?lang=en)
## Restomax coverage
# Revo
Source: https://docs.chift.eu/connectors/pos/revo
}>
Website: [revo.works](https://revo.works/)\
Software type: Solution as a Software (Saas)\
Geography: 🇪🇸 Spain
## Introduction
Revo offers an integrated turnkey management solution based on our innovative POS software.
## Configure Revo
**Prerequisite(s)**
* ️ Obtain a dedicated Client ID with Oauth2 application. Chift is a certified partner of Revo. We can provide you with a client\_id to setup your environment.
* Activate the Revo integration on the Chift platform.
**Process**\
Take contact with your CSM to obtain credentials to activate the connector.
Note that if you want to be on Revo's marketplace, this is an additional process. We can help you and introduce you to their team.
## Test Revo
To test the software integration, Chift can share a demo account upon request.
## Connect Revo
To activate a connexion with Revo, users will have to go through the following steps.
* Dutch article: [Help Center - Revo NL](https://help.chift.app/articles/4698714803-revo?lang=nl)
* French article: [Help Center - Revo FR](https://help.chift.app/articles/4698714803-revo?lang=fr)
* English article: [Help Center - Revo EN](https://help.chift.app/articles/4698714803-revo?lang=en)
### Revo coverage
# Shopcaisse
Source: https://docs.chift.eu/connectors/pos/shopcaisse
}>
Website: [Shopcaisse](https://www.shopcaisse.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇧🇪 Belgium / 🇫🇷 France
## Introduction
Shopcaisse (previously Easyshop) is a point of sale system that allows you to manage your sales and inventory.
## Configure Shopcaisse
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Shopcaisse
To test the software integration, Chift can share a demo account upon request.
## Connect Shopcaisse
To activate a connexion with Shopcaisse, users will have to go through the following steps.
* French article: [Help Center - Shopcaisse FR](https://help.chift.app/articles/8633004245-shopcaisse?lang=fr)
* English article: [Help Center - Shopcaisse EN](https://help.chift.app/articles/8633004245-shopcaisse?lang=en)
## ShopCaisse coverage
# Oracle Simphony
Source: https://docs.chift.eu/connectors/pos/simphony
}>
Website: [https://www.oracle.com/industries/food-beverage/simphony/](https://www.oracle.com/industries/food-beverage/simphony/)\
Software type: Solution as a Software (Saas)\
Geography: 🌎 Worldwide
## Introduction
Oracle Simphony is a comprehensive point-of-sale (POS) solution designed for the food and beverage industry.
## Configure Simphony
**Prerequisite(s)**\
No prerequisite to enable the connector.
Note that to be able to work, your clients will need to have the following versions:
* Min. Reporting & Analytics 20.1 (this is an extra module)
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Simphony
To test the software integration, Chift can share a demo account upon request.
## Connect Simphony
To activate a connexion with Simphony, users will have to go through the following steps.
* French article: [Help Center - Simphony FR](https://help.chift.app/articles/9248982449-oracle-simphonypreparation?lang=fr)
* English article: [Help Center - Simphony EN](https://help.chift.app/articles/9248982449-oracle-simphonypreparation?lang=en)
## Simphony coverage
# Square
Source: https://docs.chift.eu/connectors/pos/square
}>
Website: [square.com](https://squareup.com/fr/fr)\
Software type: Solution as a Software (Saas)\
Geography: 🌍 Worldwide
# Introduction
Square streamlines the checkout process, allowing businesses to accept payments and manage their transactions within a single platform. It also provides real-time updates, enhancing the accuracy of inventory and financial data. Deliver the Square integration your customers want in no time.
## Configure Square
**Prerequisite(s)**
* Obtain an application ID and secret from Square (Note that in order to use the integration, you must be located in a market that is supported by Square (e.g. France))
* Activate the Square integration on the Chift platform.
**Process**
1. Follow this [documentation](https://developer.squareup.com/docs/get-started/create-account-and-application) to setup your developer account. Link to developer portal: [here](https://developer.squareup.com)
2. To activate the connector in the platform you will need a ApplicationId and SecretID of your app. We describe bellow the steps to follow to set up your App's activations :
* **Sign in to the Square Developer Portal**\
Go to the Square [developer portal](https://developer.squareup.com) and sign in with your Square account.
* **Create Your Application**\
Navigate to the "Applications" page: [Applications](https://developer.squareup.com/apps) \
Click **Create your first application** (or **New Application**) and give your app a name.
* **Open Your Application**\
After creating the app, you’ll be redirected to the app settings. If not, return to the Applications page and click on the app to open it.
* **Activate the Sandbox App**\
Before enabling the connector in Chift, you must activate your Sandbox app:
* Go to the [Sandbox Test Accounts page](https://developer.squareup.com/console/en/sandbox-test-accounts)
* Click on the name of your test account
* Click the **Open in Square Dashboard** button at the top right\
This step activates your Sandbox environment in Square.
* **Configure OAuth Settings**\
In your app settings, click on **OAuth** in the left-hand menu.\
Under **Redirect URLs**, add:\
[**https://chift.app/oauth2/redirect**](https://chift.app/oauth2/redirect)\
This is the **same redirect URL** for both Sandbox and Production environments.
* **Retrieve Your Credentials**\
Still under the OAuth section, copy the following values:
* **Application ID**
* **Application Secret**\
Enter these credentials on the Square connector activation page in Chift's platform to complete the activation.\
Start by connecting the **Sandbox** app with Chift for testing, then repeat the exact same steps using the **Production** app credentials when you're ready to go live.
## Test Square
To test the software integration:
1. With your developer account, you can have a few sandbox test accounts to test out the integration.
2. Follow this [link](https://developer.squareup.com/docs/devtools/sandbox/overview) to understand how to use the test account to generate test data & test the integration
## Connect Square
To activate a connexion with Square, users will have to go through the following steps.
* French article: [Help Center - Square FR](https://help.chift.app/articles/7125508793-square?lang=fr)
* English article: [Help Center - Square EN](https://help.chift.app/articles/7125508793-square?lang=en)
## Square coverage
# SumUp (POS)
Source: https://docs.chift.eu/connectors/pos/sumuppos
}>
Website: [SumUp](https://sumup.com//)\
Software type: Solution as a Software (Saas)\
Geography: 🌎 Worldwide
## Introduction
SumUp is a leading global financial technology company with the vision to create a world where everyone can build a thriving business.
The connector here focus on the "payment" features of SumUp.
## Configure SumUp
**Prerequisite(s)**\
To enable SumUp on your Chift App, you need an oauth2 app.
**Process**\
You need to create a SumUp developer account to be able to activate the integration.
* **OAuth2 App Setup:**
* Create a developer account [here](https://www.sumup.com/en-us/developer-signup/)
* Click on "Register here" (below the page).
* Folow [this guide](https://developer.sumup.com/tools/authorization/register-app) to register a new application
* Set the following scopes: `user.app-settings, transactions.history, user.profile_readonly, products, accounting.read`
* Set the redirect URI: [`https://chift.app/oauth2/redirect`](https://chift.app/oauth2/redirect)
## Test SumUp
To test your integration, you can create a SumUp **Sandbox environment**. (see above)
## Connect SumUp
For detailed connection steps for both Oauth2 via app and Access token connection, check out the documentation:
* [Connect SumUp – English](https://help.chift.app/articles/3502952300-sumup?lang=en)
* [Connecter SumUp – Français](https://help.chift.app/articles/3502952300-sumup?lang=fr)
## SumUp POS coverage
# Synapsy
Source: https://docs.chift.eu/connectors/pos/synapsy
}>
Website: [synapsy.fr](https://synapsy.fr/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Synapsy offers a complete solution for cash collection and management dedicated to the food industry. In addition to cashiering, it can be used to manage the activity of your point of sale: invoicing, dashboards, and accounting. Deliver the Synapsy integration your customers want in no time.
## Configure Synapsy
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Synapsy
To test the software integration, Chift can share a demo account upon request.
## Connect Synapsy
To activate a connexion with Synapsy, users will have to go through the following steps.
* French article: [Help Center - Synapsy FR](https://help.chift.app/articles/2636763184-synapsy?lang=fr)
* English article: [Help Center - Synapsy EN](https://help.chift.app/articles/2636763184-synapsy?lang=en)
## Limitations & Exceptions
* You can only retrieve closed orders
> Requesting open orders will return an empty list
## Synapsy coverage
# Tactilpad
Source: https://docs.chift.eu/connectors/pos/tactilpad
}>
Website: [tactilpad.com](https://www.tactilpad.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
TactilPad offers 360° payment solutions with its high-performance cash register software, specially designed to meet the needs of businesses. Combining simplicity, reliability, and efficiency, our solutions help you manage your sales, inventory, and payments with complete peace of mind.
## Configure Tactilpad
**Prerequisite(s)**
* Obtain a partner ID
* Activate the Tactilpad integration on the Chift platform.
**Process**\
Chift can encode a generic partner ID for your account.
## Test Tactilpad
To test the software integration, Chift can share a demo account upon request.
## Connect Tactilpad
To activate a connexion with Tactilpad , users will have to go through the following steps.
* French article: [Help Center - Tactilpad FR](https://help.chift.app/articles/7297260183-tactilpad?lang=fr)
* English article: [Help Center - Tactilpad EN](https://help.chift.app/articles/7297260183-tactilpad?lang=en)
## Tactilpad coverage
# Tiller
Source: https://docs.chift.eu/connectors/pos/tiller
}>
Website: [tiller.com](https://www.tillersystems.com)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France, 🇪🇸 Spain
# Introduction
Tiller is a point-of-sale (POS) software designed specifically for the hospitality industry, including restaurants, cafes, and bars. It offers a range of features such as order management, payment processing, inventory control, and sales analytics. The company is part of the SumUP group.
## Configure Tiller
**Prerequisite(s)**
* Obtain a client ID and secret for a sandbox account with an Oauth2 authentication application
* Obtain a provider token with an Oauth2 authentication mechanism.
* Activate the Tiller integration on the Chift platform.
**Process**\
You will have to go through this process [here](https://www.sumup.com/en-gb/partner/) to get partner keys.
## Test Tiller
To test the software integration, you will have to go through this process here to get partner keys.
## Connect Tiller
To activate a connexion with Tiller, users will have to go through the following steps.
* French article: [Help Center - Tiller FR](https://help.chift.app/articles/7563291147-tiller?lang=fr)
* English article: [Help Center - Tiller EN](https://help.chift.app/articles/7563291147-tiller?lang=en)
## Tiller coverage
# Trivec
Source: https://docs.chift.eu/connectors/pos/trivec
}>
Website: [trivec.com](https://trivecgroup.com/)\
Software type: Solution as a Software (Saas)\
Geography: 🇪🇺Europe
# Introduction
Trivec is a renowned European supplier of cash registers and beverage ordering systems for the hospitality industry. Their solutions facilitate the payment and management of restaurants, bars, hotels and casinos. Deliver the Trivec integration your customer wants in no time.
## Configure Trivec
**Prerequisite(s)**
* ️ obtain an APP ID to configure the connector.
**Process**\
Trivec needs to be informed that you use Chift and give its approval as for each integration they need to do a manual step to setup the API. Ask Chift to introduce you to our contact.
## Test Trivec
To test the software integration, Chift can you share a sandbox account
## Connect Trivec
To activate a connexion with Trivec, users will have to go through the following steps.
* French article: [Help Center - Trivec FR](https://help.chift.app/articles/2673991927-trivec?lang=fr)
* English article: [Help Center - Trivec EN](https://help.chift.app/articles/2673991927-trivec?lang=en)
## Trivec coverage
# Zelty
Source: https://docs.chift.eu/connectors/pos/zelty
}>
Website: [zelty.fr](https://www.zelty.fr/en)\
Software type: Solution as a Software (Saas)\
Geography: 🇫🇷 France
## Introduction
Zelty is a cash register solution designed for multi-site use and built around the iPad cash register. In addition to the cash register solution, the Zelty suite includes many other features such as online reservations, KDS screens, Click n collect, and delivery management. Deliver the Zelty integration your customers want in no time.
## Configure Zelty
**Prerequisite(s)**\
No prerequisite to enable the connector.
**Process**\
Activate the connector in one click on the connector section in your Chift account.
## Test Zelty
To test the software integration, Chift can share a demo account upon request.
## Connect Zelty
To activate a connexion with Zelty, users will have to go through the following steps.
* French article: [Help Center - Zelty FR](https://help.chift.app/articles/6804027494-zelty?lang=fr)
* English article: [Help Center - Zelty EN](https://help.chift.app/articles/6804027494-zelty?lang=en)
## Zelty coverage
# PayPal POS (Zettle)
Source: https://docs.chift.eu/connectors/pos/zettle
}>
Website: [zettle.com](https://www.zettle.com)\
Software type: Solution as a Software (Saas)\
Geography: 🌍Worldwide
# Introduction
Zettle, a part of PayPal, is a point-of-sale (POS) system designed for small businesses, offering tools for managing payments, sales, and inventory. It features an easy-to-use card reader, mobile app, and software that allow businesses to accept various payment methods, track sales in real time, and manage their inventory efficiently.
## Configure Zettle
**Prerequisite(s)**
✔ Obtain a client ID & Client secret from Zettle to set up the connector.
Process:
* First, you need a developer account on the Developer Portal, if you don’t have it you can create it [here](https://developer.zettle.com/).
* Then, you need to create an app on the developer’s portal. You can follow this [user-guide](https://developer.zettle.com/docs/get-started/user-guides/create-app-credentials/create-credentials-partner-hosted-app) to do the process. Note that in order to use the integration, you must be located in a market that is supported by Zettle (e.g. France)
* Create a public API credentials
* the redirect URL is [https://chift.app/oauth2/redirect](https://chift.app/oauth2/redirect)
* Copy and save your client ID and secret provided
* Last, you need to encode your app credentials in the connector on Chift’s platform.
## Test Zettle
To test the software integration, as far as Chift knows, Zettle is unable to provide a sandbox account.
If you need to test Zettle specifically, Chift’s advice is to identify a beta tester in your clients that is willing to allow you to use the client’s Zettle account for you to conduct some tests.
## Connect Zettle
To activate a connexion with Zettle, users will have to go through the following steps.
French article: [Help Center - Zettle FR](https://help.chift.app/articles/1513559606-zettle?lang=fr)
English article: [Help Center - Zettle EN](https://help.chift.app/articles/1513559606-zettle?lang=en)
## Limitations & exceptions
* You can only retrieve closed orders> Requesting open orders will return an empty list
## Zettle coverage
# Caching in Chift API
Source: https://docs.chift.eu/developer-guides/advanced/caching
To ensure optimal performance and minimize load on connected systems, all data retrieved through the Chift API is temporarily cached on our side. Here's how caching works and how to use it safely.
## How Caching Works
* **Cache Duration:** Data retrieved via the API is cached for a maximum of 5 minutes.
* **Refreshing Cached Data:** When new data is fetched (e.g., retrieving a later page of results), the cache is updated and the 5-minute lifetime is reset.
* **Scope:** Caching applies to all GET requests, including paginated responses. The cache may contain more items than the page requested to reduce the number of calls made to the source system.
For connectors that support bigger page sizes than the ones served by Chift, optimizations are made to reduce the number of requests. This can lead to multiple pages worth of data being cached from the first page requested. When non-cached data is requested, already cached data has its lifetime reset to ensure consistency with the newly fetched data.
## Forcing a Refresh
In cases where fresh data is required immediately—such as after creating a new object—you can bypass the cache using the `x-chift-force-refresh` HTTP header:
```http theme={null}
GET /journals
x-chift-force-refresh: true
```
The response fetched with this header is also cached.\
A typical workflow using this header looks like this:
1. Get Journals (without header)
2. Create Journals
3. Get Journals (with `x-chift-force-refresh` header)
## Important Considerations
* The `x-chift-force-refresh` header should only be used in specific scenarios, such as retrieving data immediately after creating a new object.
* Using this header indiscriminately can impact API performance. Chift reserves the right to temporarily block excessive calls that misuse this header.
* In general, relying on cached responses is recommended to ensure consistent performance and minimize load on both Chift and connected systems.
# Raw data & Custom endpoints
Source: https://docs.chift.eu/developer-guides/advanced/extending-model
Extending the Unified API when you need more control
The Unified API covers most standard use cases.\
When it doesn’t, Chift provides two advanced escape hatches:
* **Raw data**: access the native API responses used to build unified objects
* **Custom endpoints**: call connector-specific endpoints directly
These features allow you to go beyond the unified model while still benefiting from Chift’s authentication, routing, and connector maintenance.
## Raw data
### What it is
The *Raw Data* feature exposes the native API calls and responses used internally by Chift to build unified data.
You still receive the unified response, with an additional `raw_data` field containing everything fetched behind the scenes.
### When to use it
* You need fields not exposed in the unified model
* You want to understand or debug how unified data is built
* You want to enrich unified objects with connector-specific fields
### How to use it
Add the following header to your request:
```
X-Chift-Raw-Data: true
```
E.g. GET /pos/customers:\
It will return next to the unified data (as always), a raw\_data field with the endpoints called and the result.
```
{
"items": [
{
"id": "168390",
"first_name": "Henry",
"last_name": "Michel",
"name": "Henry Michel",
"phone": null,
"email": null,
"created_on": "2016-01-13T10:05:10+01:00",
"addresses": [],
"loyalty": 0,
"birthdate": null
},
...
],
"page": 1,
"total": 1005,
"raw_data": {
"customers?offset=9000&limit=1000": {
"customers": [
{
"id": 24909902
...
}
]
}
}
}
```
When using the API Explorer in your Chift Platform, you have a checkbox to activate the "raw data" feature to test it out.
## Custom endpoints
### What it is
Custom endpoints let you call connector-specific API routes that are not exposed through the Unified API.
Chift handles authentication and connection management.\
You directly interact with the connector’s native endpoint and response format.
### When to use it
Use custom endpoints when:
* The Unified API does not expose a required feature
* The connector provides useful routes (e.g. promotions, reports, exports)
* You need immediate access without waiting for unification
If the endpoint can be unified, prefer the Unified API.
### How it works
E.g. For a POS connector, you want to call a route to give you the list of promotions of restaurants.
This can be done as such:\
GET /consumers/consumerid/pos/custom/name\_of\_endpoints\_with\_params\
You need to add custom after the name of the unified api and the endpoint you are requesting.
E.G. GET /consumers/consumerid/pos/custom/promotions
Chift manages authentication and forwards the request to the connector’s native API.
All query parameters and request options are passed as-is.
This is not yet implemented on all connectors. Please contact the support or your CSM if needed
# Idempotency
Source: https://docs.chift.eu/developer-guides/advanced/idempotency
To prevent duplicate resource creation and depending on your use case, you can include in your POST request (such as one that creates an invoice) a unique value in the X-Chift-Client-RequestId header.\
\
This ensures that each POST request is processed exactly once by our API. Uniquely identifying POST requests that create new resources is particularly crucial when the response outcome is uncertain due to temporary service disruptions, such as server timeouts or network failures.\
\
In such cases, the client application can safely retry the request without the risk of duplicate operations.\
API endpoints that guarantee a request is processed only once, regardless of how many times it is retried with the same unique identifier, are referred to as idempotent.
### How to use it?
Include in your request to Chift, the following header:
`x-chift-client-requestid: 123456`
The value (`123456` in this example) is a unique identifier that you generate and manage on your side:
1. **Format and storage:** It must be a **varchar(255)**, meaning it can contain up to 255 characters. You are responsible for generating it in a way that guarantees uniqueness for each request.
2. **Scope and usage:** The header is not tied to a specific endpoint and can be included in any request. Each value must be unique per request, regardless of the endpoint, to ensure duplicates are correctly detected.
* Chift keeps logs of these identifiers for **6 months**.
### What can you expect?
You can expect a 409 error code in case you request was processed (REQUEST\_ALREADY\_PROCESSED) or currently in processing (REQUEST\_IN\_PROCESS):
E.g.
```
{
"status": "error",
"message": "Request already processed: 200",
"detail": "Request with same client request id {client_request_id} was already successfully processed",
"error_code": "REQUEST_ALREADY_PROCESSED"
}
```
```
{
"status": "error",
"message": "Request is in processing",
"detail": "Request with same client request id {client_request_id} is currently processed",
"error_code": "REQUEST_IN_PROCESS"
}
```
### Monitoring
The transaction endpoint ([API Reference ↗️](https://docs.chift.eu/api-reference/endpoints/connections/get-transaction-information)) allows you to retrieve detailed information about any API transaction using the `x-chift-client-requestid`. This is particularly useful for auditing, troubleshooting, or tracking the status of a request.
For **POST endpoints**, the response also returns the `created_entity_id`, giving you the identifier of the newly created entity directly in the monitoring response.
**Key Points:**
* This endpoint is ideal for monitoring asynchronous or long-running operations, providing a single source of truth for the status and result of any request.
* If you decide to implement a **timeout** on your requests—for example, terminating the connection after 30 seconds or 1 minute—Transaction Monitoring allows you to track the outcome of requests that continue executing on Chift even after your timeout has cut the connection.
* The monitoring endpoint works across all connectors.
# Working with Accounts in Invoices
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/accounts-invoice
This guide explains how to correctly provide account information when creating **Invoices** via the **Unified API**.
## Invoice
The "create invoice" endpoint is designed specifically for creating customer (sales) and supplier (purchase) invoices in the way they are typically booked in accounting.
In most cases, it results in the creation of an **invoice object** in the target accounting system. This object offers a higher level of abstraction than a generic journal entry:
* You provide the **`partner_id`** at the invoice level.
* The API automatically generates the receivable (customer) or payable (supplier) line in the background, using the account set on that partner in the accounting system (system default or partner-specific configuration).
* The invoice lines you send only need **general accounts** (i.e., income, expenses).
💡 **Important nuance:**
The `Invoice` object is only created in the target accounting system **if** that system natively supports invoices.
If the accounting software does not manage invoices as standalone objects, the API abstracts the logic and posts the equivalent entries directly in the general ledger, following the same accounting rules.
*(In French systems, the `partner_id` may correspond to an **auxiliary account**.)*
***
### Fields
* **`partner_id`** *(required at invoice level)*
* The ID of the customer or supplier in the accounting software.
* Used to automatically create the receivable or payable line.
* Retrieved via `GET /clients` or `GET /suppliers` (or from the response when creating a partner).
* **`account_number`** *(required at line level)*
* Always a **general ledger account number** (never a partner ID).
* For sales invoices: typically a revenue account (e.g., `701000`).
* For purchase invoices: typically an expense or purchase account (e.g., `601000`).
* These accounts are often linked to categories or products in upstream systems.
* **`tax_id`** *(required at line level, when applicable)*
* The ID of the **tax object** (sometimes called tax code, VAT code, or tax rate) in the accounting software.
* Determines the tax treatment of the line and ensures the correct tax entry is created.
* Two possible scenarios, depending on the target software:
1. If the software natively supports invoices with tax handling, we pass the `tax_id` to the invoice creation endpoint, and the software generates the tax line.
2. If the software does not handle tax automatically, we retrieve the related tax account from the tax object and generate the tax line ourselves (this logic is abstracted for you).
* In both cases, you only need to provide the correct `tax_id`; the Unified API ensures consistency in how tax lines are booked.
# Accounts in journal entries
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/accounts-je
This guide explains how to correctly provide account information when creating **Journal Entries** via the **Unified API**.
## Journal Entry
A Journal Entry (also referred to as a G/L entry) is the most **generic** way to create accounting entries.\
It can be used to book **any** kind of transaction — invoices, bank movements, adjustments, accruals, payroll entries, and more.
By definition, every journal entry line must have a ledger account specified. In Chift’s API, we use two fields to indicate this:
* the **type of account** (`account_type`)
* the **account identifier** (`account`)
***
### Fields
* **`account_type`**
* `general_account` → The `account` value is a general ledger account number (retrievable via `GET /chart_of_accounts`).
* `customer_account`, `supplier_account`, `employee_account` → `account` value is a third-party account.
* **`account`**
* If `general_account` → Simply the (general) ledger account number.
* If `_account` (third-party account) → Enter the partner ID from the target software (retrieved via `GET /clients`, `GET /suppliers`, `GET /employees`, or in the response when creating a partner).
***
### How partner account works
When `account_type` is `customer_account`, `supplier_account`, or `employee_account` and you provide the `account` value (partner ID in the target system), the API will automatically:
1. Retrieve the **default general account** associated with that partner.
* This can be the system default (e.g., all customers post to `411000`)
* Or a specific account configured directly on that partner’s record in the accounting software.
2. Use this default account to complete the posting unless you override it (see below).
> *In French systems, the partner may be identified by an **auxiliary account**. In such cases, `partner_id` = auxiliary account number = ledger account.*
***
### Additional fields for account control
* **`force_general_account`** *(string | null)*\
Overrides the default general account for a customer, supplier, or employee account.\
If set, this value is used instead of the one configured in the accounting system.
* **`prioritise_thirdparty_account`** *(boolean | null, default: false)*\
In some accounting systems (e.g., those using auxiliary accounts), you cannot provide both a general account and a partner account, since technically both are ledger accounts.
If `true`, the API will prioritize the **third-party account (partner)** in such cases. We recommand to set to `true` when using `force_general_account`.
# Analytical accounting
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/analytical-accounting
## Structure & Integration
Analytical accounting lets you allocate revenues and expenses by **custom business dimensions** like departments, projects, regions, or product lines. It exists in many accounting systems, such as **Odoo**, **Netsuite**, **Exact Online**, or **QuickBooks Online**, and is fully supported in our **unified API**.
In Chift, this functionality revolves around **Analytical Plans** (dimensions) and **Analytical Accounts** (values within a dimension).
***
## What are Analytical Plans / Accounts?
An **Analytical Plan** (also called a dimension or axis) defines a business perspective for analysis. Each plan includes multiple **Analytical Accounts** (or values) that can be used to tag entries.
Here’s an **example of plans / accounts scheme:**
| **Analytical Plan** | **Analytical Accounts** |
| ------------------- | ----------------------- |
| Department | Sales, HR, Marketing |
| Project | Project A, Project B |
This sits in **parallel to the general ledger accounts**: while ledger accounts define the accounting nature of an entry (e.g., "Rent expense"), analytical plans define its business context (e.g., "Marketing team").
### Fixed vs. Dynamic Plan Models
Depending on the accounting system:
* Some systems use a **fixed number of analytical plans** — For insatnce, in **Exact Online**, exactly 2 dimensions with predefined meanings: **cost centers** and **cost units**.
* Others (e.g., **Odoo**, **Netsuite**) allow **dynamic or unlimited plans**, which can be created and managed freely by the user.
Our API supports both models seamlessly.
***
## Analytical plans in Chift
We distinguish two modes of operation:
### Single vs. Multi Analytical Plan Modes
* **Single Analytical Plan Mode**:
In this mode, only **one analytical plan** is used. It is defined and configured **directly in the connector’s platform settings**.
You **don’t need to use the analytical plan structure in the API** — there is no need to specify which plan to use, since only one exists by default.\
In mono mode, you can only assign **one analytical account per line** (no distribution or percentage is possible).
* **Multi Analytical Plan Mode**:
In this mode, **multiple analytical plans** can be used (e.g., project, department, region). You must explicitly define, for each line, the analytical plan and corresponding accounts with their distribution.
The Chift API supports both configurations, and the choice depends on the connector setup.
***
Analytical plans are **attached to accounting entries** (lines) — this is where analytical allocations happen.
They are relevant in the context of:
* **Journal Entries** (`journal_entries`)
* **Invoices** (`sales_invoices`, `purchase_invoices`) — specifically, the invoice lines that will generate accounting entries.
> Analytical plans do not apply to purely financial data or summaries; they are tied to the accounting side of the transaction.
***
## Endpoints to manage Analytical Plans in Chift’s API
| Method | Endpoint | Short description |
| ------ | ----------------------------- | ---------------------------------------- |
| GET | /analytic\_plans | Get Analytic Plans (list of plans) |
| POST | /analytic\_accounts | Create analytic account (single) |
| POST | /analytic\_accounts/multiple | Create analytic account (multiple plans) |
| GET | /analytic\_accounts | Get analytic accounts (list) |
| GET | /analytic\_accounts/ | Get analytic account (detail) |
| PATCH | /analytic\_accounts/ | Update analytic account |
| GET | /analytic\_accounts/multiple/ | Get analytic account (multiple plans) |
| PATCH | /analytic\_accounts/multiple/ | Update analytic account (multiple plans) |
| GET | /analytic\_accounts/multiple | Get analytic accounts (multiple plans) |
***
## Example of an invoice entry using multiple analytical plans in our API
Let’s illustrate by an example:
* The purchase invoice line for "Consulting Services" has a total amount of 1000.
* This cost is analytically split:
* **Projects**: 70% to `project_alpha`, 30% to `project_beta`.
* **Departments**: 40% to `sales`, 35% to `marketing`, 25% to `engineering`.
* This enables detailed cost tracking across both projects and departments, in parallel to the general ledger account `610`.
```jsx theme={null}
{
"invoice_type": "purchase",
"lines": [
{
"description": "Consulting Services",
"amount": 1000,
"account_id": "610", // General ledger expense account
"analytic_distribution": [
{
"analytic_plan": "project",
"analytic_accounts": [
{
"analytic_account": "project_alpha",
"percentage": 70
},
{
"analytic_account": "project_beta",
"percentage": 30
}
]
},
{
"analytic_plan": "department",
"analytic_accounts": [
{
"analytic_account": "sales",
"percentage": 40
},
{
"analytic_account": "marketing",
"percentage": 35
},
{
"analytic_account": "engineering",
"percentage": 25
}
]
}
]
}
]
}
```
# Number restrictions across accounting connectors
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/entries-number-restrictions
Understand and handle number field limitations for accounting entries across connectors when using the Unified API.
## Number restrictions across accounting connectors
When working with the Unified API, it’s important to understand that **each accounting software enforces its own rules and restrictions** regarding the `number` or `invoice_number` fields used in journal entries, financial entries, and accounting entries.
These fields appear in the following endpoints:
* [`invoice_number`](https://docs.chift.eu/api-reference/endpoints/accounting/create-salepurchase-entry-multiple-plans#body-invoice-number) — Sale or purchase entries
* [`number`](https://docs.chift.eu/api-reference/endpoints/accounting/create-a-financial-entry#body-number) — Financial entries
* [`number`](https://docs.chift.eu/api-reference/endpoints/accounting/create-journal-entry#body-number) — Journal entries
***
### Why this matters
When building an integration with the Unified API, you should **always validate or normalize your numbering logic** to ensure it’s compatible across all connectors you plan to support.\
If you send an invalid `number`, the target accounting software may reject the entry.
***
### General recommendations
* **Always provide a number.**\
Some connectors can generate it automatically if not provided, but for cross-connector compatibility, we recommend **always generating it yourself**.
* **Numbers must be unique.**\
The `number` is **not the same** as the technical `id` or the `reference` field:
* `id`: a technical unique identifier (often a UUID)
* `reference`: refers to another document or object (e.g. an invoice or payment reference)
* `number`: the actual accounting number visible in the accounting software
***
### Connector-specific restrictions
| Connector | Restriction |
| --------------------------- | ------------------------------------------------------------------------------------- |
| **ACD** | Max 16 characters - REQUIRED |
| **Sage BOB50** | Max 10 characters, digits only |
| **DATEV** | Max 36 characters. Must contain at least one of: 0–9, A–Z, a–z, \$, &, %, \*, +, -, / |
| **Dynamics 365 BC** | Max 35 characters |
| **Exact Online** | Digits only - int32 |
| **Horus** | Digits only - int32 |
| **MyUnisoft** | Max 15 characters - REQUIRED |
| **Octopus** | Digits only |
| **Sage 100** | Max 17 characters |
| **Sage Génération Experts** | Defined at the journal level, usually max 8 characters |
| **Winbooks** | Digits only - Max 8 characters, |
| **Yuki** | REQUIRED on supplier invoices |
***
### Best practice pattern
To ensure compatibility across all connectors:
* Use **only digits**
* Keep it **under 8–10 characters**
* Ensure **uniqueness per accounting period or journal**
Example pattern:
```text theme={null}
20250001
20250002
20250003
```
# Supporting Spanish Withholding Taxes (Retenciones / IRPF) in Chift
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/es-withholding-taxes
In Spain, certain invoices are subject to **withholding taxes**, known as ***retenciones***.
A withholding tax is a mechanism where the customer withholds part of the invoice amount and pays it directly to the Spanish tax authorities, instead of paying it to the supplier. As a result, the supplier receives a **net amount**, reduced by the withholding.
In practice, Spanish withholding taxes mainly apply under two legal frameworks:
* **IRPF (Impuesto sobre la Renta de las Personas Físicas)**\
This is the most common case and applies to **self-employed professionals and freelancers**.\
The legal name is ***Retención a cuenta del IRPF***.
* **Impuesto sobre Sociedades (Corporate Income Tax)**\
In some cases, withholding taxes also apply to **companies**.\
The legal name is ***Retención a cuenta del Impuesto sobre Sociedades***.
Unlike VAT, withholding taxes are **not line-level taxes**, do not increase the invoice total, and must be handled separately at the accounting and API level. This structural difference is why they require dedicated modeling when booking invoices in accounting systems.
**Why this matters**\
Spanish withholding taxes are **not optional edge cases**. They are a structural part of invoicing in Spain.
By introducing:
* A dedicated `withholding_tax` model
* Clear validation rules
* Explicit tax code separation
Chift ensures:
* Accurate accounting
* Consistent connector behavior
* No hidden connector-specific hacks
If you’re integrating Spanish invoices, this model is the only correct way to handle *retenciones*.
### Key accounting impact of withholding taxes
Withholding tax:
* is calculated at the **invoice header level**, not per line
* Reduces the **total payable amount**
* Does **not appear as VAT on invoice lines**
* Must be reported separately using specific tax codes
Because of this, modeling it as a “classic VAT tax line” leads to incorrect totals and broken accounting logic.
## How withholding taxes are handled in Chift
To properly support Spanish withholding taxes, Chift has a dedicated and explicit model.
### 1. `withholding_tax` attribute on invoices
A`withholding_tax` object is available **in both input and output**, located at the [****invoice header level (see here its definition)****](https://docs.chift.eu/api-reference/endpoints/accounting/create-salepurchase-entry-multiple-plans#body-withholding-tax-one-of-0).
This object is mandatory when a withholding applies and contains **three required attributes**:
* `tax_rate` – the withholding rate to apply (expressed as a negative value in standard usage)
* `tax_code` – a withholding-specific tax code (see section 3 of this article for more details)
* `tax_amount` – the calculated withholding amount ( expressed as a negative value in standard usage)
### 2. Impact on invoice totals and validation
Withholding taxes directly affect invoice totals. Chift enforces strict validation rules to ensure accounting accuracy.
#### Invoice total validation
When submitting an invoice, Chift validates that:
```
Total invoice amount
= Sum of line totals
+ Withholding tax amount (negative)
```
* The withholding tax **reduces the total payable amount**.
* If this rule is not met, the API **returns a validation error**.
#### Header `tax_amount` calculation
The `tax_amount` at the invoice header level is computed as:
```
Header tax_amount
= Sum of line-level tax_amounts
+ Withholding tax amount (negative)
```
This guarantees that:
* VAT reporting remains accurate
* Withholding tax is clearly separated from line-level taxes
* Invoice totals match Spanish accounting expectations
### 3. Dedicated VAT codes for withholding taxes
To avoid ambiguity and invalid bookings, wihtolding tax codes are explicitly marked.
**Key points:**
* Specific attribute: `withholding_tax` on VAT codes (`true` or `false`)
* Marks a tax code as **withholding-specific**
**Chift validation rules:**
* **Withholding tax VAT codes cannot be used on invoice lines**
* Only withholding tax VAT codes can be used in the`withholding_tax`**attribute**
* Standard VAT codes remain line-level only
This separation prevents:
* Mixing VAT and withholding logic
* Incorrect tax reporting
* Connector-specific inconsistencies
## Booking an invoice with withholding tax via Chift
To correctly book a Spanish invoice with withholding tax:
1. **Use standard VAT codes on invoice lines**
* Lines behave exactly like any regular VAT invoice
2. **Declare the withholding at header level**
* Populate the `withholding_tax` object with:
* The correct Spanish withholding tax code
* Rate and calculated amount (negative)
3. Adjust`tax_amount`and `total`**at the invoice header**
* Amounts must respect the validation rules described above
This approach matches how Spanish accounting software and ERPs model *retenciones*, while keeping a clean and predictable Unified API.
Business Central does not natively support withholding taxes as a dedicated accounting concept.\
As a result, withholding taxes are implemented using a specific VAT configuration and accounting mapping.\
The rules below describe how this is modeled in Business Central and exposed through Chift.
* VAT codes with a tax rate of **0** and a calculation type set to **Full VAT** are treated as withholding tax codes.\
These VAT codes are exposed via the API with `withholding_tax = true`.
\
*To add, or edit Withholding taxes you need to go to "VAT posting setup" page (use the search icon). See example here👇*
* VAT codes flagged as withholding:
* **cannot be used on standard invoice lines**
* Can only be used in the `withholding_tax` attribute at invoice header level and are the **only** taxes accepted at header level.
* On **customer invoices and refunds**, the **Sales VAT Account** defined on the VAT code is used as the general ledger account for the withholding tax.
* On **supplier invoices and refunds**, the **Purchase VAT Account** defined on the VAT code is used instead.
* For calculation purposes, Business Central relies on internal invoice lines linked to these VAT codes.\
These lines:
* are used to compute the `withholding_tax` object returned by the API
* are **not included** in the `lines` array of the invoice response
This approach allows withholding taxes to be correctly posted in Business Central while preserving a clean and explicit withholding tax model in the Unified API.\
\
*Example of a invoice booked with Withholding tax in Business central 👇*
# Folders
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/folders
In our Accounting API:
* A **folder** represents **one legal entity**.
* Each folder contains isolated accounting data.
The **multi-folder feature** allows a single connection to access and manage **multiple folders/entities** (this is typically useful for accountants).
**How It Works**
1. **Regular Mode** (Single-Folder)
* Enabled by default — no setup needed.
* A connection is linked to **one** folder (selected during connector activation).
* The `folder_id` query parameter is ignored.
* All API calls operate on this single folder.
2. **Multi-Folder Mode**
* Allows a consumer to manage **multiple legal entities**.
* Each API request **MUST include** a`folder_id`**query parameter** to specify the target folder (except for the GET folders endpoint).
* This ensures full data segregation and prevents cross-entity issues.
**Activation & Configuration**
**To enable multi-folder mode** in a connector (if supported):
1. **Uncheck the first checkbox** — usually labeled *“Let the user specify the folder during activation”*.
**Once unchecked:**
* The connection is automatically granted access to **all folders** the end user has permission to access.
* You fully control **folder switching** from your interface, rather than relying on Chift to enforce folder restrictions.
2. **The second checkbox** (if present) is **optional** and used only by certain connectors (e.g., MyUnisoft) to allow users to **select folders during activation**.
* This selection is \*\*purely UI-level \*\*; it does **not actually restrict access** if multi-folder is enabled.
* However, Chift will **automatically block API calls** to folders that were not selected.
**Important Notes**
* **Not all connectors support multi-folder.** Check the connector's documentation page to confirm compatibility. .
* **Your implementation must support both modes** (single and multi-folder) for full compatibility.
* **Additional dev work is required** to integrate multi-folder support. (See implementation section below.)
**Implementation Guide**
* Retrieve Available Folders
Use `GET /folders` to list all folders linked to the connection. Each one represents a legal entity.
* Map Folder IDs Internally
Create a mapping between each `folder_id` and its corresponding legal entity in your system. When a user selects “Company X,” your API calls should use its `folder_id`.
* One Folder = One Legal Entity
Do **not** merge data between folders or assume shared context. Each folder is fully isolated (chart of accounts, transactions, etc.).
# Invoice amounts validation and corrections
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/invoice-amounts-validation
Understand how invoice amounts are validated and how to handle rounding corrections when using the Unified API.
## Invoice amounts validation and corrections
When creating invoices through the Unified API, several **automatic validations** are applied to ensure data consistency between line items and totals.\
These checks prevent rounding mismatches and enforce coherent invoice structures across all connected accounting tools.
***
### 🔍 1. Total-level validation
At the invoice level, the following rules apply:
* **Line count check:** An invoice must contain **at least one line**.
* **Total amount check:** The total must be **greater than or equal to 0**.
* **Sum consistency:**\
The **sum of all line totals** must match the **invoice total**, within a precision of **4 decimals**.
If there’s a mismatch:
* Difference **> €0.01** → ❌ Rejected
* Difference **≤ €0.01** and **no correction lines provided** → ❌ Rejected
* Difference **≤ €0.01** and **correction lines provided** → ✅ Accepted (corrections applied automatically)
***
### 🔍 2. Line-level validation
Each invoice line is validated individually:
* `untaxed_amount + tax_amount` must equal `total`
* `unit_price × quantity` must equal `untaxed_amount`
* `untaxed_amount × tax_rate` must equal `tax_amount`
***
### ⚙️ 3. About `regroup_lines`
The `regroup_lines` parameter defines whether lines are **grouped** before validation and posting.
| Parameter | Default | Behavior |
| --------------- | ------- | -------------------------------------------------------------------------------------- |
| `regroup_lines` | `true` | Lines are grouped by account, tax code, and analytical distribution before validation. |
**When regrouping is enabled:**
* Lines sharing the same account, tax code, or analytical distribution are **merged**.
* Amounts are **recalculated and rounded to 2 decimals**.
* A new total is computed, and a correction line may be added if needed.
**When regrouping is disabled (`regroup_lines = false`):**
* Each line is validated individually.
* We recommend **disabling regrouping** unless it’s explicitly required by your accounting logic.
👉 **Best practice:**\
Set `regroup_lines = false` to keep full control over your invoice line structure and amounts.
***
### 🧾 4. Invoice corrections
When small rounding differences remain after regrouping or amount calculations, the Unified API can automatically create a **correction line** to ensure that the invoice total matches the sum of all lines exactly.
You activate this feature by filling in the [`invoice_correction` object](https://docs.chift.eu/api-reference/endpoints/accounting/create-salepurchase-entry-multiple-plans#body-invoice-correction).
When this object is provided, the Unified API uses the account numbers and tax codes you define to generate the correction line automatically.
#### Example — `invoice_correction` object
```json theme={null}
"invoice_correction": {
"sale_invoice_correction_tax_code": "FR_0",
"purchase_invoice_correction_tax_code": "FR_0",
"invoice_correction_credit_account_number": "758000",
"invoice_correction_debit_account_number": "658000"
}
```
# Working with Multi-Currency in Accounting Integrations
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/multi-currency
How to handle foreign currency transactions and exchange rates when using the Unified API.
## Understanding Multi-Currency in Accounting
In accounting systems, all transactions are ultimately stored and reported in the **base currency** of the company (most commonly EUR).\
Even when multi-currency is supported, accounting software always maintains both:
* the **original transaction currency**, and
* the **converted base currency equivalent**.
If multi-currency is **not supported**, then only the base currency is recorded — all conversions must be done **before** sending data to the accounting system.
***
## How Chift Handles Multi-Currency
With the Unified API, you don’t need to worry about whether the underlying connector supports multi-currency — **Chift automatically handles both scenarios**.
The key is to always check whether your transaction currency differs from the folder’s base currency.
***
### 1. Check the base currency of the folder
Each accounting folder has a `main_currency` field available in the [Get Folder endpoint](https://docs.chift.eu/api-reference/endpoints/accounting/get-folders#response-main-currency).
If your transaction is in another currency (e.g. `USD` while the folder base currency is `EUR`), it is considered a **foreign currency transaction**.
***
### 2. Provide currency and exchange rate fields
When posting an invoice, journal entry, or financial entry in a foreign currency:
* **Set the `currency` field** in your payload (the currency of the transaction).
* **Set the `currency_exchange_rate` field** to specify the exchange rate between the base and foreign currency.
If the connected accounting software supports multi-currency:
* The transaction is booked in the **foreign currency**, and
* The accounting software handles conversion and FX gain/loss tracking automatically.
If the accounting software does **not** support multi-currency:
* Chift converts the transaction amount to the **base currency** using the provided `currency_exchange_rate`.
* The transaction is then stored in base currency only.
***
### 3. Forcing an exchange rate (advanced)
By default, when a connector supports multi-currency, Chift will use the accounting software’s **default exchange rate** for the selected date and currency pair.
However, you can **override this behavior** by using the [`force_currency_exchange`](https://docs.chift.eu/api-reference/endpoints/accounting/create-journal-entry#parameter-force-currency-exchange) query parameter (available on journal entry creation).
> 💡 **Recommendation:**\
> Use this parameter whenever your system is the source of truth for exchange rates (i.e., you define the rate at emission time).
***
### ✅ Best Practices
* Always compare your transaction currency with the folder’s `main_currency`.
* Always include both `currency` and `currency_exchange_rate` — even when not strictly required.\
→ This ensures **consistent behavior** across all connectors.
* Use `force_currency_exchange=true` when you need full control over the applied rate.
* Keep your exchange rates rounded to **6 decimal places** for accuracy and stability.
***
# Handling Reverse VAT (Reverse Charge) in Accounting
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/reversed-vat
How to manage reverse VAT invoices with Chift’s Unified API, focusing on purchase invoices.
## Reverse VAT Overview
The **Reverse VAT** (reverse charge) shifts **VAT reporting** from the **seller** to the **buyer**.\
Common scenarios:
* **Cross-border B2B sales within the EU**
* **Domestic transactions** for specific goods/services
* **Imported services** from non-EU suppliers
Under reverse charge:
* Seller **does not charge VAT**
* Buyer **self-assesses VAT**, creating both **input** and **output VAT entries**
* Net VAT to pay is usually **0**, but declaration is ensured
***
## 1. Reverse VAT with `create invoice`
When using the invoice endpoints, Chift handles the reverse VAT accounting automatically.
### 1.1 Purchase invoices (`supplier_invoice`)
For invoices subject to reverse VAT:
* **No VAT is charged** on the invoice (`tax_amount = 0`)
* Assign the appropriate **reverse VAT tax code** with `reversed = true`
* `tax_rate` is the applicable VAT rate (used for self-assessment)
Chift’s API will **automatically generate two VAT ledger entries**:
* **Output VAT** (as if the buyer had issued the invoice)
* **Input VAT** (as if the buyer had paid it)
These entries **offset each other**, so no VAT is paid, but both are **properly declared** in the VAT return.
#### Example — Purchase Invoice
```json theme={null}
{
"invoice_type": "supplier_invoice",
"invoice_number": "SUP-INV-778",
"currency": "EUR",
"untaxed_amount": 2000,
"tax_amount": 0,
"total": 2000,
"reference": "Consulting services from UK supplier",
"invoice_date": "2025-07-05",
"due_date": "2025-08-05",
"partner_id": "supp-789",
"journal_id": "abcpurchjourid",
"lines": [
{
"line_number": 1,
"quantity": 1,
"untaxed_amount": 2000,
"tax_rate": 21,
"tax_amount": 0,
"total": 2000,
"account_number": "604000",
"tax_code": "REV-IMPORT-SERVICES",
"description": "Consulting service - Reverse VAT applicable"
}
]
}
```
### 1.2 Seller Side (Sales Invoice)
For sales invoices under reverse charge, the treatment is simpler:
* **Do not charge VAT** (`tax_amount = 0`, `tax_rate = 0`)
* Use the appropriate **0% tax code corresponding to the reverse-charge scenario** (not necessarily marked `reversed`)
* **Total = net amount**, no VAT included
### Example — Sales Invoice (minimal)
```json theme={null}
{
"invoice_type": "customer_invoice",
"invoice_number": "INV-2025-001",
"untaxed_amount": 1000,
"tax_amount": 0,
"total": 1000,
"lines": [
{
"line_number": 1,
"quantity": 1,
"untaxed_amount": 1000,
"tax_rate": 0,
"tax_amount": 0,
"total": 1000,
"tax_code": "REV-EU-B2B"
}
]
}
```
***
## 2. Reverse VAT with `create journal entry`
Journal entries work differently from invoices.
With invoices, Chift derives accounting entries automatically.
With journal entries, you are directly providing the accounting data, so reverse VAT must be explicitly described.
***
## 2.1 Purchase-side reverse VAT
For purchase reverse VAT:
* `tax_info` must be attached to the expense line
* `tax_amount` should be calculated as:\
**amount excl. tax × VAT rate linked to the tax code** and **must not be zero**
* `vat_account` should typically be the deductible VAT account returned by the **Get VAT Codes** endpoint
* `reversed_vat_account` should typically be the payable VAT account returned by the **Get VAT Codes** endpoint
### Example
```json theme={null}
{
"reference": "Reverse VAT purchase",
"journal_id": "HA",
"currency": "EUR",
"date": "2026-05-05",
"items": [
{
"account_type": "supplier_account",
"account": "SUP21",
"credit": 100
},
{
"account_type": "general_account",
"account": "601000",
"debit": 100,
"tax_info": {
"tax_code": "445621$445200$021",
"tax_amount": 21,
"vat_account": "445621",
"reversed_vat_account": "445200"
}
}
]
}
```
This is different from `create invoice`.
Even though the supplier invoice itself contains no charged VAT, the journal entry must explicitly provide the VAT amount so Chift can generate the reverse VAT postings.
***
## 2.2 Sales-side reverse VAT
No specific reverse VAT handling is required.
Create the journal entry as a normal VAT-exempt sale.
***
Some accounting software does not expose VAT codes through their API — or does not use them at all. In these cases, Chift reconstructs VAT codes artificially from the VAT ledger accounts (accounts starting with `445`) in order to keep the data model consistent across all connectors. The behavior is identical for the API consumer regardless of the underlying system.
There are two scenarios:
* **The accounting software supports VAT codes** (and exposes them via API) → no special handling required.
* **The accounting software does not have VAT codes** (or they are not accessible via API) → Chift infers the VAT code from the `445x` ledger accounts present on the transaction, using the following logic:
**Sales**
| VAT Type | Ledger Account(s) |
| :------- | :----------------- |
| Standard | `44571` or `44572` |
**Purchases**
| VAT Type | Ledger Account(s) |
| :--------------------------------------------- | :--------------------------------------------------------------------- |
| Standard | `44566` and `445664` |
| Fixed assets (*Immo*) | `44562` |
| Intracom – Reverse charge | `445662` or `445665`**+**`4452` |
| Intracom fixed assets – Reverse charge | `445621` or `445622`**+**`4452` |
| Extracom – Reverse charge | `4456698`**+**`445798`, or `445661`**+**`4451`, or `445663`**+**`4453` |
| Domestic reverse charge (*Autoliquidation FR*) | `4456699`**+**`445799`, or `445666`**+**`445716` |
For reverse charge scenarios (Intracom, Extracom, Autoliquidation), the detection relies on a **combination** of two ledger accounts being present together on the transaction — one representing the output VAT side and one the input VAT side.
### ✅ Summary
| Role | Tax Treatment | Chift API Handling |
| :-------------------------------- | :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------- |
| **Buyer —**`create invoice` | Self-assess VAT | `tax_amount = 0`, reversed tax code required → API generates offsetting VAT entries |
| **Buyer —**`create journal entry` | Self-assess VAT | Through `tax_info`: `tax_amount = amount excl. VAT × rate`, reversed tax code required, `vat_account` + `reversed_vat_account` required |
| **Seller** | VAT exempt | `tax_amount = 0`, `tax_rate = 0`, use appropriate 0% tax code |
# Booking VAT on Journal Entry Lines with tax_info
Source: https://docs.chift.eu/developer-guides/api-guides/accounting/vat-on-journal-entry-lines
The `tax_info` object provides a **unified, connector-agnostic way** to record tax details directly on journal entry lines. Using `tax_info` eliminates the need for separate VAT lines and ensures consistent behavior across all accounting systems.
It also supports **“VAT per line”** where available. “VAT per line” refers to recording VAT directly on each journal entry line instead of as a separate line. This approach aligns with the system’s expected handling of VAT and enables users to fully leverage built-in VAT reporting and declaration features.
The object presented here allows you to **book VAT in a single, consistent way**. On our side, we take care of posting the VAT according to the “VAT per line” approach, or alternatively generating separate VAT lines when needed, using the information provided in the object.
## `tax_info` Structure
Each journal entry line can include `tax_info`:
```text theme={null}
"tax_info": {
"tax_code": "0",
"description": null,
"tax_amount": 0,
"vat_account": null,
"reversed_vat_account": null
}
```
### Field Definitions
| Field | Required | Description |
| :--------------------- | :------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| tax\_code | Yes | Identifier of the tax rate. Used to map the correct VAT rate for the line. |
| description | No | Optional text describing the tax. Useful for reports or bookkeeping notes. |
| tax\_amount | Yes | The amount of VAT for this line. Always positive, **sign follows the line** (debit/credit). |
| vat\_account | Yes | Ledger account for VAT. Always required for a unified approach. Some systems use only the VAT account, others only the tax code, and some require both. **If not required by target software**, the value will be ignored. |
| reversed\_vat\_account | No | Optional, account to record reversed VAT when applicable |
**VAT account vs tax code**
For consistency across connectors, always provide both `vat_account` and `tax_code`.\
Different accounting systems rely on different mechanisms: some use only the VAT account, some only the tax code, and others require both. Supplying both ensures the most robust behavior and allows the platform to correctly handle features such as VAT per line.
### Key Takeaways
* **Attach tax\_info to each VAT-relevant line**\
Include the tax details directly in the line item of your journal entry payload.
* **Provide both VAT account and tax code**\
Always supply both fields for cross-connector consistency. Some systems use only the VAT account, others only the tax code, and some require both. **If a system doesn’t need one, the value is ignored.**
* **Handle reversed VAT if needed**\
Include `reversed_vat_account` when reversed VAT applies.
* **Fallback logic**\
If a connector does not fully support `tax_info`, the legacy `tax_code` mechanism is used automatically.
* **Never create separate VAT lines if using** `tax_info`\
`tax_info` ensures the tax is recorded directly on the line.
***
## Example
```json theme={null}
{
"items": [
{
"description": "Consulting services",
"account_type": "general_account",
"amount": 1000,
"debit_account": "7010",
"credit_account": null,
"tax_info": {
"tax_code": "VAT20",
"description": "20% VAT",
"tax_amount": 200,
"vat_account": "44571",
"reversed_vat_account": null
}
}
]
}
```
# Locations
Source: https://docs.chift.eu/developer-guides/api-guides/pos/locations
### Locations
Depending on the connector, one POS connection can be linked to one or multiple locations.
Chift gives you the possibility to manage locations in your software or let Chift manage them for you.
We typically recommend letting Chift manage locations for you.
Different possibilities:
1. The connector can be linked to multiple locations:
* Chift manages the locations. One consumer is linked to one connection which is linked to one location.
Whenever you use our Unified API, you don't have to pass the location\_id query parameter, as we filter data for you.
* Chift does not manage the locations. One consumer is linked to one connection which might be linked to multiple locations.
Whenever you use our Unified API, you have to pass the location\_id as query parameter, otherwise we return data for all locations.
2. The connector can only be linked to one location:
In that case, you have the possibility to pass the location\_id as query parameter but it's not mandatory.
This implementation gives you the freedom to choose how to use Chift depending on your situation.
How to let Chift manage locations for you?
Activate the post-connection when you enable a connector:
This does not impact billing as billing is done at location level.
# Authenticate with Chift API
Source: https://docs.chift.eu/developer-guides/create-api-key
Chift’s API is protected by a **JWT Bearer Token**, which is required for all API requests.
To obtain this token, you first need an **API Key** for your account. The API Key provides the **Account ID**, **Client ID**, and **Client Secret** needed to generate your Bearer token.
Once you have your token, you can use it to make authenticated requests linked to your consumers.
> ℹ️ In short: **API Key → Bearer Token → API Requests**.\
> The API Key itself cannot be used directly to call APIs; it is only used to generate the Bearer token.
### **1. Create an API Key**
* Go to [**API Keys**](https://chift.app/api-keys)
* Click **“Add API Key”**
* Copy your **Account ID**, **Client ID**, and **Client Secret** immediately — you’ll need them next.
> 🔐 Each API key is environment-specific:
>
> * A **sandbox key** → sandbox environment
> * A **production key** → production environment
>
> Start creating in **sandbox**; when going live, create a new key in **production**.
You can also optionally limit the scopes of an API key to one or more consumers. See [Managing API Keys](/back-office/getting-started/create-api-key#consumer-specific-api-keys) for details.
***
### **2. Get a Bearer Token**
Use the [**Create a Token**](https://docs.chift.eu/api-reference/endpoints/general/get-access-token) endpoint to obtain your access token:
```bash theme={null}
POST /token
{
"clientId": "your_client_id",
"clientSecret": "your_client_secret",
"accountId": "your_account_id"
}
```
> ⚠️ This is the only endpoint that doesn’t require authentication.\
> The token you receive is tied to the same environment as your API key.
***
### **3. Use the Token for All Other API Requests**
Add the token to every request header:
```bash theme={null}
Authorization: BEARER {accessToken}
```
> ⚠️ All other Chift API calls require this token.\
> Requests without it will be rejected.
***
✅ **In summary**
| Step | Description | Environment |
| ------------------------ | ----------------------------------------------- | ------------------------------- |
| 1. Create API Key | Defines whether you’re in sandbox or production | Determined by the key |
| 2. Generate Bearer Token | Authenticates your session | Linked to the key’s environment |
| 3. Use Token | Required for all API calls | Same environment |
# Errors
Source: https://docs.chift.eu/developer-guides/errors
## Introduction
This document describes how you can expect chift errors and list as well the errors that you can expect from our different APIs.
### Chift Error
A chift error is always composed of the following elements:
* status: "error"
* message: "message explaining the error"
* error\_code: "unique error code to describe the error"
* detail: "additional details explaining the error" (optional)
The errors are always returned with an HTTP error code (4XX, 5XX). Note that the combination of the message and the error\_code is not always unique.
Example of an error message:
```json theme={null}
{
"message": "The resource GET - /order is not supported by Cashpad",
"status": "error",
"error_code": "ERROR_RESOURCE_NOT_SUPPORTED"
}
```
### Specific errors
Even if it's the goal to only use generic errors whenever possible, there are use case where the raised errors are specific to the connectors. In such case, those errors are described in the related connector documentation.
### List of errors
| Error code | HTTP Status | Error Description | Used by APIs | Resoltution |
| ------------------------------------------------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| ERROR\_CHIFT\_AUTHENTICATION\_ERROR | 401 | Error with the provided Chift token or combination of clientId,clientSecret en accountId | All | |
| ERROR\_CONNECTOR\_AUTHENTICATION | 401 | Error related to the authentication to the connector (wrong credentials, ...) | All | Please check the credentials used in the connector configuration |
| ERROR\_CONNECTOR\_CONFIGURATION | 400 | Error related to the configuration of the connector not related to Chift (e.g. no license, connector not active, needs to be restarted, ...) | All | |
| ERROR\_CONFIGURATION\_SYNC | 400 | Error in the configuration of the sync | All | The sync is not correctly configured for that consumer. Make sure that it was correctly configured and activated. |
| ERROR\_NO\_ACTIVE\_CONNECTION | 400 | No active connection/integration for this API are configured | All | |
| ERROR\_CONFIGURATION\_CONNECTION | 400 | Error related to the configuration of the connection (e.g. more than one connection is active, ...) | All | |
| ERROR\_DATA\_VALIDATION | 400 | Impossible to retrieve data due to a data validation issue. Contact support for more details | All | |
| ERROR\_API\_RESOURCE\_NOT\_FOUND | 400 | The route that was called does not exist. Make sure that you use the routes as specified in the documentation. | All | |
| ERROR\_WEBHOOK\_NOT\_SUPPORTED | 405 | This webhook type is not supported for this integration | All | |
| ERROR\_UNKNOWN | 400 | An unknown error occurred during the call. Please contact Chift team. | All | |
| ERROR\_INVALID\_BODY | 422 | One of the input field of the body is invalid | All | |
| ERROR\_INVALID\_QUERY\_PARAMETER | 422 | One of the query parameters is invalid | All | |
| ERROR\_INVALID\_PATH\_PARAMETER | 422 | One of the path parameters is invalid | All | |
| ERROR\_INVALID\_RESPONSE | 422 | The response could not be built. Our support should be contacted. | All | |
| ERROR\_RESOURCE\_NOT\_SUPPORTED | 405 | The requested resource is not supported by this connector. | All | |
| ERROR\_TECHNICAL\_MAPPING | 400 | There is a technical error while processing the request. We are already alerted and working on this. Please contact support if needed. | All | There is a technical error. Please contact support if needed. |
| ERROR\_INTEGRATION\_INVALID | 400 | The specified integration is invalid or could not be found | Connections | |
| ERROR\_CONNECTION\_INFO\_EMPTY | 400 | A field in the connection is not filled in. | All | |
| ERROR\_ORDER\_NOT\_FOUND | 404 | The given order could not be retrieved | POS | |
| ERROR\_CUSTOMER\_NOT\_FOUND | 404 | The given customer could not be retrieved | POS | |
| ERROR\_LOCATION\_NOT\_FOUND | 404 | The given location could not be found | POS | |
| ERROR\_CONFIGURATION\_LOCALAGENT | 502 | Impossible to connect to the specified local agent (e.g. not configured, ...) | All | |
| ERROR\_CONNECTOR\_MAINTENANCE | 503 | Impossible to connect to the target application | All | The target application is temporarily unable to handle a request. Please retry later. |
| ERROR\_GATEWAY\_TIMEOUT | 504 | Impossible to connect to a remote application (for local agent) | All | |
| ERROR\_BACKEND\_FORBIDDEN | 403 | Impossible to retrieve data due to a permission issue | All | Please authorize the access to the connector again |
| REQUEST\_ALREADY\_PROCESSED | 409 | Request with same client request id was already successfully processed | All | |
| REQUEST\_IN\_PROCESS | 409 | Request with same client request id is currently processed | All | |
| ERROR\_RATE\_LIMIT | 429 | The rate limit has been reached for this connector. Please try again later. | All | |
| ERROR\_BACKEND\_NOT\_FOUND | 504 | Impossible to connect to the specified backend (url, host, unique identifier,... might be incorrect or the backend is down) | All | |
| ERROR\_BACKEND\_FORBIDDEN | 403 | Impossible to retrieve data due to a permission issue | All | |
| ERROR\_UNEXPECTED | 400 | Unexpected error while trying to perform the request. This is often linked to some data being uncorrectly managed. We are notified and are working proactively on those errors. | All | |
| ERROR\_INTERNAL\_ERROR | 400 | Internal server error. This is often linked to a technical error. We are notified and are working proactively on those errors. | All | |
| ERROR\_CONNECTOR\_MISSING\_EXTENSION | 400 | The connector requires an extension. | All | The connector is missing a required extension (please install or update) |
| ERROR\_INVALID\_PERIOD | 400 | The given period is not valid (based on date\_from & date\_to parameters) | POS | |
| ERROR\_INVALID\_HOST | 400 | The given host is not valid and the backend cannot be reached | POS | |
| ERROR\_FOLDER\_NOT\_FOUND | 404 | Folder not found | Accounting | The requested folder was not selected during the connection process or does not exist in the accounting system |
| ERROR\_INVALID\_VAT\_FORMAT | 422 | The VAT number doesn't seem to be correct. Please remove dots and whitespaces. The expected format is the following: BE0784930037 | Accounting | |
| ERROR\_INVALID\_LANGUAGE\_FORMAT | 422 | The language format is not correct. Please use the ISO 639-1 codes. | Accounting | |
| ERROR\_INVALID\_CURRENCY\_FORMAT | 422 | The currency format is not correct. Please use the ISO 4217 codes. | Accounting | |
| ERROR\_INVALID\_COUNTRY\_FORMAT | 422 | The country format is not correct. Please use the ISO 3166-1 codes. | Accounting | |
| ERROR\_INVALID\_FINANCIAL\_PERIOD\_FORMAT | 422 | The forced financial period must be 6 numbers (e.g. 02 for february and 2022 => 022022). | Accounting | |
| ERROR\_BOOKS\_FROZEN | 422 | The books are frozen in the accounting tool. | Accounting | |
| ERROR\_NO\_INVOICE\_LINE | 400 | The invoice must contain at least one invoice line. | Accounting | |
| ERROR\_ZERO\_INVOICE | 400 | You cannot create an invoice with an untaxed amount of 0. | Accounting | |
| ERROR\_ZERO\_LINE | 400 | You cannot create entries/invoices with a line equal to zero. | Accounting | |
| ERROR\_NO\_OPERATION\_LINE | 400 | The miscellaneous operation must contain at least one line. | Accounting | |
| ERROR\_INVALID\_OPERATION\_LINE\_TYPE | 400 | A line of type 'customer\_account' or 'supplier\_account' must have a 'partner\_id' filled in. | Accounting | |
| ERROR\_OPERATION\_NOT\_BALANCED | 400 | The operation is not balanced. The sum of the lines must be zero. | Accounting | |
| ERROR\_NOT\_ENOUGH\_MATCHING\_ENTRIES | 400 | Matching is only possible with at least 2 entries. | Accounting | |
| ERROR\_ANALYTIC\_ACCOUNTING\_NOT\_ACTIVE | 405 | Analytic accounting is not active on this connection. | Accounting | |
| ERROR\_ANALYTIC\_ACCOUNTING\_PLAN\_NOT\_CONFIGURED | 405 | A default analytic plan must be configured to use this endpoint. | Accounting | |
| ERROR\_ANALYTIC\_ACCOUNT\_ALREADY\_EXISTS | 400 | An analytic account already exists with the same code in the accounting system. | Accounting | |
| ERROR\_ANALYTIC\_ACCOUNT\_NOT\_FOUND | 404 | The analytic account doesn't exist in the accounting system. | Accounting | |
| ERROR\_ANALYTIC\_PLAN\_NOT\_FOUND | 404 | The analytic plan doesn't exist in the accounting system. | Accounting | |
| ERROR\_INVALID\_ANALYTIC\_DISTRIBUTION | 400 | There is an error with the analytic distribution. This error can come from an anlytic plan or account being more than once in the analytic distribution; from a percentage not being between 1 and 100 or from an analytic plan not having a 100% coverage. | Accounting | |
| ERROR\_INVALID\_ANALYTIC\_DISTRIBUTION\_ACCOUNTS | 400 | Each analytic plan in the analytic distribution of an invoice line must contain at least one analytic account. | Accounting | |
| ERROR\_INVALID\_ANALYTIC\_DISTRIBUTION\_ACCOUNTS\_PERCENTAGE | 400 | Analytic accounts of each analytic plan in the analytic distribution of an invoice line must cover 100% of the amount of the invoice line. | Accounting | |
| ERROR\_INVOICE\_AMOUNTS\_DO\_NOT\_MATCH | 400 | The amounts of the invoice are not correct. | Accounting | |
| ERROR\_LINE\_AMOUNTS\_DO\_NOT\_MATCH | 400 | The amounts in one invoice line are not correct. | Accounting | Please make sure that tax amount and tax rate are correct. If not issue is detected, please to contact Chift. |
| ERROR\_TAX\_RATE\_NOT\_CORRESPONDING | 400 | The tax rate doesn't match the tax rate linked to the tax code in the accounting system. | Accounting | Please modify the mapping of that tax rate with a vat code of the same rate |
| ERROR\_MULTIPLE\_GL\_ACCOUNTS | 400 | The entries have different receivable/payable accounts. | Accounting | |
| ERROR\_MULTIPLE\_PARTNER\_ACCOUNTS | 400 | A sale/purchase entry cannot be linked to multiple partner accounts. | Accounting | |
| ERROR\_ACCOUNT\_NUMBER\_NOT\_CONFIGURED | 400 | The account number is not configured to be used in entries. It cannot be imputed. | Accounting | |
| ERROR\_ENTRY\_HAS\_INVALID\_STATUS | 400 | The entry doesn't have the correct status to be matched. | Accounting | |
| ERROR\_ENTRY\_HAS\_NO\_ACCOUNT\_RECEIVABLE\_PAYABLE | 400 | The entry doesn't have a receivable/payable account. | Accounting | |
| ERROR\_ENTRY\_NOT\_LINKED\_TO\_PARTNER | 400 | The entry is not linked to partner mentionnend in the matching body. | Accounting | |
| ERROR\_ENTRY\_ALREADY\_RECONCILED | 400 | The entry is already reconciled in the accounting system. | Accounting | |
| ERROR\_ENTRY\_ALREADY\_PARTIALLY\_MATCHED | 400 | An entry is already partially matched with another entry in the accounting system. | Accounting | |
| ERROR\_JOURNAL\_NOT\_GOOD\_SCOPE | 400 | The journal cannot be used for this scope. | Accounting | The provided journal is not valid for the scope of the invoice. Please adapt it in your input or in your mapping (if using a sync) |
| ERROR\_JOURNAL\_NOT\_CONFIGURED | 400 | The journal is not configured for a used functionnality. | Accounting | |
| ERROR\_TAX\_CODE\_NOT\_GOOD\_SCOPE | 400 | The tax code cannot be used for this type of invoices. | Accounting | Please adapt the tax code or update the mapping (if using a sync) |
| ERROR\_MULTIPLE\_JOURNALS | 404 | Multiple journals were found. Please indicate the wanted journal in the request. | Accounting | |
| ERROR\_JOURNAL\_NOT\_FOUND\_FOR\_SCOPE | 404 | Please indicate the wanted journal in the request. No journal has been found for this scope. | Accounting | |
| ERROR\_INVOICE\_NUMBER\_ALREADY\_USED | 409 | The invoice number is already used in the accounting system. | Accounting | |
| ERROR\_INVOICE\_ALREADY\_EXISTS | 409 | The invoice already exists in the accounting system. | Accounting | |
| ERROR\_ENTRY\_NUMBER\_ALREADY\_USED | 409 | The entry number already used in the accounting system. | Accounting | |
| ERROR\_PDF\_NOT\_APPLICABLE\_TO\_DRAFT\_INVOICE | 400 | You cannot upload a PDF when creating a draft invoice. | Accounting | |
| ERROR\_TAX\_CODE\_NOT\_FOUND | 404 | The tax code doesn't exist in the accounting system. | Accounting | Please setup the tax code in the accounting system or adapt the tax code in the mapping (if using a sync) |
| ERROR\_TAX\_CODE\_NOT\_CONFIGURED | 400 | The tax code is not configured to be used with this type of invoice. | Accounting | Please set up a payable account on the tax code in the accounting system |
| ERROR\_ACCOUNT\_NUMBER\_NOT\_FOUND | 404 | The account number doesn't exist in the accounting system. | Accounting | Please create the ledger account in the accounting system |
| ERROR\_OPERATION\_NOT\_FOUND | 404 | The operation doesn't exist in the accounting system. | Accounting | |
| ERROR\_OPERATION\_NUMBER\_ALREADY\_USED | 409 | The operation number is already used in the accounting system. | Accounting | |
| ERROR\_WRONG\_ACCOUNT\_TYPE | 400 | The account cannot be used for this type of line of a miscellaneous operation. | Accounting | |
| ERROR\_BOOKYEAR\_NOT\_FOUND | 400 | The accounting system is not set up for this date. | Accounting | Create a fiscal year in the accounting system including the date of the invoice or verify why the fiscal year is not set up |
| ERROR\_PERIOD\_CLOSED | 400 | The accounting period is closed in the accounting system. | Accounting | |
| ERROR\_JOURNAL\_LOCKED | 400 | The journal is locked in the accounting system. | Accounting | Please unlock the journal in the accounting system |
| ERROR\_INVALID\_FIELD\_FORMAT\_BANK\_ACCOUNT | 422 | The bank account/iban is not valid. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_ANALYTIC\_ACCOUNT | 422 | The code of the analytic account doesn't follow the format of the corresponding accounting system. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_ANALYTIC\_PLAN | 422 | The format of the field 'analytic\_plan' doesn't follow the format of the corresponding accounting system. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_JOURNAL\_ID | 422 | The format of the field 'journal\_id' doesn't follow the format of the corresponding accounting system. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_TAX\_CODE | 422 | The format of the field 'tax\_code' doesn't follow the format of the corresponding accounting system. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_ENTRIES | 422 | The format of the IDs entries doesn't follow the format of the corresponding accounting system. | Accounting | |
| ERROR\_JOURNAL\_ALREADY\_OPEN | 400 | The entry couldn't be created in the accounting system. The journal is already open. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_ID | 422 | The format of the ID doesn't follow the format of the corresponding accounting system. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_PARTNER\_ID | 422 | The format of the field 'partner\_id' doesn't seem to be correct for the corresponding accounting system. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_COMPANY\_ID | 422 | The format of the field 'company\_id' doesn't seem to be correct for the corresponding accounting system. | Accounting | |
| ERROR\_MISSING\_FIRST\_NAME | 400 | The field 'first\_name' must be filled in when the client/supplier is an individual. | Accounting | |
| ERROR\_MISSING\_LAST\_NAME | 400 | The field 'last\_name' must be filled in when the client/supplier is an individual. | Accounting | |
| ERROR\_MISSING\_INVOICE\_NUMBER | 400 | The target connector is expecting an invoice number. | Accounting | The field invoice number cannot be empty |
| ERROR\_PARTNER\_ALREADY\_EXISTS | 400 | A client/supplier already exists with the same code/id in the accounting system. | Accounting | |
| ERROR\_JOURNAL\_NOT\_FOUND | 404 | The journal doesn't exist in the accounting system. | Accounting | |
| ERROR\_PARTNER\_NOT\_FOUND | 404 | The client/supplier doesn't exist in the accounting system. | Accounting | Make sure that the client/supplier is correctly created in the accounting system |
| ERROR\_ENTRY\_NOT\_FOUND | 404 | The entry doesn't exist in the accounting system. | Accounting | |
| ERROR\_DUPLICATE\_ENTRIES | 400 | Entries cannot contain duplicates. | Accounting | |
| ERROR\_INVOICE\_NOT\_FOUND | 404 | The invoice doesn't exist in the accounting system. | Accounting | |
| ERROR\_MISCELLANEOUS\_OPERATION\_NOT\_FOUND | 404 | The miscellaneous operation doesn't exist in the accounting system. | Accounting | |
| ERROR\_LANGUAGE\_NOT\_FOUND | 404 | The specified language doesn't exist or is not active in the accounting system. | Accounting | |
| ERROR\_CURRENCY\_NOT\_FOUND | 404 | The currency doesn't exist or is not active in the accounting system. | Accounting | |
| ERROR\_NEGATIVE\_INVOICE | 400 | An invoice must be positive. The invoice type determines the sign of the invoice. | Accounting | |
| ERROR\_ACCOUNT\_NUMBER\_NOT\_ACTIVE | 400 | An account number used in an invoice line is not active. | Accounting | Activate the ledger account in the accounting system |
| ERROR\_PARTNER\_NOT\_ACTIVE | 400 | The used client/supplier is not active. | Accounting | |
| ERROR\_ACCOUNT\_NUMBER\_NOT\_GOOD\_SCOPE | 400 | The account number cannot be used in this scope. | Accounting | |
| ERROR\_INVALID\_INVOICE\_DATE | 400 | The period containing the invoice date is already locked. | Accounting | |
| ERROR\_WRONG\_ENTRY\_TYPE | 400 | You can only create entries in a sale or purchase journal. | Accounting | |
| ERROR\_MAX\_DIFFERENCE\_MONTHS | 400 | You can retrieve maximum 3 months of data at once. The difference between 'date\_from' and 'date\_to' is at maximum 3 months. | Accounting | |
| ERROR\_ATTACHMENT\_ALREADY\_EXISTS | 400 | An attachment already exists for this invoice. | Accounting | |
| ERROR\_INVALID\_BASE64\_STRING | 400 | The document is not a valid base64 string representing a PDF. | Accounting | |
| ERROR\_INVALID\_DUE\_DATE | 422 | The due date must be after the invoice date. | Accounting | |
| ERROR\_CHARGE\_PRODUCT\_ACCOUNT\_MISSING | 422 | Please provide at least one charge/product account. | Accounting | |
| ERROR\_COLLECTIVE\_ACCOUNT\_MISSING | 422 | Please provide a client/supplier collective account. | Accounting | |
| ERROR\_PARTNER\_ACCOUNT\_MISSING | 422 | Please provide a client/supplier account in the partner\_id field. | Accounting | |
| ERROR\_ANALYTIC\_ACCOUNT\_ARCHIVED | 400 | The analytic account is archived. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_INVOICE\_NUMBER | 422 | The format of the invoice number doesn't follow the format of the corresponding accounting system (e.g. too long) | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_OPERATION\_NUMBER | 422 | The format of the operation number doesn't follow the format of the corresponding accounting system (e.g. too long) | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_NUMBER | 422 | The format of the number doesn't follow the format of the corresponding accounting system (e.g. too long) | Accounting | |
| ERROR\_ANALYTIC\_ACCOUNT\_NUMBER\_PLAN\_NOT\_ACTIVE | 400 | The account number cannot be used (is not configured) with an analytic account of the specified analytic plan | Accounting | |
| ERROR\_LEDGER\_ACCOUNT\_ALREADY\_EXISTS | 400 | A ledger account already exists with the same number in the accounting system. | Accounting | |
| ERROR\_NUMBER\_ALREADY\_USED | 400 | The number of the invoice is already used in the accounting system. | Accounting | |
| ERROR\_COUNTERPART\_ACCOUNT\_NUMBER\_NOT\_GOOD\_SCOPE | 400 | The counterpart account number cannot be used in this scope. | Accounting | |
| ERROR\_COUNTERPART\_ACCOUNT\_NOT\_FOUND | 400 | The counterpart account doesn't exist in the accounting system. | Accounting | |
| ERROR\_COLLECTIVE\_ACCOUNT\_NOT\_CONFIGURED | 400 | The collective account is not set up for customer/supplier. | Accounting | |
| ERROR\_JOURNAL\_ALREADY\_EXISTS | 400 | A journal already exists with the same code in the accounting system. | Accounting | |
| ERROR\_COUNTERPART\_ACCOUNT\_ALREADY\_USED | 400 | The counterpart account is already linked to another journal. | Accounting | |
| ERROR\_LEDGER\_ACCOUNT\_ALREADY\_EXISTS | 400 | A ledger account already exists with the same number in the accounting system. | Accounting | |
| ERROR\_COUNTERPART\_ACCOUNT\_NOT\_ALLOWED | 400 | You can only specify a counterpart account on Bank and Cash journals. | Accounting | |
| ERROR\_MISSING\_COUNTERPART\_ACCOUNT | 400 | You must specify a counterpart account on Bank and Cash journals. | Accounting | |
| ERROR\_PERIOD\_BLOCKED | 400 | The accounting period is currently blocked due a revision. | Accounting | |
| ERROR\_PDF\_MUST\_BE\_UNIQUE | 400 | The pdf already exists in the accounting system. | Accounting | The invoice that you are trying to create already exists in the target tool. It must be unique. |
| ERROR\_ENTRY\_ITEMS | 400 | You need to push at least 2 entry items. | Accounting | |
| ERROR\_BANK\_ACCOUNT\_NUMBER\_ALREADY\_EXISTS | 400 | The bank account number already exists in the accounting system. | Accounting | |
| ERROR\_INVALID\_FIELD\_FORMAT\_STATEMENT\_NUMBER | 422 | The statement id/number format is not accepted by the accounting software. | Accounting | |
| ERROR\_CUSTOMER\_NOT\_FOUND | 404 | The customer doesn't exist. | eCommerce | |
| ERROR\_PRODUCT\_NOT\_FOUND | 404 | The product doesn't exist. | eCommerce | |
| ERROR\_VARIANT\_NOT\_FOUND | 404 | The variant doesn't exist. | eCommerce | |
| ERROR\_LOCATION\_NOT\_FOUND | 404 | The location doesn't exist. | eCommerce | |
| ERROR\_ORDER\_NOT\_FOUND | 404 | The order doesn't exist. | eCommerce | |
| ERROR\_SHOPIFY\_CUSTOMER\_DATA\_ACCESS | 403 | The Shopify app is not configured to have access to customer data. See Shopify documentation. | eCommerce | |
| ERROR\_PHONE\_INVALID | 422 | The phone number doesnt seem to be valid. The number must begin with the country code. | eCommerce | |
| ERROR\_PHONE\_ALREADY\_USED | 422 | The phone number is already used by another client. | eCommerce | |
| ERROR\_INVALID\_FIELD\_FORMAT | 422 | The date format of the query parameter 'Date From' or 'Date To' is not valid. The expected format is the following: YYYY-MM-DD. | eCommerce | |
| ERROR\_NO\_ORDER\_LINE | 400 | New orders must have at least one line. | eCommerce | |
| ERROR\_INVALID\_CURRENCY\_FORMAT | 422 | The currency format is not correct. Please use the ISO 4217 codes. | eCommerce | Please use the ISO 4217 codes. |
| ERROR\_INVALID\_COUNTRY\_FORMAT | 422 | The country format is not correct. Please use the ISO 3166-1 codes. | eCommerce | |
| ERROR\_OPPORTUNITY\_NOT\_FOUND | 404 | The opportunity doesn't exist. | Invoicing | |
| ERROR\_PRODUCT\_NOT\_FOUND | 404 | The product doesn't exist. | Invoicing | |
| ERROR\_TAX\_NOT\_FOUND | 404 | The tax doesn't exist. | Invoicing | |
| ERROR\_INVOICE\_NOT\_FOUND | 404 | The invoice doesn't exist. | Invoicing | |
| ERROR\_OPPORTUNITY\_NOT\_CREATED | 400 | The opportunity was not created. | Invoicing | |
| ERROR\_PRODUCT\_NOT\_CREATED | 400 | The product was not created. | Invoicing | |
| ERROR\_TAX\_NOT\_CREATED | 400 | The tax was not created. | Invoicing | |
| ERROR\_INVOICE\_NOT\_CREATED | 400 | The invoice was not created. | Invoicing | |
# Connection flow through Chift's API
Source: https://docs.chift.eu/developer-guides/how-to-connect
This guide introduces the **connection flow** in Chift and explains how to connect your end-users (called **consumers**) to a connector through the API.
A **connection** represents the link between a consumer (your end-customer) and a software integration or connector (e.g., Odoo, Sage, QuickBooks).
**Each consumer typically has one connection.** For advanced scenarios with multiple connections per consumer, see [Multiple connections on same consumer for same API](https://docs.chift.eu/developer-guides/implementation/connections#multiple-connections-on-same-consumer-for-same-api).
Connections store the credentials and configuration required to access the software and interact with Chift’s Unified API.
For more details on connections, see [Connections ↗️](https://docs.chift.eu/developer-guides/implementation/connections).
***
## 1. Retrieve Active Integrations (connectors)
This step is only required if you want to build your own marketplace inside your product.\
It lets you retrieve all **active integrations** (connectors) from your Chift platform, including their technical `integration_id` and logos.
* If you build your own marketplace → use this endpoint.
* If you use Chift’s hosted marketplace → you can skip this step.
**Endpoint:** Get list of integrations\
[API Reference ↗️](https://docs.chift.eu/api-reference/endpoints/integrations/get-list-of-integrations)
**Notes:**
* Use the query parameter `status=active` to get the list of available connectors.
* Logos can be retrieved as base64 for display in your interface:\
[Returns a logo/icon (as base64) ↗️](https://docs.chift.eu/api-reference/endpoints/integrations/returns-a-logoicon-of-an-integration-as-base64)
***
## 2. Create the Consumer
A **consumer** represents your end-customer within Chift.
**Endpoint:** Create new consumer\
[API Reference ↗️](https://docs.chift.eu/api-reference/endpoints/consumers/create-new-consumer)
**Fields:**
* `name`: **Required** — Consumer name.
* `redirect_url`: URL to redirect the user after activation.
* Can be customized per consumer.
* Or defined as a static default for your account and connectors (see [Configure account ↗️](https://docs.chift.eu/back-office/getting-started/configure-account#default-redirection-url)).
* A detailed explanation of how redirection works is provided in the [Annex on Redirect URL](#appendix).
* `internal_reference`: Your internal ID/reference for this consumer, used to reconcile with your internal systems.
* `email`: Used for [automated reminders](https://docs.chift.eu/back-office/user-onboarding/email-reminders) and [local agent](https://docs.chift.eu/back-office/advanced/local-agent) deployment (if applicable).
***
## 3. Generate the Activation Link
Once the consumer exists, generate an activation link so they can connect their software.
**Endpoint:** Add new connection\
[API Reference ↗️](https://docs.chift.eu/api-reference/endpoints/connections/add-new-connection)
**Fields:**
***A - Using your marketplace:***
* `name`: **Required** — Display name of the connection.
* `consumerId`: **Required** — From Step 2.
* `integrationId`: From Step 1.
***B - Using Chift's marketplace:***
* `name`: **Required** — Display name of the connection.
* `consumerId`: **Required** — From Step 2.
* `redirect`: Optional (`true` / `false`, default = `false`). See [Redirect URL](#appendix).
The activation link must then be shared with the consumer.\
It is secured by a token and valid for **30 minutes**.
After this step, your consumer must authorize and sometimes provide additional information to complete the connection activation.\
👉 Connection status and updates are covered in the following article [Monitoring & Updating Connections](/developer-guides/monitor-connections).
***
# **Appendix**
## 🔄 Redirect URL
The redirect behavior in Chift refers to the process of sending the consumer back to a specific URL (typically within your software) once the connection flow has been completed.\
It is controlled by two parameters:
* **`redirect`** — a boolean that determines *whether* Chift should redirect the user after completing or failing the connection flow.
* **`redirect_url`** — the destination URL where the user is redirected after the connection process.\
This can be defined **per consumer** or **globally** in your account settings.\
See [Configure account ↗️](https://docs.chift.eu/back-office/getting-started/configure-account#default-redirection-url)
### 1. During Connection Creation
| Scenario | Behavior |
| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| **`integration_id provided`** | Automatically redirects the user to their `redirect_url` after the connection is successfully activated. |
| **`redirect = true and integration_id = null`** | Redirects the user to the `redirect_url` after completing the connection flow through the Chift Marketplace. |
| **`redirect = false and integration_id provided`** | Same as the first case — redirects directly to the user’s `redirect_url` after activation. |
***
### 2. During Connection Update
| Scenario | Behavior |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **`redirect = true and success`** | Redirects the user directly to the defined `redirect_url`. |
| **`redirect = true and error or user cancel`** | Remains on the current page to allow retry. If the user clicks **Cancel** or **Back to \[account name]**, they are redirected to the `redirect_url`. |
| **`redirect = false and success`** | Redirects the user to the Chift Marketplace page. |
| **`redirect = false and error or user cancel`** | Remains on the current page to allow retry. If the user clicks **Cancel** or **Back to \[account name]**, they are redirected to the `redirect_url`. |
***
### Note
* When defined at both levels, the consumer-level `redirect_url` takes precedence.
***
### **🔗 URL Parameters**
When redirection occurs, Chift automatically appends query parameters to provide context on the connection result (e.g., `connectionStatus`, `error`).\
See [Configure account ↗️](https://docs.chift.eu/back-office/getting-started/configure-account#redirect-url-parameters) for details and to ensure it is activated.
***
### ✅ Summary
* Default behavior: `redirect = false`
* `redirect_url` can be defined per consumer or globally in account settings.
* Redirection behavior is consistent for both new and updated connections.
# Connection concepts & lifecycle
Source: https://docs.chift.eu/developer-guides/implementation/connections
### Summary
This document gives you more information about connections. It explains the lifecycle of a connection from the creation until the possible deletion.
#### What are connections ?
Connections make the link between consumers and the software. Each consumer can have multiple connections but only one connection per integration (Odoo, Sage, ...) A connection is represented by a `name`, a `link to a specific software` and `link to a specific Chift API`. A connection will for example represent the credentials to connect to an Odoo instance for a specific consumer.
> The API can be used to retrieve the list of active connections for consumers and as well to get a public URL that consumers can use to configure their connections. Optionally for specific integrations you can as well pass the credentials required when creating the connection allowing you to create connections for your customers; this can be useful for specific use cases.
#### How do you manage connections ?
There are two ways of managing connections:
1. You can manage connections through Chift's platform. This is easy to help you onboarding your clients or when you are in an exploration phase. Through the platform, you can create a consumer and you can access the link that can be used to create a connection. The connection will be created behind the scene for you. Once created, you will see on the consumer the connected software and you will be able to use our unified APIs.
2. You can manage connections through our API. This is the preferred way to build a fully embedded experience in your software. The API gives you the possibility to:
* Create a connection for a consumer: you will receive a link that you can share with your customers so that they can enter their credentials to create the connection. You can optionally pass a `country` code to [filter the list of connectors](/developer-guides/implementation/filtering-connectors-by-country) shown to the user.
For some integrations, you can also pass the credentials directly, allowing you to create the connection for your customers.
> You can only have one connection per type of integration (Odoo, Sage, ...) for the same consumer.
* Update a connection for a consumer: same as above but for a connection that is already existing.
* Get connections for a consumer: retrieve the list of existing connections for an existing consumer
* Delete a connection: delete a specific connection for a consumer
#### Multiple connections on same consumer for same API
One consumer can have multiple connections for the same API but only one connection for the same integration/connector (e.g. Odoo).
When you want to support multiple connections for the same API, you will have to pass a specific header in the HTTP requests as otherwise we will not be able to know which connection to use. This is only needed when you want to work with multiple connections for the same API and for the same consumer.
For this specific use case, you can use one of the following two headers that you can pass in your HTTP requests when making requests on the unified API:
* X-Chift-Integrationid: code of the integrations (you can get the list of codes through the [Get integrations request](/api-reference/endpoints/integrations/get-list-of-integrations)
* X-Chift-Connectionid: guid of the connection on which you want to process your request
#### Connection lifecyle
The diagram below explains the different phases and statuses of connections. It's important to understand that a connection can be 'active' or 'inactive'. Only when the connection is 'active', you will be able to use it to process requests through the unified APIs. The status of a connection is managed behind the scene for you and should evolve automatically through the correct lifecycle based on the input of your customers. This is the job we help you to not worry about. Next to that we give you through our API and the webhooks all the possibilities to have a detailed view on the status of your connections in order for you to build the best experience for your customers.
Notes:
* Local agent is a small executable that needs to be installed to make the bridge between Chift and on-premise applications. This is needed for some softwares. For those connections, additional webhooks are sent out to give you a better understanding on when the agent is up or down. If you make a request on a connection for which the local agent is down you will receive as well a specific error message.
* Post-connections are inputs that are asked through the configuration of credentials (authentication pages) for your customers. It's asked after the credentials as the inputs are based on the information that is extracted from the connection (e.g. choose the POS location, choose the accounting folder, ...) Some post-connections are mandatory and some post-connections can be activated through the connectors' settings dependent on your implementation and what you want to outsource to Chift.
# Implementations
Source: https://docs.chift.eu/developer-guides/implementation/implementations
On this page, we describe the usual implementations done by our clients.
1. Authentication workflow
2. Easy way - you do the work
3. Lazy way - we do it for you
Those are example of implementations that can of course vary between the use cases of our customers. We do not limit ourselves to those use cases.
## Authentication workflow
1. From your software, you can initiate the integration for one of your customer.
2. The consumerId is the link between your customer and Chift. You keep this in your database to be able to make requests to our API when required by your business case.
3. Based on your consumerId, you receive a link that you can share with your customer to initiate a connection.
4. Your users are redirected to Chift's authentication page where they can connect to the softwares of your choice.
5. Once the initial connection is setup, you can activate a webhook to receive asynchronously an event or your user can be redirected to the URL of your choice.
6. Now you are ready to request our unified APIs.
## Unifed API model
Our customers usually choose this approach. The authentication of their customers is managed as specified above. After the authentication of their customers/consumers is done, they can connect to our unified APIs to leverage the power of being instantly connected to multiple softwares.
## Sync model
For customers that do not have the time to do the implementation themselves, we can help you by using our integration platform to build your synchronization in Chift. This helps you to leverage the magic of integrations without having to worry about building and maintaining any integration.
#### If you are interested or if you have questions, do not hesitate to [contact us.](https://www.chift.eu/contact)
# Monitoring & Updating Connections
Source: https://docs.chift.eu/developer-guides/monitor-connections
This guide explains how to monitor the status of existing connections and how to update them if needed.\
It is intended for developers managing consumer connections in Chift.
## Monitor Connection Status
Once the activation link has been shared, you need to verify whether the connection was successfully established. There are the options:
#### 1. Webhook
Subscribe to the `account.connection.created` event.\
Triggered automatically when the connection becomes active.
> ⚠️ **Important:**\
> The `account.connection.created` webhook is only triggered when the connection has been successfully created.\
> If the consumer never completes the activation, **no webhook event will be sent**.\
> We therefore recommend combining this with another logic — for example, a timeout or periodic check — to handle incomplete activations.
[Webhook Docs ↗️](https://docs.chift.eu/developer-guides/webhooks#list-of-events)
#### 2. API Call
Retrieve all connections linked to a consumer and check their `active` status.
**Endpoint:** `Get connections`\
[API Reference ↗️](https://docs.chift.eu/api-reference/endpoints/connections/get-connections)
**Required field:**
* `consumerId` — From the consumer creation step
#### 3. Redirect URL Parameters
If a `redirect_url` was set when creating the consumer, Chift automatically appends query parameters when the user is redirected after activation.
**Returned parameters:**
* `consumerId`
* `connectionId`
* `connectionStatus` (`active` / `inactive`)
* `error` *(only in case of error)*
* `isExpiredError` *(only in case of error)*
More details on the feature and how to activate it: [Configure account ↗️](https://docs.chift.eu/back-office/getting-started/configure-account#redirect-url-parameters)
***
## Update an Existing Connection
⚠️ **Pro tip:** Do **not** delete and recreate a connection if credentials expire or activation was not completed.\
Instead, use the update endpoint to resend the activation link or adjust metadata (e.g. `name`, `redirect_url`).
**Endpoint:** Update an existing connection\
[API Reference ↗️](https://docs.chift.eu/api-reference/endpoints/connections/update-an-existing-connection)
**Required fields:**
* `consumerId` — From consumer creation
* `connectionId` — From connection creation
> Updating a connection allows you to maintain active links without forcing the user to reconnect from scratch.\
> This preserves historical data and ensures smoother API usage.
# Pagination limits
Source: https://docs.chift.eu/developer-guides/pagination
Chift applies pagination limits for all endpoints returning multiple items, ensuring reliable performance and smooth synchronization with connectors.
By default, pages contain **50 items**, but higher limits can be requested depending on account plan and usage needs.
***
### Default and Maximum Limits
| Tier | Default limit | Maximum limit | Availability |
| ------------ | ------------- | ------------- | ---------------------------------- |
| Standard | 50 | 100 | Enabled by default |
| Upon request | 50 | 500 | Available upon request |
| Enterprise | 50 | 1000 | Available for Enterprise customers |
***
### Standard Accounts
By default, the pagination limit is set to **50 items per page**, with a **maximum of 100**.\
This behavior applies to all accounts and connectors unless explicitly changed.
If no `limit` parameter is provided in the request, the default value of **50** is automatically applied.
***
### Upon Request
For specific use cases — such as heavy data synchronization or batch processing — the maximum pagination limit can be extended to **500 items per page**.\
This is available **upon request** for eligible accounts and is controlled by the Chift team via feature flags.
**How It Works**
Pagination limits are managed internally and can be increased for selected accounts based on use case and data volume.\
This extended limit applies across all connectors where relevant.
***
### Enterprise Tier
Enterprise customers benefit from an increased pagination limit of up to **1000 items per page**.\
This higher limit is reserved for Enterprise-tier accounts.
# Rate limits
Source: https://docs.chift.eu/developer-guides/rate-limits
There are **no rate limits on requests sent to Chift**.\
You can make as many API calls as needed — Chift does not impose any internal restrictions.
Any limitations you may encounter come directly from the **connected third-party software** (connectors).\
**⬇️ IMPORTANT ⬇️**
**Connector-Specific Rate Limits**\
If a connector enforces rate limits, they are **documented on the connector’s page**. Check the full list here : [**Chift Connectors Documentation**](https://docs.chift.eu/connectors/connectors).
**Fair Usage Policy**
While Chift does not impose strict rate limits, we expect all clients to follow a fair usage policy.\
We actively monitor traffic patterns to ensure platform stability and equitable access for all users.\
In case of excessive or abusive usage that impacts overall performance, Chift reserves the right to temporarily throttle or block requests until the issue is resolved.
### How Chift Handles Rate Limits
Even though Chift doesn’t define its own limits, we handle rate limits from connectors gracefully to avoid unnecessary errors and ensure stable synchronizations.
We distinguish between two main types of rate limits:
#### 1. Daily rate limits
When a connector enforces a **daily limit**, Chift cannot bypass it.\
In such cases, we return a clear error specifying:
* the type of rate limit, and
* the remaining time before it resets.
This allows clients to retry the operation later, once the limit expires.
#### 2. Short-term (minutely) rate limits
For short-term rate limits, Chift automatically retries the request to maximize the success rate.
By default:
* up to **5 retries** are performed,
* with **exponential backoff** between attempts: 1s, 2s, 4s, 8s, and 16s.
This helps smooth out temporary rate spikes without immediately failing the process.
> **Note:** If all retries ultimately fail, Chift returns an error with a **specific code and message** indicating a **rate limit issue**.\
> When the connector does not provide clear information about rate limits, the error may appear as a **generic synchronization failure**.
***
### Custom Handling
For some connectors, we apply **custom retry logic** based on the additional information available in their documentation or error messages.\
For example, when a “retry-after” value is provided, Chift will respect it.
This retry logic is **fully abstracted** from your side — you don’t need to handle it manually.\
Its purpose is simply to maximize reliability and reduce unnecessary failures caused by rate limits.
# SDK's and tools
Source: https://docs.chift.eu/developer-guides/sdk
At Chift, our goal is to help companies scale their integrations.\
To make development faster and smoother, we provide several SDKs and tools to help you connect to our API in just a few minutes.
## 🐍 Python SDK
Quickly integrate Chift into your Python projects.
**Repository:** [Chift-Python-SDK](https://github.com/chift-oneapi/chift-python-sdk)
## 🟩 Node.js SDK
Easily connect to Chift from your Node.js applications.
**Repository:** [Chift-NodeJS-SDK](https://github.com/chift-oneapi/chift-nodejs-sdk)
## 📬 Postman or simular tools (Smuggler)
Explore and test the Chift API directly with our ready-to-use Postman collection.
**OpenAPI file:** [https://api.chift.eu/openapi.json](https://api.chift.eu/openapi.json)
You can import this file into Postman (or any compatible API client) to instantly access all available endpoints and example requests.
## 💡 Other SDKs
If you’re using another programming language, let us know which SDK you’d like to see next.\
You can reach us at **[support@chift.eu](mailto:support@chift.eu)** — we’re always happy to expand our ecosystem based on developer needs.
# Webhooks
Source: https://docs.chift.eu/developer-guides/webhooks
### Summary
Chift's webhooks can be used to create custom applications that can react on specific events of the platform and of the unified APIs.
#### How can I manage my webhooks ?
* Webhooks can be managed through the UI in your account settings
* Webhooks can be managed through the API
#### Technical specifications
* On a specific event, a POST http request is sent to the webhook's url
* It will contain a JSON payload with at least these attributes:
```
- accountid: guid of your Chift's account
- event: name of the event
- consumerid: guid of the consumer on which the event occurred
- created: timestamp (in sec) of the webhook event
```
* In the header it will contain as well the following attributes:
```
- X-Chift-Signature: encrypted signature of your body payload
```
#### X-Chift-Signature
X-Chift-Signature attribute can be used to make sure that incoming calls on your webhook endpoint are coming from Chift.
The X-Chift-Signature is generated based on the signing secret that you can optionally add when you create or update a webhook. It is based on the HMAC authentication method that relies on two keys. One is the signing secret that only you know and the second is the request body.
Most programming languages support HMAC hashes.
An example in NodeJS is the following:
```javascript theme={null}
const hash = crypto
.createHmac("sha256", encryption.decrypt(SIGNING_SECRET).toString())
.update(JSON.stringify(REQUEST_BODY), "utf-8")
.digest("hex");
```
An example in Python is the following:
```python theme={null}
import hmac
import hashlib
import json
json_data = json.dumps(REQUEST_BODY, separators=(',', ':'))
h = hmac.new(SIGNING_SECRET.encode(), json_data.encode(), hashlib.sha256)
hash = h.hexdigest()
```
By computing the hash on your endpoint, you can compare it whith the X-Chift-Signature attribute of the header to make sure that the request originated from Chift.
#### List of events
The table below describes the different webhook events that can be emitted on Chift. The additional payload in addition with the above attributes is what will be sent as part of the body to the webhook url.
Please refer as well to the [Connection lifecycle](/developer-guides/implementation/connections#connection-lifecyle) section to have a better uderstand on when the connection webhooks are sent.
| Event name | Description | One API | Adiditional payload (in addition to above mandatory attributes) |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| account.connection.created | Event on the creation of a new consumer's connection (you receive this event only when the connection was successfuly created) | / | `{"connectionid": "guid of the connection on which the event occurred"}` |
| account.connection.updated | Event on the update of a consumer's connection | / | `{"connectionid": "guid of the connection on which the event occurred", "status": "active/inactive"}` |
| account.connection.deleted | Event on the deletion of a consumer's connection | / | `{"connectionid": "guid of the connection on which the event occurred"}` |
| account.connection.up | Event when a local agent is correctly setup | / | `{"connectionid": "guid of the connection on which the event occurred"}` |
| account.connection.down | Event when a local agent did not send any ping since 15 minutes | / | `{"connectionid": "guid of the connection on which the event occurred"}` |
| account.flow\.enabled | Event on the activation of a flow for a specific consumer | / | `{"flowid": "guid of the flow on which the event occurred", "syncid": "guid of the sync on which the event occurred"}` |
| account.flow\.disabled | Event on the deactivation of a flow for a specific consumer | / | `{"flowid": "guid of the flow on which the event occurred", "syncid": "guid of the sync on which the event occurred"}` |
| account.flow\.executed | Event on full execution of a flow (one event per consumer) | / | `{"flowid": "guid of the flow on which the event occurred", "syncid": "guid of the sync on which the event occurred", "status": "success/error", "executionid": "guid of the execution of the consumer flow", "parentexecutionid": "guid of the execution of the parent flow"}` |
| account.issue.created | Event when a new consumer issue is raised | / | `{"issue_id": "guid of the consumer issue", "connectionid": "guid of the connection on which the issue occurred", "syncid": "guid of the sync on which the issue occurred (optional)", "error_code": "error code of the issue", "issue_status": "status of the issue", "message": "error message describing the issue", "context": "additional context information"}` |
| account.issue.updated | Event when there is a new occurrence of an existing consumer issue | / | `{"issue_id": "guid of the consumer issue", "connectionid": "guid of the connection on which the issue occurred", "syncid": "guid of the sync on which the issue occurred (optional)", "error_code": "error code of the issue", "issue_status": "status of the issue", "message": "error message describing the issue", "context": "additional context information", "occurrences": "number of times this issue has occurred"}` |
| account.issue.closed | Event when a consumer issue was closed automatically | / | `{"issue_id": "guid of the consumer issue", "connectionid": "guid of the connection on which the issue occurred", "syncid": "guid of the sync on which the issue occurred (optional)", "error_code": "error code of the issue", "issue_status": "auto_closed"}` |
| pos.order.completed | Event when an order was completed | POS | `{"order_id": "guid of the order on which the event occurred", "device_id": "guid of the device on which the order was completed (optional)", "customer_id": "guid of the customer that has made the order (optional)", "location_id": "guid of the location on which te order was completed", "updated_at": "time of completion"}` |
| pos.order.updated | Event when the status of an order was updated | POS | `{"order_id": "guid of the order on which the event occurred", "device_id": "guid of the device on which the order was completed (optional)", "customer_id": "guid of the customer that has made the order (optional)", "location_id": "guid of the location on which te order was completed", "updated_at": "time of completion"}` |
# Glossary
Source: https://docs.chift.eu/docs/introduction/glossary
Integrations can be complex to understand at first. This glossary will help you understand the main concepts to make your journey as smooth as possible.
### Integrations / Connectors
In Chift's platform, you can select which integrations you activate for your clients. For example, thanks to the integration with Chift Accounting API, you can activate the `Odoo connector`in one click. This will allow your users to connect their software to your application. This can be done in your account configuration.
### Consumers
Consumers represent instances of your clients that want to benefit from the integrations offered by Chift. Each consumer is represented by a `GUID` and by a `name`. This `GUID` can be used in almost all API requests ([see according documentation](/back-office/getting-started/create-consumer)) to represent the consumer you want to interact with.
> The API can be used to automatically create, update, retrieve or delete consumers. This can be done manually through the UI.
### Connections
Connections make the link between consumers and their software. Each consumer can have multiple connections. A connection is represented by a `name`, a `link to a specific software` and `link to a specific Chift API`. A connection will for example represent the credentials to connect to an Odoo instance for a specific consumer.
> The API can be used to retrieve the list of active connections for consumers and as well to get a public URL that consumers can use to configure their connections.
### Sync
A sync is the definition of connecting multiple APIs or connectors inside Chift.
One or more flows can be created to create automations for a sync.
A flow can be triggered by an event or by a timer (e.g. each night at 4AM). A flow contains a process (e.g. get invoices and inject into accounting) that will be executed for each of the consumers linked to the sync.
### Mappings
While defining a sync, you can add mappings to the onboarding process of your end-users. E.g. mapping of tax rates between POS and Accounting softwares.
# welcome
Source: https://docs.chift.eu/docs/introduction/welcome
Explore our **API Reference**, **Developer Guides**, **Connector list**, and the **Platform** to quickly integrate and leverage our **Unified APIs** across **Accounting**, **POS**, **eCommerce**, **Invoicing**, **Payment**, **Banking** and **PMS**.
## Get Started ✨
* **🖥 Platform Onboarding** – [Explore first steps in Chift’s platform](/back-office)
* **⚙️ Implementation Guide** – [Get started with your Chift integration](/developer-guides)
## Explore Our Docs 📚
Discover our unified APIs, their data types, and key concepts.
Learn how syncs work, from process flow to available options.
Browse the complete list of connectors with coverage, overviews, and key details.
Deep dive into Chift’s full API reference and endpoint documentation.
# eCommerce sync
Source: https://docs.chift.eu/syncs/ecommerce-sync
This sync will allow you to sync ecommerce orders and payments with accounting software.
### Default scope:
This integration aims to automate e-commerce site accounting to replace manual exports.
This integration flow will allow sales entries to be imported into accounting.\
The integration doesn't retrieve all invoices individually but creates aggregated entries to report revenue and VAT in accounting.
The integration supports the management of:
* different payment methods
* different product categories
* different delivery countries
* different VAT rates
* gift vouchers
Note that this is the default scope, based on your requirements this can be modified.
### Mappings
Mappings are the way to map the data from the ecommerce software to the accounting software.
Note that this is are the default mappings, based on your requirements these can be modified.
This step allows you to specify the accounting journal in which to create accounting entries generated based on sales from your e-commerce software.
This step allows user to connect its eCommerce tool through apikey, credentials or oauth2.
This step allows user to connect its accounting tool through apikey, credentials or oauth2.
This step allows you to specify whether entries are made in a sales or purchase journal.
*Reproduce this step by using the following API call(s) :*
GET journals
This step allows you to choose the accounting account for each payment method (credit card, cash, etc.) to be used as debit in the generated accounting entries.\
If no match is found for a payment method (for example: a new payment method is added and not configured in the synchronization settings), then account X is used as the default account.
*Reproduce this step by using the following API call(s) :*
GET all payment methods
GET chart of accounts
*(Filter on class 4 and 5 accounts)*
Note that this is not for all clients like this. For example, for Inqom (software where this concept of VAT codes doesn't exist), it's not VAT codes that we select on the right but directly the VAT accounting account to use in the entries. Currently, only Pennylane works as shown here
Choose the country that corresponds to the VAT rates detected in the e-commerce software. This step will ensure the correct VAT codes are used in the generated entries.
*Reproduce this step by using the following API call(s) :*
GET all taxe rates
GET chart of accounts
*(Filter on class 4 accounts)*
This step allows you to define the accounting accounts to use for recording revenue in accounting.
The amounts excluding VAT can be allocated in two different ways:
* **via product categories**: the accounting account is determined based on the category linked to the sold product
* **via the order's delivery country**: the accounting account is determined based on the order's delivery country. If the country is not defined in the delivery address, then the billing address is considered
If the accounting account cannot be determined because the product isn't linked to any category or the order isn't linked to any country, then the accounting account indicated as the default sales account (excluding VAT) in step 7 (default values) of the integration configuration is used.
*Reproduce this step by using the following API call(s) :*
GET all products categories
*(Filter with “only\_parents” = “True”)*
GET chart of accounts
*(Filter on class 7 accounts)*
Choose accounting accounts to record specific cases. In this step, you can also indicate the default sales account mentioned in step 6 above.
*Reproduce this step by using the following API call(s) :*
GET all products categories
*(Filter with “only\_parents” = “True”)*
GET chart of accounts
*(Filter on class 4, 5, 6 and 7 accounts)*
When activating synchronization, you can choose to account for the sale of gift vouchers. If this option is activated, the revenue (amount excluding VAT) from gift voucher sales will be recorded in the indicated account. If this option is not activated, gift voucher sales will not be included in the generated accounting entries. Note that this option is separate from the processing of gift vouchers as a payment method, which will always be taken into account for all orders. This refers to the sale of a gift voucher that can then be used as a payment method in a subsequent order.
*Reproduce this step by using the following API call(s) :*
GET chart of accounts
*(Filter on class 4, 5, 6 and 7 accounts)*
This step allows you to specify whether entries are made in a account for discounts, rebates and debates ; it is an optionnal step.
*Reproduce this step by using the following API call(s) :*
GET chart of accounts
*(Filter on class 6 and 7 accounts)*
### Configuration
1. Synchronization Trigger
Orders can be synchronized in 2 distinct ways:
* Once per day
* Once per month
2. From what date do we retrieve orders?
The synchronization start date determines from when orders will be integrated into accounting.
Only orders created from this date will be synchronized.\
It's important to distinguish between Shopify and other e-commerce platforms:
* Shopify: a change made to an order (for example, adding a product) created before this date will be included in the synchronization only if the order elements are recorded at the date of each modification. This is detailed in the question "Do you want to record changes to an already synchronized order at the date of modification?"
* Other e-commerce: a change made to an order (for example, adding a product) created before this date will NOT be included in the synchronization. This is because e-commerce platform APIs don't provide the creation date for each order element. It's therefore impossible to determine what was modified if the order wasn't previously synchronized.\
However, refunds made on an order created before the synchronization start date will be synchronized at the refund date, provided it's after the synchronization start date.
3. Should we group orders and refunds?
This step determines if and how to group orders and refunds. There are three options:
* No, create an entry per order and refund → a specific entry will be created in accounting for each order and refund.
* Yes, create one entry per day → all orders from the same day will be grouped into a single accounting entry. Similarly, all refunds from the same day will be grouped into a single accounting entry.
* Yes, create one entry per month → all orders from the same month will be grouped into a single accounting entry. Similarly, all refunds from the same month will be grouped into a single accounting entry.
4. When do you want to synchronize orders?
This step determines the status from which orders are eligible for synchronization and the date at which order elements are recorded. There are five options:
* as soon as the order is confirmed, all order elements are recorded at the order creation date.
* as soon as the order is confirmed, each order element is recorded at the date when the element was added to the order.
* as soon as the order is delivered, all order elements are recorded at the order creation date.
* as soon as the order is delivered, each order element is recorded at the date when the element was added to the order.
* as soon as the order is delivered, all order elements are recorded at the order delivery date.
An order is considered confirmed according to the following criteria:
* Shopify: All orders that aren't drafts.
* WooCommerce: from payment.
* Prestashop: from payment.
For Shopify, the information about the date each element was added is 100% accurate. However, for other e-commerce platforms, we rely on the date of the last order modification.
5. Which address do you want to use to define the order country?
This step determines the order country. There are two options:
* delivery address
* billing address
6. Do you want to refund cancelled orders that haven't been refunded?
Do you want to create a refund for cancelled orders that don't yet have a refund in the e-commerce software? This option allows generating an accounting "refund" entry for cancelled orders even if there's no refund in e-commerce. Here are the possible options:
* No (default value): refunds are only created for cancelled orders if they already have refunds in e-commerce
* Yes, but only for previously synchronized orders: refunds are created only if the order was created after the start of synchronization
* Yes, all orders: refunds are created for all cancelled orders, regardless of their creation date
7. Do you have orders that should NOT be synchronized?
If so, please indicate the tag(s) (separated by commas) to identify these orders.
This option allows you to associate a tag with orders you don't want to include in the synchronization.\
For example: If you want to create internal orders to track stock directly in your e-commerce store
You can then associate a tag with these orders you want to exclude from synchronization. A concrete example of a tag could be "StockTracking" for orders used to track stock movements in your e-commerce store for internal purposes. If you want to create multiple tags, the answer to this question would be:
"StockTracking, Stock Management, AnyTagYouWant". Any order associated with one of these three tags will be ignored during synchronization execution.
If this doesn't apply, you can leave this option empty.
For WooCommerce, it's necessary to define a custom field. For this, in the custom fields section, you need to create an "order\_tags" field and enter as values the different tags you want to associate with an order. These tags that you will have created in the order will then be used to filter or not filter an order during synchronization.
# Embedded
Source: https://docs.chift.eu/syncs/embedded
Through the embedded model, you will be able to choose how and when you want to:
* Expose the configuration of the sync to your end-users
* Trigger the sync from your app
* Manage the executions of the sync from your app
* Show logs to your end-users in your app
You decide how you want to integrate the sync in your app.\
In the "embedded" model, you will have to do a minimum development on your side to manage consumers and connections, as well as sharing the activation of syncs to your end-users.
You will call our APIs to obtain the URL that you can share with your end-users (protected page by a token)
This gives you the possibility to choose how and where to do it your app.
# How can syncs be exposed to end-users
Source: https://docs.chift.eu/syncs/expose-overview
We have developed different ways to expose syncs to your end-users.\
The choice of the method depends on your needs and constraints.\
From something fully embedded in your app to something that is listed in our marketplace, we have you covered.
Syncs can be exposed to end-users in different ways:
* [Embedded](/syncs/embedded)
* [Pre-oauth2 sync](/syncs/pre-oauth2-sync)
* [Marketplace](/syncs/marketplace)
The difference are highlighted below and are explained in more details in the dedicated pages.
| Property | Embedded | Pre-oauth2 sync | Marketplace |
| ------------------------------- | -------- | --------------- | ----------- |
| Requires dev on your side | ++ | + | + |
| Embedded in your app | +++ | ++ | + |
| White-label | +++ | ++ | + |
| End-users can manage consumers | + | + | +++ |
| End-users can manage executions | + | + | +++ |
# How does it work
Source: https://docs.chift.eu/syncs/how-does-it-work
Syncs are powered by connecting our Unified APIs to your software.
We have a set of [pre-built syncs](/syncs/overview#explore-our-ready-to-use-syncs) that you can use as a starting point, but we can also build custom syncs for you depending on your needs.\
Together with you, we define the data that needs to be synced, the frequency of the syncs and the triggers that will start the syncs.\
The syncs are fully managed by us, so you don't have to worry about the underlying infrastructure.
#### Requirements
* You have an API for your software
* You want to connect your software to one of our [Unified APIs](/unified-apis/overview)
#### How
* We define the scope together
* We build the sync for you
* We define the trigger based on your requirements (e.g. event-based or timer-based)
* We define how you want to expose the sync to your end-users (see [overview](/syncs/expose-overview))
#### What can you do ?
Based on your requirements, you can use our APIs for which you will have different endpoints that will give you the full control over the sync.\
Next to the same routes to manage consumers and connections as for the Unified APIs, you will have dedicated endpoints for the syncs.
For the activation:
* Share the configuration page a sync for a consumer (see [share sync](/api-reference/endpoints/consumers/retrieve-the-url-of-a-sync-for-a-specific-consumer))
* Get the status of a sync for a consumer (see [get status of a sync](/api-reference/endpoints/consumers/get-sync-information-for-one-consumer))
* Activate the sync for a consumer (see [activate sync](/api-reference/endpoints/syncs/enable-a-flow-for-a-specific-consumer))
* Update settings of the sync for a consumer (see [update sync settings](/api-reference/endpoints/syncs/update-flow-settings-for-a-specific-consumer))
For the execution status:
* Get list of executions (see [get executions](/api-reference/endpoints/consumers/get-executions-information-for-one-consumerflowsync))
* Get information about one executions (see [get executions](/api-reference/endpoints/syncs/get-execution-startend-timestamp))
* Get data of executions (see [get data of executions](/api-reference/endpoints/consumers/get-executions-information-for-one-consumerflowsync))
Trigger a sync:
* Trigger a sync (see [trigger a sync](/api-reference/endpoints/syncs/send-a-custom-event-for-a-specific-flow)) or [manually through the platform](/syncs/self-service)
# Invoices sync
Source: https://docs.chift.eu/syncs/invoices-sync
This sync will allow you to sync invoices from invoicing software to accounting software.
### Default scope:
This integration sync will allow:
* automatic synchronization of **sales and/or purchase invoices (with attachment)** from an invoicing software to an accounting tool.
* synchronization of **customers and suppliers (third parties):**
* if the third party doesn't yet exist in accounting, the flow will try to find a match based on the following criteria:
1. auxiliary accounting account vs. auxiliary account entered in the invoicing software
2. VAT number
3. company/SIRET number
4. auxiliary accounting account vs. customer/supplier name
* if no match is found, then a new customer/supplier is automatically created in the accounting system
Note that this is the default scope, based on your requirements this can be modified.
### Mappings
Mappings are the way to map the data from the invoicing software to the accounting software.
Note that this is are the default mappings, based on your requirements these can be modified.
This step allows user to connect its invoicing tool through apikey, credentials or oauth2.
This step allows user to connect its accounting tool through apikey, credentials or oauth2.
This step allows you to specify the VAT code to use in accounting for each sales VAT rate existing in the invoicing software.
*Reproduce this step by using the following API call(s) :*
GET folders
GET vat codes
GET retrieve all taxes
This step allows you to specify the VAT code to use in accounting for each sales VAT rate existing in the invoicing software.
*Reproduce this step by using the following API call(s) :*
GET vat codes
GET retrieve all taxes
Select the VAT codes to use for possible rounding differences.
*Reproduce this step by using the following API call(s) :*
GET vat codes
This step allows you to specify whether entries are made in a sales or purchase journal.
*Reproduce this step by using the following API call(s) :*
GET journals
1. Sales Account (products): This step allows you to specify the accounting account to use in sales invoice lines if the information is missing in the invoicing software OR if the account mentioned in the invoicing software doesn't exist or is not active in accounting.
2. Purchase Account (expenses): This step allows you to specify the accounting account to use in purchase invoice lines if the information is missing in the invoicing software OR if the account mentioned in the invoicing software doesn't exist or is not active in accounting.
3. Customer Collective Account: This step allows you to specify the accounting account that serves as the customer collective in accounting. Generally, this is account 411
4. Supplier Collective Account: This step allows you to specify the accounting account that serves as the customer collective in accounting. Generally, this is account 401
5. Account to use for possible credit rounding: In some invoicing software, the sum of lines doesn't always equal the invoice total due to VAT rounding. If the sum of lines is less than the invoice total, then a line is added to the invoice to balance this in accounting. Generally, this is account 758
6. Account to use for possible debit rounding: In some invoicing software, the sum of lines doesn't always equal the invoice total due to VAT rounding. If the sum of lines is greater than the invoice total, then a line is added to the invoice to balance this in accounting. Generally, this is account 658
*Reproduce this step by using the following API call(s) :*
GET chart of accounts
*(Filter on class 4, 6 and 7 accounts)*
This step allows you to specify whether discounts need to be specified in a separated account for discounts, rebates and debates ; it is an optionnal step. If not activated the discounted amount is directly deduced from the product/charges account.
*Reproduce this step by using the following API call(s) :*
GET chart of accounts
*(Filter on class 6 and 7 accounts)*
### Configuration
1. Synchronization Start Date: choice of the date from which invoices will be synchronized.
💡Synchronization starts automatically each night.
2. Do you want to create entries as draft/pending?\
This option allows creation of "pending" accounting entries in the accounting software. This means the accountant must validate each entry before it is recorded. Some accountants prefer this approach for better control. Note that this is not supported by all accounting tools.
3. Do you want to synchronize invoices without attachment?\
Do you want invoices to be synchronized to accounting when the PDF/attachment is missing in the invoicing software? If you select "no", then sales and purchase invoices without PDF/attachment will not be synchronized until the PDF/attachment is provided.
4. What do you want to synchronize?\
You can specify the integration scope: purchase and sales invoices, sales invoices only, or purchase invoices only.
5. Label Settings\
This step allows you to define how accounting entry labels are composed. An accounting label is a description associated with an accounting entry that helps clarify each accounting entry.
Four options are available:
* The line linked to a customer/supplier account has the customer/supplier name as label / Other lines have the description from invoicing software as label
* Customer/supplier name on all lines
* Customer/supplier name + description of invoice lines on all lines
* Customer/supplier name + invoice number on all lines
### Troubleshooting
| Error Code | Error description | Resolution |
| ---------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ERROR\_SYNC\_INVOICE\_ACCOUNT\_NUMBER\_NOT\_FOUND | The account number doesn't exist in the accounting system. | The account number of one of the items in the invoice is not found in the accounting system. See [appendix 1](#appendix-1) for more information. |
| ERROR\_SYNC\_INVOICE\_ACCOUNT\_NUMBER\_NOT\_ACTIVE | The account number is not active in the accounting system. | The account number of one of the items in the invoice is not active in the accounting system. See [appendix 1](#appendix-1) for more information. |
| ERROR\_SYNC\_INVOICE\_PARTNER\_NOT\_FOUND | The partner doesn't exist in the accounting system. | The client/supplier referenced in the invoice is not found in the accounting system. See [appendix 2](#appendix-2) for more information. |
| ERROR\_SYNC\_INVOICE\_AMOUNT\_VALIDATION | The invoice amounts (totals, taxes or untaxed amounts) are not valid. | Please check the invoice and evaluate why the totals are not valid. If the amounts are correct in the invoicing tool, please contact Chift's support. |
| ERROR\_SYNC\_INVOICE\_CONTACT\_NOT\_FOUND | The contact doesn't exist in the invoicing tool. | The contact referenced on the invoice is not found in the invoicing tool. Please check the invoice and evaluate why the contact is not found. If the contact exists in the invoicing tool, please contact Chift's support. |
| ERROR\_SYNC\_INVOICE\_JOURNAL\_NOT\_LINKED | The invoice is not linked to a journal in the invoicing tool. | The invoice is not linked to a journal in the invoicing tool. Please check the invoice and evaluate why the journal is not linked. Make sure that every invoice has a journal linked. If the journal is linked in the invoicing tool, please contact Chift's support. |
| ERROR\_SYNC\_INVOICE\_LINE\_VALIDATION | The invoice line is not valid. | The invoice line is not valid. There is a missing tax code or tax rate in one of the invoice lines. Please check the invoice and evaluate why the invoice line is not valid. If the invoice line is valid in the invoicing tool, please contact Chift's support. |
| ERROR\_SYNC\_INVOICE\_MAPPING\_TAX\_RATE\_NOT\_FOUND | The tax rate of one of the invoice is not mapped in the sync. | The tax rate is not mapped in the sync. Please configure the mapping of the sync. |
| ERROR\_SYNC\_INVOICE\_PARTNER\_VALIDATION | The partner of one of the invoice is not configured. | It's impossible to sync the invoice because it's missing a partner\_id. If the partner does exist on the invoice, please contact Chift's support. |
| ERROR\_SYNC\_INVOICE\_PDF | There is an issue while retrieving the pdf of the invoice. | The invoice has no PDF/attachment or there is an issue while retrieving the PDF/attachment of the invoice from the invoicing software. Please check the invoice and evaluate why the PDF/attachment is missing / not valid. If the PDF/attachment is present in the invoicing tool, please contact Chift's support. |
| ERROR\_SYNC\_INVOICE\_MAPPING\_JOURNAL\_NOT\_FOUND | The journal of one of the invoice is not mapped in the sync. | The journal is not mapped in the sync. Please configure the mapping of the sync. Note that this is only applicable when journals from the invoicing software are mapped with accounting journals |
### Appendix
#### Appendix 1: The account number doesn't exist or is not active in the accounting system.
The account number of one of the items in the invoice is not found or is not active in the accounting system.
If you have this error, it means that the account number used to create the invoice does not exist or is not active in the accounting system.
The sync is working as follows:
1. If avalailabe, we use the account number specified in the invoicing tool for the items of the invoice.
2. We try to create the invoice with those account numbers in the accounting system.
3. If the account number does not exist or is not active in the accounting system, we retry with the default account number specified in the mapping (Default account number for products & expenses).
4. If the account number still does not exist or is not active in the accounting system, we raise an error. The invoice is not created in the accounting system.
This issue can happen in 2 cases:
* the account number specified on the invoicing software doesn't exist or is not active in the accounting tool
* the default account number specified in the mapping doesn't exist anymore in the accounting tool OR is not active in the accounting tool
What you can do:
* Use a correct and valid account number in the invoicing tool for the items of the invoice or create and activate the account number in the accounting system.
* Make sure the the default account number in the mapping does exist or create the account number in the accounting system.
#### Appendix 2: The partner doesn't exist in the accounting system.
The client/supplier referenced in the invoice is not found in the accounting system.
If you have this error, it means that the client/supplier referenced in the invoice was created in the accounting system but does not exist anymore.
This can happen if the accountant has deleted the client/supplier in the accounting system.
What you can do:
* Check if the client/supplier exists in the accounting system.
* If the client/supplier does not exist, create a new one in the accounting system.
* Contact Chift's support to re-sync the client/supplier in the invoicing tool.
# Ledger Preview
Source: https://docs.chift.eu/syncs/ledger-preview
The **Preview** feature for ledger entries allows you to **safely test and validate synchronization flows** without committing any actual ledger entries to the target accounting system. It acts like a sandbox mode for data synchronization, showing exactly which ledger entries would be created **without writing any real data**.
For now, only Point of Sale to Accounting (*Export des ventes vers la
comptabilité - Par catégorie OU Taux de TVA*) is supported.
## Purpose & business value
* **Risk reduction:** Preview data before activating a flow, avoiding duplicates or errors.
* **Confidence building:** See exactly which ledger entries would be created.
* **Debugging & compliance:** Access execution logs to troubleshoot issues and verify accounting accuracy.
* **Time & support savings:** Reduces failed integrations and support tickets.
## How it works
### 1. Initiate preview
Start a preview from the flow configuration modal by clicking **Aperçu des écritures comptables**.
### 2. Select date range
Choose a date range for the preview. Only historical data can be selected (max 1 year).
### 3. System processing
The preview runs asynchronously, generating simulated ledger entries. You will be notified by email when the preview is ready.
### 4. Email notification
Once the preview finishes, the system sends an email with a link to view the results or errors.
### 5. Review results
Access the preview results through two tabs:
**Ledger tab:** Displays formatted journal entries (debits, credits, accounts, descriptions).
**Logs tab:** Shows execution details, errors, and debug information.
### 6. Decision
Based on the preview results, you can activate the flow, adjust configurations, or run another preview.
## Feature highlights
### Status tracking
The system tracks preview status throughout the process:
| Status | Description |
| ----------- | ------------------------------------------------- |
| **pending** | Preview is running |
| **ready** | Preview completed successfully, results available |
| **viewed** | User has accessed the preview results |
| **failed** | Preview encountered an error |
### Additional features
* **Secure access:** Each preview is scoped to the requesting user and time-limited.
* **Email notifications:** Users are notified when a preview completes or fails, with links to view results or errors.
* **Ledger entry validation:** Verify that ledger entries are balanced (debits = credits) before committing.
Preview result links expire after 7 days.
# Marketplace
Source: https://docs.chift.eu/syncs/marketplace
In the marketplace model, we expose your syncs through a full marketplace where your users will authenticate and create an account in Chift.
The authentication process is very smooth and done by a magic link to avoid any friction.
On their first login, they will have to create an account by providing the name of their company.
They will be able to:
* Invite other users to their account
* Activate one or more integrations for one or multiple consumers (organizations or entities)
* Manage their integrations (configure, deactivate or delete)
* View the logs of the executions of the syncs and detect errors if any
Through this model, you won't have to develop anything on your side and you will provide a seamless experience to your end-users.
This way of working is very appreciated by accountants as they can collaborate with their clients in a seamless and automated way.
# Overview
Source: https://docs.chift.eu/syncs/overview
Syncs can be used to create easy and scalable automations between two or more of Chift's unified APIs.\
It can for example be used to create an automation workflow between the Invoicing API (or one specific connector inside the Invoicing API) and the Accounting API (or one specific connector inside the Accounting API).\
Through the sync, the end-users can select their invoicing and accounting software and can activate the workflow(s).\
As you can imagine, it creates a multitude of automations opportunities without you having to worry about connectivity, monitoring, scalability, maintenance, ...
Main features and benefits offered by our Unified APIs:
* Full to semi-embedded & native experience with white labeling for your customers
* You don't need to develop anything; we do everything from you. No roadmap issues anymore.
* Connectors can be activated in one-click from your account (see [activate connector](/back-office/getting-started/activate-connector))
* Advanced user onboarding and support (see [user onboarding](/back-office/user-onboarding/overview) and [support](/back-office/support/overview))
* Advanced features to scale your integrations (see our documentation)
* Different ways to trigger the sync (event-based or timer-basedr)
* [Different ways to expose syncs to end-users](/syncs/expose-overview)
## Explore our ready-to-use syncs
Explore our Invoices Sync
Explore our E-commerce Sync
Explore our POS Sync
Explore our PMS Sync
Explore our Payments Sync
## Explore other possibilites
Through our Unified APIs, we can also create other types of syncs for you, e.g.:
* Sync of expenses to accounting
* Sync of transactions to accounting
* Sync of pos data to ERP
* ...
Do not hesitate to [contact us](https://chift.eu/contact) if you need help with that.
# Payment sync
Source: https://docs.chift.eu/syncs/payment-sync
This sync will allow you to sync payments from payment software (e.g. Mollie, Stripe, Paypal, etc.) with accounting software.
Default scope:
* Retrieve transactions by balance (each balance is linked to transactions in a specific currency)
* These transactions can be synchronised with the accounting system in 2 different ways:
* One accounting entry for each transaction
* One accounting entry grouped by transaction type and period
It can be triggered daily, weekly or monthly.
### Configuration of the sync & mappings
Mappings are the way to map the data from the payment software to the accounting software.
This step allows user to connect its payment tool through api key, credentials or oauth2.
This step allows user to connect its accounting tool through api key, credentials or oauth2.
This step allows you to specify which balances you want to synchronise.
*Reproduce this step by using the following API call(s) :*
GET Retrieve all balances
Here you are going to select your accounting journals for the synchronisation.
*Reproduce this step by using the following API call(s) :*
GET journals
Here you are going to select default accounting accounts (client account, bank account, expense account, ...) for the synchronisation.
*Reproduce this step by using the following API call(s) :*
GET chart of accounts
### Configuration
1. This final step allows you to specify the synchronization start date: choice of the date from which payments will be synchronized.
Synchronization starts automatically but you can choose:
* Each night (at 1 AM)
* Each monday (at 1 AM)
* Each first day of the month (at 1 AM)
2. Choose between one aggregated entry per period or one entry per invoice
# PMS sync
Source: https://docs.chift.eu/syncs/pms-sync
This sync will allow you to sync pms orders and payments with accounting software.
### Default scope:
This integration sync will automate PMS accounting (also called Property Management System), making manual exports unnecessary.
The integration will import sales and payments entries into accounting on the frequency defined in the configuration (daily, weekly or monthly).
The integration supports management of different payment methods, product categories and/or VAT rates.
The accounting entries will be created in the accounting journal specified in the configuration.
You can choose wheter to have:
* a single entry per period
* a single entry per invoice
Specific period will only be imported if the period is closed (max 7 days or defined in the configuration of the software)
### Mappings
Mappings are the way to map the data from the pos software to the accounting software.
This step allows user to connect its accounting tool through apikey, credentials or oauth2.
This step allows user to connect its property management system tool through apikey, credentials or oauth2.
This step allows you to specify the accounting journal in which to create accounting entries
*Reproduce this step by using the following API call(s) :*
GET journals
* When you create one entry per period, this will be the client account you will use to balance your accounting entries.
* When you create one entry per invoice, this will be the default client account you will use for your invoices if the account is not specified in the client's invoice (configuration to be done in the PMS software).
*Reproduce this step by using the following API call(s) :*
GET chart of accounts
*(Filter on class 4 accounts)*
This step allows you to choose the accounting account for each payment method (credit card, cash, etc.)
*Reproduce this step by using the following API call(s) :*
GET Payment methods
GET chart of accounts
*(Filter on class 4 and 5 accounts)*
This step allows you to define how revenue is classified.\
You have to select an accounting account next to each accounting category.
*Reproduce this step by using the following API call(s) :*
GET Accounting categories
GET chart of accounts
*(Filter on class 4 and 7 accounts)*
### Configuration
1. This final step allows you to specify the synchronization start date: choice of the date from which Z tickets will be synchronized.
Synchronization starts automatically each night (at 6 AM).
1. Choose between one aggregated entry per period or one entry per invoice
# POS sync
Source: https://docs.chift.eu/syncs/pos-sync
This sync will allow you to sync pos orders and payments with accounting software.
### Default scope:
This integration sync will automate cash register accounting (also called Point of Sale or POS), making manual exports unnecessary.
The integration will import daily sales and payments entries into accounting (Z ticket or cash register Z report).
The integration supports management of different payment methods, product categories and/or VAT rates.
The integration also supports management of tips and complimentary items.
Note that this is the default scope, based on your requirements this can be modified.
### Mappings
Mappings are the way to map the data from the pos software to the accounting software.
Note that this is are the default mappings, based on your requirements these can be modified.
This step allows user to connect its accounting tool through apikey, credentials or oauth2.
This step allows user to connect its POS software tool through apikey, credentials or oauth2.
This step allows you to specify the accounting journal in which to create closing entries
*Reproduce this step by using the following API call(s) :*
GET journals
This step allows you to choose the accounting account for each payment method (credit card, cash, etc.)\
If no match is found for a payment method (for example: a new payment method is added and not configured in the synchronization configuration), then account X is used.
*Reproduce this step by using the following API call(s) :*
GET payment methods
GET chart of accounts
*(Filter on class 4 and 5 accounts)*
This step allows you to define how revenue is classified, the amounts excluding VAT can be allocated in 2 different ways:
* By product categories: the accounting account is determined based on the category linked to the product being sold. If the product is not linked to any category, then the accounting account indicated in the last option (=other) of this step's configuration is used
* By VAT rates: the accounting account is determined based on the VAT rate associated with the amount excluding VAT
*Reproduce this step by using the following API call(s) :*
GET accounting categories
GET chart of accounts
*(Filter on class 4 and 7 accounts)*
Choose accounting accounts to record specific cases. In this step, you can also indicate the default sales account mentioned in step 6 above.
*Reproduce this step by using the following API call(s) :*
GET accounting categories
GET chart of accounts
This step allows you to choose the accounting account for tips.\
This account will then be used when creating accounting entries to record the day's tips.
*Reproduce this step by using the following API call(s) :*
GET accounting categories
GET chart of accounts
This step involves indicating whether you want to create an additional entry for complimentary items:
* If the option is not activated, anything given away for free is not shown in the generated accounting entries.
* If you activate this option, you'll need to indicate an account to use for debit and credit. When creating accounting entries, these two accounts will be used to indicate the amount given away during each day. Generally, this involves a `class 7 account` for credit and a `class 6 account` for debit.
*Reproduce this step by using the following API call(s) :*
GET chart of accounts
*(Filter on class 6 and 7 accounts)*
This step allows you to specify whether entries are made in a account for discounts, rebates and debates ; it is an optionnal step.
*Reproduce this step by using the following API call(s) :*
GET chart of accounts
*(Filter on class 6 and 7 accounts)*
### Configuration
1. This final step allows you to specify the synchronization start date: choice of the date from which Z tickets will be synchronized.
💡 Synchronization starts automatically each night (at 6 AM).
2. Rounding default values
Indicate the allowance that you tolerate for rounding errors (e.g. 1.00).
### Troubleshooting
See the [following guide](/syncs/troubleshooting/pos-sync) for troubleshooting.
# Pre-oauth2 sync
Source: https://docs.chift.eu/syncs/pre-oauth2-sync
In the pre-oauth2 sync, we do the same as the embedded sync, but you don't have to do any development on your side (you can if you want to retrieve statuses of executions, ...).
The requirement is that you have an OAuth2 authentication flow in your software.
You will only have to share one URL for each app that you want to connect to your end-users.
This URL is protected by your OAuth2 authentication flow (only people with an account in your software can access this URL).
Based on this authentication, we will create the consumer and the associated connection.
If the user comes back to this configuration page, we will re-use the existing consumer and connection.
This gives you the possibility to embed the configuration page of the sync in your software while not having to develop anything and delivering a fully white-labeled and smooth experience to your end-users.
# Manual execution of a sync
Source: https://docs.chift.eu/syncs/self-service
You can trigger a new execution for any of your clients at any time from their consumer page.
To run the synchronization, simply click the **play** button next to the sync.
When you click this button, there are two possible scenarios:
1. Your sync **does not support** manual execution for a specific period.
2. Your sync **supports** manual execution for a specific period.
## Your sync doesn’t support manual execution for a specific period
If your sync doesn’t support manual execution for a specific period, the following tab will open when you click the play button:
From here, you can simply click **Execute** to start the sync for your client.\
This will run the default synchronization.
## Your sync supports manual execution for a specific period
In this case, you can either run the default synchronization or run it for a specific date.
*(If this view doesn’t appear when you click the play button, it means this feature hasn’t been implemented yet for your sync. Please reach out to your CSM.)*
The self-service feature lets you choose between the following options:
* Synchronize all missing data (don’t re-import data that’s already been synchronized).
* Synchronize all data for a specific date, as if nothing had been imported before.
* Synchronize all data for a specific date range, as if nothing had been imported before.
### Run the default synchronization
To run the default synchronization (which won’t import anything that’s already been imported), simply click **Execute** without changing anything on this tab.
### Force synchronization for a specific date
To run the synchronization for a specific date, click the **Single Date** tab, select the date you want to import, and click **Execute**.
Note that this will import all data, **even if it has already been imported before.**
**You must make sure with the client that the data can be safely re-imported; otherwise, the data will be duplicated in their tool.**
If you’ve received confirmation from the client, check the **“I confirm”** checkbox and click **Execute** to start the synchronization.
### Force synchronization for a date range
To run the synchronization for a range of dates, click the **Date Range** tab, select the desired dates, and click **Execute**.
You’ll then be asked what needs to be imported:
* If you only want to import missing data, simply click **Execute** and the sync will start immediately.
* If you want to re-import all data for that date range, select the second option.
If data was already imported for that date range, you will see an alert asking you to confirm the import of data.\
Make sure with the client that this is acceptable, otherwise this might result with duplicate data into your tool.\
Check the **“I confirm”** checkbox and click **Execute** to start the synchronization.
***
## Execution statuses
Each execution is assigned a status that reflects its current state or final outcome. These statuses help you quickly determine whether the synchronization completed successfully or requires attention.
### IN PROGRESS
**The execution is currently running.**
* The sync has been triggered and is actively processing.
* Logs and results may still be incomplete.
* The status will update automatically once the execution finishes.
***
### FINISHED
**All good — no errors occurred.**
* The execution completed successfully.
* All steps were processed without validation or technical errors.
* No corrective action is required.
This is the expected status for a healthy synchronization.
***
### FINISHED ⚠︎
**Completed with non-fatal errors.**
* The execution finished processing.
* One or more issues occurred (for example, validation errors or partial rejections).
* No fatal or system-level error interrupted the execution.
Typical examples:
* Validation errors on specific records
* Business rule violations
* Non-blocking data inconsistencies
The synchronization completed, but reviewing the execution details is recommended.
***
### ERROR
**Execution failed due to a fatal error.**
* The sync could not complete successfully.
* A critical issue interrupted the process.
Typical examples:
* Authentication or authorization failures
* Connectivity issues
* Technical or system exceptions
* Configuration errors
Investigation is required. After resolving the root cause, the execution should be retried.
***
### CANCELED
**Execution was manually stopped.**
* The sync was intentionally canceled before completion.
* No further processing occurred after cancellation.
This status typically results from manual user intervention or administrative action.
# POS sync
Source: https://docs.chift.eu/syncs/troubleshooting/pos-sync
This guide covers recurring issues that might occur with the POS to Accounting sync.\
It will provide you with required information on how to tackle issues inside the platform.
## My client is experiencing synchronization issues – what should I check?
If your client is facing any issues with its synchronization, start by determining the consumer ID of its synchronization. This is the ID used for all communications regarding that client.
To find it, you’ll need the name the client used when setting up their synchronization. You can also search using the email address of the person who created the sync.
### Is the synchronization enabled for my client?
A synchronization is considered enabled if:
1. An accounting tool is connected.
2. A POS tool is connected.
3. All mappings have been completed by the user.
To check points 1 and 2, look at the **connection** section in the screenshot above. In this example, both Pennylane and Lightspeed have an active status.
If one is missing or pending, this indicates that the sync has not been fully enabled yet or that you’re checking the wrong consumer.
To check point 3, apply the same logic to the **sync** section. If you see that the status of the sync is “enabled,” this indicates that the sync has been configured and that data should be synchronized into the accounting tool (here, Pennylane).
If one of the above points is not met, the synchronization will not be executed for your client.\
You can see the current configuration of your client by clicking on "Get sync link" on the right top of the page.\
This will bring you the configuration page of your client (be careful to not modify connexions or mappings).\
This should you help you to evaluate what is going wrong.\
If your client is not able to connect to its POS or Accounting tool, please take a look to our [connector documentation](https://help.chift.app/collections/2773792625-activation-of-integrations) page.
### Has the synchronization been executed for my client?
To see if a synchronization has been executed, check two different places:
1. The **Sync** section visible in the screenshot above. If you see a value in the “Last Execution” column, this indicates that the sync has already been executed at least once.
2. When you scroll down on the consumer page, you’ll find the transaction table listing all detailed requests related to this consumer. Click on the **Executions** tab to see all previous synchronization runs.
### The synchronization has already been executed but some data are missing
First, go to the list of executions for this consumer (as described above) and click on the latest completed execution (Success or Error). There, you’ll find all the detailed logs available for this synchronization.
**All related error messages are listed here.**
#### Requests show a 401 or 403 status
This indicates that the connected tool is blocking the connection. Possible causes include:
* The user changed their password.
* The connection token was revoked.
* Some prerequisites were not met.
To fix this, the client should:
* Verify the prerequisites for the tool they’re trying to connect to (see [all connector documentation](https://help.chift.app/collections/2773792625-activation-of-integrations)).
* Once the prerequisites are confirmed, reconnect the tool from the connection page.
Once both steps are completed, the connection should work properly.
#### The sum of all lines does not match
This error indicates that the synchronization failed to match the items sold in a ticket with the total amount for that ticket.
This can happen if:
* The order included a tip that was not recorded in the POS tool.
* Discounts were not properly configured in the POS tool.
* There is another issue with the order data provided.
If you’ve confirmed with the client that the first two points don’t apply, open a support ticket. Include the consumer ID of the synchronization and a detailed description of the issue.
## Issues reported by the client
### A specific day has not been imported
If a particular day has not been imported, please verify the following:
1. The date range configured by your client includes the day to be imported. For example, if the client selected September 1st, we won’t try to synchronize orders from August 30th.
This can be found using the "Get sync link" button and go to the last configuration step.
2. The day is still open in the POS tool. This means the service has not been closed yet, so it won’t be synchronized.
3. There’s an error for that day. In that case, check the execution details to get more information about the error. You’ll find more information about this in the section of this article describing the different possible errors.
### The client wants to re-import data for dates already imported
You can manually trigger this sync again to re-import the data. For details, refer to [the relevant documentation](/syncs/self-service).
### The client notices differences between the values on their POS tool and Accounting tool
If the client notices differences in the imported values, the first thing to check is the tolerance defined in the synchronization settings.
To verify this, open the sync configuration (Get sync link - button) and go to the last configuration step.
In the example above, the client has configured a tolerance of up to **50 euros**, meaning that order data will still be synchronized to the accounting tool even if there is a difference of up to 50 euros.
If the client reports discrepancies while having a high tolerance value, the first recommended action is to lower the tolerance to a more realistic value, then wait a few days to check the synchronized values after this change.
If the tolerance is already set to a realistic value and discrepancies persist, please reach out to our support team with the following details:
* The **consumer ID**
* If the tolerance was recently updated based on your feedback: the **date** when the change was applied
* The **amounts expected** by the client for one of the most recent synchronized dates
* A **detailed export of sales** for the same date from the client’s POS tool, to help us compare orders, synchronized values, and expected values. This export must include:
* Order number
* Order items
* Quantity sold
* Product amounts (total including VAT, VAT amounts, etc.)
⚠️ **Do not provide a processed file** that only shows the total amount for the date.
# Data types
Source: https://docs.chift.eu/unified-apis/PMS/datatypes
Orders
Payments
Invoices
Customers
Locations
Payment methods
Accounting categories
Closure
# Introduction to our PMS APIs
Source: https://docs.chift.eu/unified-apis/PMS/overview
View our [API documentation](/api-reference/endpoints/property-management-system) for details about the PMS endpoints and the data models.
Our PMS APIs simplifies integration with property management systems..
This API allows you to:
* Access and manage property data seamlessly
* Retrieve reservations and bookings
* Integrate with various hospitality services
Typical use cases covered by our PMS APIs are the following:
Connect to various PMS software to be able to provide reporting to your end-users.
Connect to Chift's PMS API to automate manual inputs of your accounting processes.
## Explore our PMS API
* **API Reference** – [PMS's API Documentation](/api-reference/endpoints/property-management-system)
* **Connector Overview** – [PMS connectors overview](/connectors/pms/overview)
* **Connector Coverage** – [PMS connectors coverage](/connectors/pms/coverage)
# Data types
Source: https://docs.chift.eu/unified-apis/POS/datatypes
Orders
Payments
Sales
Customers
Locations
Payment methods
Product categories
Products
Accounting categories
Closures
Objectives
# Introduction to our POS APIs
Source: https://docs.chift.eu/unified-apis/POS/overview
View our [API documentation](/api-reference/endpoints/point-of-sale) for details about the POS endpoints and the data models.
Our POS APIs facilitate integration with various point-of-sale systems, enabling businesses to retrieve sales data, inventory, and customer information across multiple POS platforms.
This unified approach simplifies the process of collecting and analyzing sales data from different retail locations or restaurants.
Typical use cases covered by our POS APIs are the following:
Connect to various POS software to be able to provide reporting to your end-users.
Connect to Chift's POS API to automate manual inputs of your accounting processes.
## Explore our POS API
* **API Reference** – [POS's API Documentation](/api-reference/endpoints/point-of-sale)
* **Implementation Guides** – [POS implementation guides](/developer-guides/api-guides/pos)
* **Connector Overview** – [POS connectors overview](/connectors/pos/overview)
* **Connector Coverage** – [POS connectors coverage](/connectors/pos/coverage)
# Connectors
Source: https://docs.chift.eu/unified-apis/accounting/connectors
## Accounting
}>
Explore ACD
}>
Explore AFAS Software
}>
Explore Cegid Loop
}>
Explore Cegid Quadra
}>
Explore Datev
}>
Explore Dynamics 365 Business Central
}>
Explore e-Boekhouden
}>
Explore VISMA eAccounting
}>
Explore Exact Online
}>
Explore Fiken
}>
Explore Fulll
}>
Explore Holded
}>
Explore Horus
}>
Explore Inqom
}>
Explore Lexoffice
}>
Explore Minox
}>
Explore Moneybird
}>
Explore MyUnisoft
}>
Explore Netsuite
}>
Explore Octopus
}>
Explore Odoo
}>
Explore Pennylane
}>
Explore QuickBooks Accounting
}>
Explore Reviso
}>
Explore Sage 50 FR
}>
Explore Sage 100 FR
}>
Explore Sage Bob 50
}>
Explore Sage Generation Expert
}>
Explore Sage Intacct
}>
Explore SnelStart
}>
Explore Tiime
}>
Explore Tripletex
}>
Explore Twinfield
}>
Explore Yuki
}>
Explore Winbooks
}>
Explore Xero
}>
Explore Lexoffice
}>
Explore sevdesk
# Bookyear
Source: https://docs.chift.eu/unified-apis/accounting/datatypes/bookyear
### Definition
A bookyear represents a specific accounting period (typically 12 months) within a folder. It defines the temporal structure that accounting systems universally impose.
### Purpose
Accounting is fundamentally organized around periods that must be opened and closed.\
All transactions must be recorded within these periods, and companies are required to report financial results for each bookyear.
### Relationships
* Belongs to a specific **folder**.
* Contains all accounting records for that accounting period.
* Multiple bookyears can exist within a folder for historical management, but usually only one is active at a time.
* Operations are typically prohibited on closed bookyears.
### Endpoints
| Method | Endpoint | Description |
| ------ | ------------------------------------------------------------------ | ------------------------------- |
| GET | [Get bookyears](/api-reference/endpoints/accounting/get-bookyears) | List all bookyears for a folder |
# Chart of Accounts
Source: https://docs.chift.eu/unified-apis/accounting/datatypes/chart-of-accounts
### Definition
* **Chart of Accounts (CoA):** The complete list of all accounts a company uses to record its financial transactions, organized systematically.
* **Ledger Accounts:** The individual accounts within the CoA that track specific categories such as assets, liabilities, equity, revenues, or expenses.
### Purpose
* The **Chart of Accounts** provides the backbone for financial reporting by ensuring all transactions are consistently classified.
* **Ledger Accounts** hold the detailed records of each type of financial activity and serve as the foundation for journals, entries, and financial statements.
### Structure
* **Chart of Accounts**
* Organized by account codes or numbering ranges
* Can be hierarchical (main accounts, sub-accounts)
* Includes account type classifications (Asset, Liability, Equity, Revenue, Expense)
* **Ledger Accounts**
* Each has an account number, name, description, and type
* Store balances and transaction history
* Can be customized per folder/company while following the general framework
### Relationships
* Each **folder** has one Chart of Accounts.
* The Chart of Accounts contains all **ledger accounts**.
* Ledger accounts are referenced by **journal entries** (debit and credit lines) and **invoice lines**.
* Account balances are continuously updated through journal entries.
* The CoA is the basis for generating financial statements.
| Method | Endpoint | Description |
| ------ | ---------------------------------------------------------------------------------------------- | ------------------------------ |
| POST | [Create Ledger Account](/api-reference/endpoints/accounting/create-ledger-account) | Create a new ledger account |
| GET | [Get Chart of Accounts](/api-reference/endpoints/accounting/get-chart-of-accounts) | Retrieve the chart of accounts |
| POST | [Get the Balance of Accounts](/api-reference/endpoints/accounting/get-the-balance-of-accounts) | Retrieve balances of accounts |
# Folders
Source: https://docs.chift.eu/unified-apis/accounting/datatypes/folder
### Definition
Top-level organizational containers that represent the different legal entities within an accounting system.
### Purpose
Folders provide the highest level of data segregation. They allow you to manage multiple companies or business units through a single API integration.
### Relationships
* Each folder contains one or more **bookyears**.
* Serves as the root container for all accounting data of a specific business entity.
### Endpoints
| Method | Endpoint | Description |
| ------ | -------------------------------------------------------------- | ------------------------------- |
| GET | [Get folders](/api-reference/endpoints/accounting/get-folders) | List all folders for a consumer |
### See also
* [Multi-folder feature](/developer-guides/api-guides/accounting/folders)
# Invoices (Sales / Purchase Entries)
Source: https://docs.chift.eu/unified-apis/accounting/datatypes/invoices
### Definition
**Sales and purchase entries** provide the API route for creating **customer invoices (sales)** and **supplier invoices (purchases)** in the accounting system.\
They abstract the underlying accounting complexity while ensuring that every transaction is properly reflected in the ledger.
### Purpose
* **Simplify invoice creation** for users by providing a business-friendly interface.
* **Automatically generate balanced journal entries** behind the scenes, ensuring accounting integrity.
* **Standardize behavior across accounting systems**, whether or not the target system natively supports invoices.
* **Ensure proper linkage to ledger accounts** for revenue, expenses, taxes, and receivables/payables.
* **Integrate with payment reconciliation processes** and matching workflows.
### Data Abstraction Logic
* **Target system supports invoices**: creates native invoice objects in the accounting software.
* **Target system lacks invoice support**: automatically generates equivalent journal entries to produce the same accounting result.
* Guarantees
### Endpoints
| Method | Endpoint | Description |
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| POST | [Create Sale/Purchase Entry](/api-reference/endpoints/accounting/create-salepurchase-entry) | Create a single sale/purchase entry |
| POST | [Create Sale/Purchase Entry (Multiple Plans)](/api-reference/endpoints/accounting/create-analytic-account-multiple-analytic-plans) | Create multiple entries with analytic plans |
| GET | [Get Invoices by Type](/api-reference/endpoints/accounting/get-invoices-by-type-salepurchase-entries) | List invoices by type (sale/purchase) |
| GET | [Get One Invoice](/api-reference/endpoints/accounting/get-one-invoice-salepurchase-entry) | Retrieve a specific invoice |
| GET | [Get One Invoice (Multiple Analytic Plans)](/api-reference/endpoints/accounting/get-one-invoice-salepurchase-entry--multiple-analytic-plans) | Retrieve invoice with multiple analytic plans |
| GET | [Get Invoices by Type (Multiple Analytic Plans)](/api-reference/endpoints/accounting/get-invoices-by-type-salepurchase-entries--multiple-analytic-plans) | List invoices by type with multiple analytic plans |
### See also
* [working with accounts in invoices](/developer-guides/api-guides/accounting/accounts-invoice)
# Journal entries
Source: https://docs.chift.eu/unified-apis/accounting/datatypes/journal-entries
### Definition
A **journal entry** (also known as a **GL entry** in Anglo-Saxon accounting systems) is the lowest-level accounting record of a business transaction.\
It always contains at least two lines and must balance: the total debits equal the total credits.\
This principle is universal across all accounting models and forms the foundation of (double-entry) bookkeeping.
### Purpose
* Serves as the **base unit of accounting**: every transaction ultimately results in one or more journal entries.
* Provides full flexibility: any transaction can be recorded here, from simple payments to complex adjustments.
* While journal entries can always be used, the API also exposes **specialized entry endpoints** (e.g. Financial Entries, Sales/Purchase Entries) that simplify common use cases by exposing only the relevent fields.
### Structure
Each journal entry includes:
* **Date** of transaction
* **Reference/description**
* **Journal identifier** (the journal where the entry is recorded)
* **Lines** (minimum two: each line is a debit or credit on a ledger account, and all lines must balance)
* Optional links to **source documents** (e.g. invoice, bank statement)
### Relationships
* Recorded inside a specific **journal** (and therefore linked to a bookyear via the journal).
* References **ledger accounts** through debit and credit lines.
* Can be generated automatically from higher-level abstractions such as **invoices** or **financial entries**.
* Specialized entry types (sales, purchase, financial) are simplified versions of journal entries.
### Endpoints
| Method | Endpoint | Description |
| ------ | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| POST | [Create Journal Entry](/api-reference/endpoints/accounting/create-journal-entry) | Create a journal entry |
| POST | [Create a Financial Entry](/api-reference/endpoints/accounting/create-a-financial-entry) | Create a simplified financial entry |
| GET | [Get Journal Entries](/api-reference/endpoints/accounting/get-journal-entries) | List all journal entries |
| GET | [Get Journal Entries (Multiple Analytic Plans)](/api-reference/endpoints/accounting/get-journal-entries-multiple-analytic-plans) | List journal entries with multiple analytic plans |
| GET | [Get One Journal Entry](/api-reference/endpoints/accounting/get-one-journal-entry) | Retrieve a specific journal entry |
| POST | [Match Entries](/api-reference/endpoints/accounting/match-entries) | Match journal entries for reconciliation |
### See also
* [working with accounts in journal entries](/developer-guides/api-guides/accounting/accounts-je)
# Journals
Source: https://docs.chift.eu/unified-apis/accounting/datatypes/journals
### Definition
A **journal** is a logical book of entry that groups accounting transactions by type before they are posted to the ledger.\
In some european countries (e.g France, Belgium, Spain ), every transaction must be recorded in a journal (sales, purchases, bank, etc.) before feeding into the general ledger.\
In other systems (e.g. Anglo-Saxon accounting), the concept of journal is less explicit but similar functionality exists under batch posting, templates, or sub-ledgers.
### Purpose
* Provides chronological recording and classification of transactions.
* Ensures traceability and compliance in jurisdictions where journals are legally required.
* Serves as an organizational layer that simplifies reconciliation and reporting.
### Common Journal Types
* **Sales Journal** → Customer invoices and revenue transactions.
* **Purchase Journal** → Supplier invoices and expense transactions.
* **Bank Journal** → Each bank account has its own dedicated journal.
* **Cash Journal** → Cash operations.
* **General Journal** → Adjustments, opening balances, miscellaneous transactions.
### Comparison with General Ledger
* **Journals**: First entry point for transactions, organized by type and chronology.
* **General Ledger**: The consolidated record of all accounts, balances, and financial statements.\
Even in systems without explicit journals, transactions typically pass through batch postings or templates before reaching the general ledger.
### Relationships
* Journals are defined at the level of a **folder** (company/entity).
* Transactions recorded in a journal are tied to a **bookyear** through their dates.
* Contains multiple **journal entries** recorded in chronological order.
* Journal entries posted in journals feed into the **ledger accounts**.
* Each bank account is usually tied to its own dedicated journal.
### Endpoints
| Method | Endpoint | Description |
| ------ | -------------------------------------------------------------------- | -------------------- |
| POST | [Create Journal](/api-reference/endpoints/accounting/create-journal) | Create a new journal |
| GET | [Get Journals](/api-reference/endpoints/accounting/get-journals) | List all journals |
# Partners (Customers, Suppliers, Employees)
Source: https://docs.chift.eu/unified-apis/accounting/datatypes/partners
### Definition
A **partner** represents a counterparty involved in your accounting processes.
Partners are the **third parties** used in accounting: **customers**, **suppliers**, and **employees**. They are required to post receivable/payable/payroll-related entries and to drive reconciliation flows.
### Purpose
* Serve as the **reference entity** for transactions in the accounting system.
* Maintain accurate accounting records by linking transactions to the correct accounts.
* Provide additional metadata such as contact information, payment terms, and tax information.
### Relationships
* Always referenced by **invoices**. Possibly also in **financial entries**, and **journal entries**.
* Can have default **ledger accounts** for automatic posting in journal entries.
### Endpoints
#### Clients
| Method | Endpoint | Description |
| ------ | -------------------------------------------------------------------- | -------------------------- |
| POST | [Create Client](/api-reference/endpoints/accounting/create-client) | Create a client (customer) |
| GET | [Get One Client](/api-reference/endpoints/accounting/get-one-client) | Retrieve a specific client |
| GET | [Get Clients](/api-reference/endpoints/accounting/get-clients) | List all clients |
| PATCH | [Update Client](/api-reference/endpoints/accounting/update-client) | Update an existing client |
#### Suppliers
| Method | Endpoint | Description |
| ------ | ------------------------------------------------------------------------- | ---------------------------- |
| POST | [Create Supplier](/api-reference/endpoints/accounting/create-supplier) | Create a supplier |
| GET | [Get One Supplier](/api-reference/endpoints/accounting/get-one-supplier) | Retrieve a specific supplier |
| GET | [Get Suppliers](/api-reference/endpoints/accounting/get-suppliers) | List all suppliers |
| PATCH | [Update Supplier](api-reference/endpoints/accounting/update-one-supplier) | Update an existing supplier |
#### Employees
| Method | Endpoint | Description |
| ------ | ------------------------------------------------------------------ | ------------------ |
| GET | [Get Employees](/api-reference/endpoints/accounting/get-employees) | List all employees |
### See also
* [Working with accounts in journal entries](/developer-guides/api-guides/accounting/accounts-je)
* [Invoices and partners](/developer-guides/api-guides/accounting/accounts-invoice)
# Introduction to our Accounting APIs
Source: https://docs.chift.eu/unified-apis/accounting/overview
One API to access and manage accounting data across all major software providers.
## Why use the Accounting API?
* Connect to multiple accounting platforms with a single integration
* Access standardized data models for journals, invoices, expenses, and more
* Handle provider-specific differences seamlessly
* Reduce implementation and maintenance time
***
## How it works
```mermaid theme={null}
flowchart LR
A[Your App] --> B[Unified Accounting API]
B --> C[Sage]
B --> D[Cegid]
B --> E[Xero]
B --> F[QuickBooks]
```
**Explore our Accounting API:**
* **API Reference** – [Accounting's API Documentation](/api-reference/endpoints/accounting)
* **Data Types & Concepts** – [Accounting's data types and concepts](/unified-apis/accounting/datatypes)
* **Implementation Guides** – [Accounting implementation guides](/developer-guides/api-guides/accounting)
* **Connector Overview** – [Accounting connectors overview](/connectors/accounting/overview)
* **Connector Coverage** – [Accounting connectors coverage](/connectors/accounting/coverage)
# Data types
Source: https://docs.chift.eu/unified-apis/banking/datatypes
Financial institutions
Banking accounts
Financial accounts
Counterparts accounts
# Introduction to our Banking APIs
Source: https://docs.chift.eu/unified-apis/banking/overview
View our [API documentation](/api-reference/endpoints/banking) for details about the banking endpoints and the data models.
Our Banking API's simplifies integration with banks through external providers.
This API allows you to:
* Aggregate account information from multiple banks
* Access real-time transaction database
Typical use cases covered by our Payment APIs are the following:
Connect to your users' banks be able to provide reporting to your end-users.
Import automatically transactions into your tool to predict your future expenses.
Connect to Chift's Banking API to automate manual inputs of your accounting processes.
Write your customers' bank transaction data into your tool for reconcilliation.
## Explore our Banking API
* **API Reference** – [Banking's API Documentation](/api-reference/endpoints/banking)
* **Connector Overview** – [Banking connectors overview](/connectors/banking/overview)
* **Connector Coverage** – [Banking connectors coverage](/connectors/banking/coverage)
# Data types
Source: https://docs.chift.eu/unified-apis/ecommerce/datatypes
Customers
Products
Locations
Orders
Payment methods
Product categories
Tax rates
Countries
# Introduction to our eCommerce APIs
Source: https://docs.chift.eu/unified-apis/ecommerce/overview
View our [API documentation](/api-reference/endpoints/ecommerce) for details about the eCommerce endpoints and the data models.
Our eCommerce APIs offer a single point of integration for various online shopping platforms and marketplaces.
This enables businesses to manage product listings, orders, and customer data across multiple eCommerce channels, simplifying multi-channel selling and inventory management.
Typical use cases covered by our eCommerce APIs are the following:
Connect to various ecommerce software to be able to provide reporting to your end-users.
Connect your cash flow management platform to Chift's ecommerce API and sync orders to access future cash operations.
Connect to Chift's ecommerce API to automate manual inputs of your accounting processes.
## Explore our Ecommerce API
* **API Reference** – [Ecommerce's API Documentation](/api-reference/endpoints/ecommerce)
* **Connector Overview** – [Ecommerce connectors overview](/connectors/ecommerce/overview)
* **Connector Coverage** – [Ecommerce connectors coverage](/connectors/ecommerce/coverage)
# Data types
Source: https://docs.chift.eu/unified-apis/invoicing/datatypes
Invoices
Taxes
Products
Opportunities
Contacts
# Introduction to our Invoicing APIs
Source: https://docs.chift.eu/unified-apis/invoicing/overview
View our [API documentation](/api-reference/endpoints/invoicing) for details about the invoicing endpoints and the data models.
Our invoicing APIs provides a standardized way to interact with multiple invoicing platforms.
This allows you to create, send, and manage invoices across different systems.
Typical use cases covered by our Invoicing APIs are the following:
Connect to various invoicing software to be able to provide reporting to your end-users.
Connect your cash flow management platform to Chift's invoicing API and sync open invoices to access future cash operations.
Connect your debt recovery platform to Chift's invoicing API and use invoices' statuses to automate processes and save your users precious time.
Connect your digital lending platform to Chift's invoicing API and sync data from your users' invoicing tools to fully automate the loan eligibility assessment process.
Connect to Chift's invoicing API to automate manual inputs of your accounting processes.
## Explore our Invoicing API
* **API Reference** – [Invoicing's API Documentation](/api-reference/endpoints/invoicing)
* **Connector Overview** – [Invoicing connectors overview](/connectors/invoicing/overview)
* **Connector Coverage** – [Invoicing connectors coverage](/connectors/invoicing/coverage)
# Unified APIs
Source: https://docs.chift.eu/unified-apis/overview
Build once. Connect everywhere.
With Chift’s Unified APIs, you only need **one integration** to unlock a full family of financial connectors — all embedded and white-labeled within your product.
***
View our [API documentation](/api-reference) for details about the endpoints and the data models.
## Why use Unified APIs?
* Save time: no need to build and maintain separate connectors
* Reduce costs: avoid a dedicated integration team
* Expand coverage: access many providers with one integration
## Explore our Unified APIs
Explore our Accounting API
Explore our Point of Sale API
Explore our eCommerce API
Explore our Invoicing API
Explore our Banking API
Explore our Payment API
Explore our Property Management System API
# Data types
Source: https://docs.chift.eu/unified-apis/payment/datatypes
Balances
Transactions
Payments
Refunds
# Introduction to our Payment APIs
Source: https://docs.chift.eu/unified-apis/payment/overview
View our [API documentation](/api-reference/endpoints/payment) for details about the payment endpoints and the data models.
Our Payment API's streamlines integration with payment processors, including popular providers like Mollie and Stripe.
This API enables you to:
* Retrieve transactions
* Retrieve balances
Typical use cases covered by our Payment APIs are the following:
Connect to various Payment software to be able to provide reporting to your end-users.
Connect to Chift's Payment API to automate manual inputs of your accounting processes.
## Explore our Payment API
* **API Reference** – [Payment's API Documentation](/api-reference/endpoints/payment)
* **Connector Overview** – [Payment connectors overview](/connectors/payments/overview)
* **Connector Coverage** – [Payment connectors coverage](/connectors/payments/coverage)