Realtime dossiers. Slimmere workflows. Betere adviezen.
Met Peppol én AI heeft uw kantoor eindelijk live zicht op klantendossiers. Minder opvolging, meer automatisatie en een platform dat volledig meegroeit met uw kantoor.

Eén kantoormonitor voor uw volledige praktijk
Klik op een onderdeel om de schermafbeelding te bekijken

Alle facturen, één omgeving. Volledig in uw beheer
U werkt niet langer met versnipperde Peppol-tools of aparte logins per klant. Alles verloopt via één uniforme pre-accountingomgeving die u zelf beheert.
Van Accountants, voor Accountants
White label software
Het platform draait volledig onder uw eigen merk en uitstraling. Uw klanten ervaren dit als uw eigen interne software, niet als een externe tool.
Democratiserend verdienmodel
U bouwt zelf waarde op. Niet de softwareleverancier. Het eigenaarschap over e-facturatie verschuift terug naar het boekhoudkantoor waar het eigenlijk hoort
120% aftrekbaar
Deze digitale investering valt onder de verhoogde Belgische investeringsaftrek. Strategisch interessant én fiscaal optimaal inzetbaar voor uw kantoor.
Erkend Peppol Access Point
Facturatie loopt via een officieel erkend Peppol Access Point. Inkomende facturen worden correct afgeleverd, uitgaande facturen correct bezorgd.
invoices.ts
models.ts
schemas.ts
import { procedure, router } from "../trpc"; import * as invoiceService from "../services/invoices"; import { CreateInvoiceRequestSchema } from "../schemas"; // Create invoice procedure const createInvoice = procedure .input(CreateInvoiceRequestSchema) .mutation(async ({ input }) => { return invoiceService.createInvoice(input); }); // List invoices procedure const listInvoices = procedure .query(async ({ input }) => { return invoiceService.listInvoices(input); }); // Export router export const invoicesRouter = router({ create: createInvoice, list: listInvoices, getById: getInvoiceById, update: updateInvoice, delete: deleteInvoice });
import { z } from "zod"; import { InvoiceStatusEnum } from "@intax/db"; // Base invoice model export const InvoiceModel = z.object({ id: z.string().uuid(), number: z.string(), issueDate: z.date(), dueDate: z.date().optional(), status: z.nativeEnum(InvoiceStatusEnum), totalAmount: z.number().positive(), taxAmount: z.number().min(0), peppolId: z.string().optional(), clientId: z.string().uuid(), createdAt: z.date(), updatedAt: z.date() }); // Invoice line model export const InvoiceLineModel = z.object({ id: z.string().uuid(), description: z.string().min(1), quantity: z.number().positive(), unitPrice: z.number().positive(), invoiceId: z.string().uuid() }); export type Invoice = z.infer<typeof InvoiceModel>; export type InvoiceLine = z.infer<typeof InvoiceLineModel>;
import { z } from "zod"; import { InvoiceModel } from "./models"; // Create invoice request export const CreateInvoiceRequestSchema = z.object({ number: z.string().min(1), issueDate: z.string().datetime(), totalAmount: z.number().positive(), taxAmount: z.number().min(0), clientId: z.string().uuid() }); // List invoices request export const ListInvoicesRequestSchema = z.object({ limit: z.number().min(1).max(100), offset: z.number().min(0), status: z.enum(["draft", "sent", "paid"]).optional() });
Integraties mogelijk met

Horus
Horus
Horus
Horus