Receive changes in the state of invoices, debtors, and debt collection cases in your own system.
With webhooks, it is possible to send changes in the state of an invoice to an external system. An example of this is when you want to set up a delivery stop for a customer in the accounts, when an invoice of the customer is offered for collection. Normally, you would have to log into Payt to see which invoices are presented for collection and which customer it concerns. By means of webhooks, it is possible to automatically send a message (in the form of an HTTP request) to an external URL when an invoice is presented for collection.
Webhooks contain an administration object and, in most events, a debtor object, used to identify the corresponding administration or debtor. debtor is null when the event is not linked to a debtor, for example a message_created event for an incoming email that could not be matched to a debtor.
The context of an event is not always an invoice. It can also be a debtor, debt collection case, payment plan or planned payment. Connected invoices can be traced back through the invoice numbers in the nested data.
For OAuth applications, payloads only include fields your application is allowed to read via the granted OAuth scopes. A nested object your application may not read is sent as an empty object ({}) rather than being left out: without the debtors:read scope, for example, "debtor": {} is sent. An empty object therefore means “not readable with your scopes”, while null means the record has no such relation. If your application lacks the read scope for the event’s own object, no delivery is sent at all. Webhooks configured on an administration are not scope-limited and always receive the full payload.
The timeout for a webhook is 10 seconds. If your endpoint does not respond within 10 seconds, the attempt is considered failed.
Delivery is attempted up to 10 times with an increasing interval between attempts. If no 200 OK is returned after 10 attempts, the webhook is not sent again.
If deliveries fail often within a certain time frame, the webhook is deactivated and an email is sent to you: to the notification email address of the administration, or to the developer email address of the application. Reactivate the webhook yourself once the processing problem is resolved.
Delivery is asynchronous and order is not guaranteed. If two events occur simultaneously (for example, invoice_paid and payment_plan_finished), their order is unpredictable. You may even receive events for an invoice before its invoice_created event arrives.
A useful pattern: when you receive an event for an object you don’t know yet, respond with 404 Not Found. The event is retried and can be processed after invoice_created arrives.
Event timestamps are not guaranteed to be unique, even within the same invoice or debtor. Simultaneous events most likely share the same timestamp.
The origin_id of the administration contains, if known, the administration code of the external system loaded by Payt (for example Exact Online or Twinfield). This value can be empty, changed or outdated.Record the Payt database ids (the id attribute) in your own system and link them to your own IDs, so incoming events can be matched to the correct debtors and invoices.
Matching on invoice number alone is insufficient. Invoice numbers are unique per administration, but the same number can appear across multiple administrations. If you process webhooks from multiple Payt administrations, account for invoice numbers occurring in more than one administration.
Mutual TLS (mTLS) is a security protocol that ensures both the client and the server in a communication channel authenticate each other using digital certificates. Unlike standard TLS, which only verifies the server’s identity, mTLS adds an additional layer of security by also verifying the client’s identity.This mutual authentication ensures that:
The server trusts the client sending requests.
The client trusts the server receiving the requests.
By implementing mTLS, you can protect sensitive data, prevent unauthorized access, and reduce the risk of man-in-the-middle attacks.
Download the Payt mTLS public certificate
payt_mtls_certificate_2026.crt (valid until 2027-01-03)
You will be notified by email when a new certificate is available. We use the email address that is specified in the relevant webhook for this.
Last modified on September 28, 2026
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Payt","colors":{"primary":"#122C43","light":"#32C082","dark":"#32C082"},"logo":{"light":"https://mintcdn.com/paytsoftware/ZH7Dp8aRdwNsq2F0/logo/light.svg?fit=max\u0026auto=format\u0026n=ZH7Dp8aRdwNsq2F0\u0026q=85\u0026s=8c412f3462652d03b028d75f70193f1d","dark":"https://mintcdn.com/paytsoftware/ZH7Dp8aRdwNsq2F0/logo/dark.svg?fit=max\u0026auto=format\u0026n=ZH7Dp8aRdwNsq2F0\u0026q=85\u0026s=c2dbc62881b54c7846e9c4b504590d2f","href":"https://www.paytsoftware.com"},"favicon":"https://mintcdn.com/paytsoftware/fLh8HW04hs-NrZH5/favicon.svg?fit=max\u0026auto=format\u0026n=fLh8HW04hs-NrZH5\u0026q=85\u0026s=335ffdecb6889904840e92a2259a79aa","api":{"examples":{"prefill":false}},"background":{"decoration":"gradient","color":{"light":"#FFFFFF","dark":"#0B0B0F"}},"navbar":{"links":[{"href":"https://status.paytsoftware.com","label":"Status"},{"href":"https://app.paytsoftware.com","label":"Sign in"}],"primary":{"type":"button","label":"Support","href":"https://support.paytsoftware.com"}},"footer":{"socials":{"github":"https://github.com/paytsoftware","linkedin":"https://www.linkedin.com/company/payt-bv/posts?feedView=all"}},"fonts":{"family":"Inter"},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"paytsoftware","hasAudioNarration":false,"actualSubdomain":"paytsoftware","customDomains":["docs.paytsoftware.com"],"gitSource":{"type":"github","owner":"payt","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"3fe22434-76f1-4db4-8163-b208b154963a","liveDeploymentHistoryId":"6aead925d52bfcb363799108","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aead925d52bfcb363799108"},"feedback":{"thumbs":true,"edits":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aead925d52bfcb363799108","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":85},{"language":"default","tag":"API endpoints","count":68},{"language":"default","tag":"Docs","count":20},{"language":"default","tag":"Introduction","count":17},{"language":"default","tag":"Integrations","count":7},{"language":"default","tag":"invoices","count":7},{"language":"default","tag":"ledger_accounts","count":7},{"language":"default","tag":"payment_plans","count":7},{"language":"default","tag":"Data models","count":6},{"language":"default","tag":"Webhooks","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":".nav-logo{height:40px!important}"}],"page":{"pagePath":"webhooks/overview","slug":"/webhooks/overview","pageMetadata":{"title":"Webhooks","sidebarTitle":"Overview","description":"Receive changes in the state of invoices, debtors, and debt collection cases in your own system.","href":"/webhooks/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Receive changes in the state of invoices, debtors, and debt collection cases in your own system.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,Heading,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`With webhooks, it is possible to send changes in the state of an invoice to an external system. An example of this is when you want to set up a delivery stop for a customer in the accounts, when an invoice of the customer is offered for collection. Normally, you would have to log into Payt to see which invoices are presented for collection and which customer it concerns. By means of webhooks, it is possible to automatically send a message (in the form of an HTTP request) to an external URL when an invoice is presented for collection.`}),`\n`,_jsx(Heading,{level:`2`,id:`delivery`,children:`Delivery`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Webhooks are delivered only to an HTTPS URL.`}),`\n`,_jsx(_components.li,{children:`They are sent as a POST request with a JSON body.`}),`\n`,_jsxs(_components.li,{children:[`All dates and timestamps are in `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/Coordinated_Universal_Time`,children:`UTC`}),`, formatted as `,_jsx(_components.a,{href:`https://en.wikipedia.org/wiki/ISO_8601`,children:`ISO 8601`}),`.`]}),`\n`,_jsx(_components.li,{children:`Redirects are followed.`}),`\n`,_jsxs(_components.li,{children:[`Webhooks originate from a fixed IP address. See `,_jsx(_components.a,{href:`/reference/ip-addresses`,children:`IP addresses`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Each delivery includes these headers:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Header`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`X-PAYT-DELIVERY`})}),_jsx(_components.td,{children:`A UUID identifying the delivery attempt.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`X-PAYT-ADMINISTRATION-IDENTIFIER`})}),_jsx(_components.td,{children:`The Payt internal identifier of the administration, when the event relates to an object of an administration.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`X-PAYT-SIGNATURE`})}),_jsxs(_components.td,{children:[`HMAC signature of the payload. See `,_jsx(_components.a,{href:`/webhooks/verification`,children:`Verification`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`payload`,children:`Payload`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Webhooks contain an `,_jsx(_components.code,{children:`administration`}),` object and, in most events, a `,_jsx(_components.code,{children:`debtor`}),` object, used to identify the corresponding administration or debtor. `,_jsx(_components.code,{children:`debtor`}),` is `,_jsx(_components.code,{children:`null`}),` when the event is not linked to a debtor, for example a `,_jsx(_components.code,{children:`message_created`}),` event for an incoming email that could not be matched to a debtor.`]}),`\n`,_jsx(_components.li,{children:`The context of an event is not always an invoice. It can also be a debtor, debt collection case, payment plan or planned payment. Connected invoices can be traced back through the invoice numbers in the nested data.`}),`\n`,_jsxs(_components.li,{children:[`For OAuth applications, payloads only include fields your application is allowed to read via the granted OAuth scopes. A nested object your application may not read is sent as an empty object (`,_jsx(_components.code,{children:`{}`}),`) rather than being left out: without the `,_jsx(_components.code,{children:`debtors:read`}),` scope, for example, `,_jsx(_components.code,{children:`\"debtor\": {}`}),` is sent. An empty object therefore means “not readable with your scopes”, while `,_jsx(_components.code,{children:`null`}),` means the record has no such relation. If your application lacks the read scope for the event’s own object, no delivery is sent at all. Webhooks configured on an administration are not scope-limited and always receive the full payload.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`retries-and-timeout`,children:`Retries and timeout`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The timeout for a webhook is 10 seconds. If your endpoint does not respond within 10 seconds, the attempt is considered failed.`}),`\n`,_jsxs(_components.li,{children:[`Delivery is attempted up to 10 times with an increasing interval between attempts. If no `,_jsx(_components.code,{children:`200 OK`}),` is returned after 10 attempts, the webhook is not sent again.`]}),`\n`,_jsx(_components.li,{children:`If deliveries fail often within a certain time frame, the webhook is deactivated and an email is sent to you: to the notification email address of the administration, or to the developer email address of the application. Reactivate the webhook yourself once the processing problem is resolved.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`reliability-and-ordering`,children:`Reliability and ordering`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Delivery is asynchronous and `,_jsx(_components.strong,{children:`order is not guaranteed`}),`. If two events occur simultaneously (for example, `,_jsx(_components.code,{children:`invoice_paid`}),` and `,_jsx(_components.code,{children:`payment_plan_finished`}),`), their order is unpredictable. You may even receive events for an invoice before its `,_jsx(_components.code,{children:`invoice_created`}),` event arrives.`]}),`\n`,_jsxs(_components.li,{children:[`A useful pattern: when you receive an event for an object you don’t know yet, respond with `,_jsx(_components.code,{children:`404 Not Found`}),`. The event is retried and can be processed after `,_jsx(_components.code,{children:`invoice_created`}),` arrives.`]}),`\n`,_jsx(_components.li,{children:`Event timestamps are not guaranteed to be unique, even within the same invoice or debtor. Simultaneous events most likely share the same timestamp.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`matching-records`,children:`Matching records`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`origin_id`}),` of the administration contains, if known, the administration code of the external system loaded by Payt (for example Exact Online or Twinfield). This value can be empty, changed or outdated.`]}),`\n`,_jsxs(_components.p,{children:[`Record the Payt database ids (the `,_jsx(_components.code,{children:`id`}),` attribute) in your own system and link them to your own IDs, so incoming events can be matched to the correct debtors and invoices.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Matching on invoice number alone is insufficient.`}),` Invoice numbers are unique per administration, but the same number can appear across multiple administrations. If you process webhooks from multiple Payt administrations, account for invoice numbers occurring in more than one administration.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`mutual-tls`,children:`Mutual TLS`}),`\n`,_jsx(_components.p,{children:`Mutual TLS (mTLS) is a security protocol that ensures both the client and the server in a communication channel authenticate each other using digital certificates. Unlike standard TLS, which only verifies the server’s identity, mTLS adds an additional layer of security by also verifying the client’s identity.`}),`\n`,_jsx(_components.p,{children:`This mutual authentication ensures that:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The server trusts the client sending requests.`}),`\n`,_jsx(_components.li,{children:`The client trusts the server receiving the requests.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`By implementing mTLS, you can protect sensitive data, prevent unauthorized access, and reduce the risk of man-in-the-middle attacks.`}),`\n`,_jsx(Card,{title:`Download the Payt mTLS public certificate`,href:`https://backend.paytsoftware.com/certificates/payt_mtls_certificate_2026.crt`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`payt_mtls_certificate_2026.crt`}),` (valid until 2027-01-03)`]})}),`\n`,_jsx(_components.p,{children:`You will be notified by email when a new certificate is available. We use the email address that is specified in the relevant webhook for this.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Webhooks","sidebarTitle":"Overview","description":"Receive changes in the state of invoices, debtors, and debt collection cases in your own system.","href":"/webhooks/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Delivery","slug":"delivery","depth":2,"children":[{"title":"Payload","slug":"payload","depth":3,"children":[]}]},{"title":"Retries and timeout","slug":"retries-and-timeout","depth":2,"children":[]},{"title":"Reliability and ordering","slug":"reliability-and-ordering","depth":2,"children":[]},{"title":"Matching records","slug":"matching-records","depth":2,"children":[]},{"title":"Mutual TLS","slug":"mutual-tls","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"paytsoftware","siteName":"Payt","title":"Webhooks - Payt","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-28T12:05:25.251Z","gitLastModified":"2026-09-28T12:05:12.000Z","originalFileLocation":"webhooks/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Receive changes in the state of invoices, debtors, and debt collection cases in your own system.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Payt\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Webhooks - Payt\">\u003cmeta data-mint-head property=\"og:description\" content=\"Receive changes in the state of invoices, debtors, and debt collection cases in your own system.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Payt\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.paytsoftware.com/webhooks/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://paytsoftware.mintlify.site/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Webhooks\u0026amp;description=Receive+changes+in+the+state+of+invoices%2C+debtors%2C+and+debt+collection+cases+in+your+own+system.\u0026amp;theme=9cef3ddac9ebf432b6f5f42d\u0026amp;signature=fa6a55b96a99037e10fc323018ccbb28b172e1702ca17cf1c9d2a036b073e3ad\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Webhooks - Payt\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Receive changes in the state of invoices, debtors, and debt collection cases in your own system.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://paytsoftware.mintlify.site/_mintlify/api/og/v2?division=Webhooks\u0026amp;title=Webhooks\u0026amp;description=Receive+changes+in+the+state+of+invoices%2C+debtors%2C+and+debt+collection+cases+in+your+own+system.\u0026amp;theme=9cef3ddac9ebf432b6f5f42d\u0026amp;signature=fa6a55b96a99037e10fc323018ccbb28b172e1702ca17cf1c9d2a036b073e3ad\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/paytsoftware/gchCM8KdxTVb6-PG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Payt\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#122C43\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.paytsoftware.com/webhooks/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/webhooks/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.paytsoftware.com/#organization\",\"name\":\"Payt\",\"url\":\"https://docs.paytsoftware.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/paytsoftware/ZH7Dp8aRdwNsq2F0/logo/light.svg?fit=max\u0026auto=format\u0026n=ZH7Dp8aRdwNsq2F0\u0026q=85\u0026s=8c412f3462652d03b028d75f70193f1d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.paytsoftware.com#website\",\"name\":\"Payt\",\"url\":\"https://docs.paytsoftware.com\",\"publisher\":{\"@id\":\"https://docs.paytsoftware.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.paytsoftware.com/webhooks/overview#webpage\",\"url\":\"https://docs.paytsoftware.com/webhooks/overview\",\"name\":\"Webhooks\",\"description\":\"Receive changes in the state of invoices, debtors, and debt collection cases in your own system.\",\"dateModified\":\"2026-09-28T12:05:12.000Z\",\"isPartOf\":{\"@id\":\"https://docs.paytsoftware.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.paytsoftware.com/webhooks/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.paytsoftware.com/webhooks/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Payt\",\"item\":\"https://docs.paytsoftware.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Webhooks\",\"item\":\"https://docs.paytsoftware.com/webhooks/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.paytsoftware.com/webhooks/overview#article\",\"headline\":\"Webhooks\",\"name\":\"Webhooks\",\"description\":\"Receive changes in the state of invoices, debtors, and debt collection cases in your own system.\",\"url\":\"https://docs.paytsoftware.com/webhooks/overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.paytsoftware.com/webhooks/overview#webpage\"},\"dateModified\":\"2026-09-28T12:05:12.000Z\",\"publisher\":{\"@id\":\"https://docs.paytsoftware.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.paytsoftware.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Payt\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Payt","nav":{"global":null,"tabs":[{"tab":"Docs","pages":[{"title":"Payt Developer Documentation","sidebarTitle":"Payt documentation","href":""},{"group":"Product","pages":[{"title":"What is Payt?","href":"/product/what-is-payt"}]},{"group":"Networking","pages":[{"title":"IP addresses","description":"The fixed IP addresses Payt uses for outbound communication, so you can allowlist them in firewalls.","href":"/reference/ip-addresses"}]},{"group":"Webhooks","pages":[{"title":"Webhooks","sidebarTitle":"Overview","href":"/webhooks/overview"},{"title":"Activation","description":"How to activate webhooks for an administration in Payt.","href":"/webhooks/activation"},{"title":"Triggers","href":"/webhooks/triggers"},{"title":"Events","href":"/webhooks/events"},{"title":"Verification","href":"/webhooks/verification"},{"title":"Changelog","href":"/webhooks/changelog"}]},{"group":"Imports","pages":[{"title":"Imports","sidebarTitle":"Overview","href":"/imports/overview"},{"title":"CSV","href":"/imports/csv"},{"title":"XML","href":"/imports/xml"},{"title":"JSON","href":"/imports/json"}]},{"group":"Integrations","pages":[{"title":"Integrations","sidebarTitle":"Overview","href":"/integrations/overview"},{"group":"Accounting software","pages":[{"title":"Accounting software","href":"/integrations/accounting-software"},{"title":"AFAS","href":"/integrations/afas"}]},{"group":"In-app integration","pages":[{"title":"In-app integration","href":"/integrations/in-app/overview"},{"title":"Sign up","href":"/integrations/in-app/sign-up"},{"title":"Create administration","href":"/integrations/in-app/create-administration"}]},{"title":"Power BI templates","href":"/api/powerbi-templates"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api/overview"}]}]},"basePath":"","title":"Webhooks - Payt","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":[],"chunks":[]}