{"id":159,"date":"2026-11-07T09:00:00","date_gmt":"2026-11-07T08:00:00","guid":{"rendered":"https:\/\/yindle.com\/?p=159"},"modified":"2026-09-21T22:09:31","modified_gmt":"2026-09-21T20:09:31","slug":"lifecycle-netto-webshop-afas-reconciliatie","status":"publish","type":"post","link":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/","title":{"rendered":"Finding revenue discrepancies with lifecycle net per order"},"content":{"rendered":"<p>Find revenue discrepancies by comparing the full financial lifecycle of each order: payments and captures minus refunds and chargebacks, against AFAS invoices and credit notes. Comparing gross daily totals can let two opposing errors cancel out and does not identify which order is still missing a financial document.<\/p>\n<h2>Why separate totals provide false reassurance<\/h2>\n<p>Suppose one refund is missing and another order is posted twice for the same amount. The daily total may reconcile exactly while both customer records are wrong. Payment, settlement, invoice and credit may also occur on different days or even in different months. Reconciliation therefore needs to follow order identity and lifecycle, with an explicit as-of date for each source.<\/p>\n<p>Calculate a technically expected net amount for every order from the supported payment events. Compare it with the sum of linked AFAS documents under the model approved by the accounting team. Keep \u201csource not refreshed yet\u201d, \u201cdocument still within the normal delay\u201d and \u201csubstantive discrepancy\u201d as separate outcomes.<\/p>\n<h2>Reconciliation table per order<\/h2>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Check<\/th>\n<th>Sources<\/th>\n<th>Example signal<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Gross lifecycle<\/td>\n<td>WooCommerce and payment provider<\/td>\n<td>Missing or duplicate capture<\/td>\n<\/tr>\n<tr>\n<td>Adjustments<\/td>\n<td>Refunds and chargebacks<\/td>\n<td>Refund paid but not posted<\/td>\n<\/tr>\n<tr>\n<td>ERP documents<\/td>\n<td>AFAS invoice and credit note<\/td>\n<td>Document missing beyond the agreed age<\/td>\n<\/tr>\n<tr>\n<td>Lifecycle net<\/td>\n<td>All linked events<\/td>\n<td>Net discrepancy outside tolerance<\/td>\n<\/tr>\n<tr>\n<td>Provenance<\/td>\n<td>Identities and execution register<\/td>\n<td>Ambiguous or manual match<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>Only use amounts after identities have been verified. A coincidentally equal total is not a match. <a href=\"\/en\/connect\/\">Connect<\/a> can bring source events and AFAS results together in the same technical check.<\/p>\n<h2>Fictional example: the net amount only reconciles after a late credit<\/h2>\n<p>Fictional example: order LN-502 from lighting shop Noorderlicht was paid for 240 euros. A portion of 40 euros is refunded. The expected lifecycle net is therefore 200 euros. The AFAS invoice for 240 euros is already available, but the credit note only appears the next morning. The first reconciliation shows \u201cwaiting for credit within the agreed window\u201d, rather than immediately declaring a definitive financial incident.<\/p>\n<p>After the next source refresh, the credit is linked and the order reconciles at 200 euros. LN-503 also has a refund of 40 euros, but a credit is still missing after the configured age, and the technical execution register shows no initiated credit posting. That order receives targeted attention. This example is fictional and does not determine which periods or postings are financially correct; it illustrates how lifecycle and age together reduce noise.<\/p>\n<h2>Make discrepancy reasons actionable<\/h2>\n<ul>\n<li><strong>Paid and settled, no AFAS document:<\/strong> check the order route and execution intent.<\/li>\n<li><strong>Refund present, no credit:<\/strong> investigate the refund and credit steps separately.<\/li>\n<li><strong>Lifecycle net differs:<\/strong> compare captures, refunds and linked documents.<\/li>\n<li><strong>Bank transfer underpaid:<\/strong> have the accounting team determine the policy and next step.<\/li>\n<li><strong>Orphan invoice in AFAS:<\/strong> search for the source identity in a controlled way, not by amount alone.<\/li>\n<li><strong>Source not yet current:<\/strong> refresh first and avoid a premature correction.<\/li>\n<\/ul>\n<p>Show in <a href=\"\/en\/desk\/\">Desk<\/a> which check needs attention on the order, without exposing financial details to unauthorised roles. The technical foundation of order identity is described in <a href=\"\/en\/online-store-erp-integration\/\">reliably integrating an online store and ERP<\/a>. Have the accounting team approve financial definitions, tolerances and time frames.<\/p>\n<p>Design the period selection deliberately. A September report must still link an October refund to the original order, while also showing that the adjustment occurred in a later reporting period. Retain the transaction date as well as posting and settlement times. Let users choose an as-of date and show when each source was refreshed. Otherwise, a discrepancy can appear resolved or new simply because one API is five minutes behind.<\/p>\n<p>Do not use discrepancy amounts as the only priority. A small recurring difference across hundreds of orders may matter more than one large timing difference that has already been explained. Rank by reason, age, number of affected orders and possible next step. Sample \u201cclosed\u201d lifecycles and trace every identity back to the source; this tests matching as well as the calculation. When an employee accepts a discrepancy, retain the reason and scope of validity. A rounding tolerance must not silently conceal a missing refund as well.<\/p>\n<p>Create a separate category for AFAS documents without a linked webshop order. Do not automatically match them by amount; use fixed references and a bounded list of candidates. This keeps manual postings and migration records visible without forcing them onto the wrong order.<\/p>\n<p>Want to explain discrepancies per order instead of only comparing totals? <a href=\"\/en\/contact\/\">Develop lifecycle reconciliation with Yindle<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>A matching daily total can conceal two order errors. Follow payments, refunds, invoices and credits by identity and across period boundaries.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-159","post","type-post","status-publish","format-standard","hentry","category-integraties"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Webshop en AFAS reconcili\u00ebren op lifecycle-netto<\/title>\n<meta name=\"description\" content=\"Vergelijk betalingen minus refunds en chargebacks per order met AFAS-facturen en credits, zodat tegengestelde fouten niet in totalen verdwijnen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Webshop en AFAS reconcili\u00ebren op lifecycle-netto\" \/>\n<meta property=\"og:description\" content=\"Vergelijk betalingen minus refunds en chargebacks per order met AFAS-facturen en credits, zodat tegengestelde fouten niet in totalen verdwijnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/\" \/>\n<meta property=\"og:site_name\" content=\"Yindle\" \/>\n<meta property=\"article:published_time\" content=\"2026-11-07T08:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/yindle.com\/wp-content\/themes\/yindle\/assets\/images\/yindle-social-share.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Yindle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yindle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/finding-revenue-discrepancies-with-lifecycle-net-per-order\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/finding-revenue-discrepancies-with-lifecycle-net-per-order\\\/\"},\"author\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\"},\"headline\":\"Omzetverschillen vinden met lifecycle-netto per order\",\"datePublished\":\"2026-11-07T08:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/finding-revenue-discrepancies-with-lifecycle-net-per-order\\\/\"},\"wordCount\":654,\"publisher\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\"},\"articleSection\":[\"Integraties\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/finding-revenue-discrepancies-with-lifecycle-net-per-order\\\/\",\"url\":\"https:\\\/\\\/yindle.com\\\/en\\\/finding-revenue-discrepancies-with-lifecycle-net-per-order\\\/\",\"name\":\"Webshop en AFAS reconcili\u00ebren op lifecycle-netto\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#website\"},\"datePublished\":\"2026-11-07T08:00:00+00:00\",\"description\":\"Vergelijk betalingen minus refunds en chargebacks per order met AFAS-facturen en credits, zodat tegengestelde fouten niet in totalen verdwijnen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/finding-revenue-discrepancies-with-lifecycle-net-per-order\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/yindle.com\\\/en\\\/finding-revenue-discrepancies-with-lifecycle-net-per-order\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/finding-revenue-discrepancies-with-lifecycle-net-per-order\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/yindle.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Omzetverschillen vinden met lifecycle-netto per order\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/yindle.com\\\/en\\\/\",\"name\":\"Yindle\",\"description\":\"Software voor e-commerce en klantprocessen\",\"publisher\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/yindle.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\",\"name\":\"Yindle B.V.\",\"url\":\"https:\\\/\\\/yindle.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/yindle.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/yindle-site-icon.png\",\"contentUrl\":\"https:\\\/\\\/yindle.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/yindle-site-icon.png\",\"width\":512,\"height\":512,\"caption\":\"Yindle B.V.\"},\"image\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"legalName\":\"Yindle B.V.\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Markt 43\",\"postalCode\":\"5554 CA\",\"addressLocality\":\"Valkenswaard\",\"addressCountry\":\"NL\"},\"identifier\":{\"@type\":\"PropertyValue\",\"propertyID\":\"KvK\",\"value\":\"99695367\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Reconciling the webshop and AFAS by lifecycle net","description":"Compare payments minus refunds and chargebacks per order against AFAS invoices and credits, so opposing errors do not disappear into totals.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/","og_locale":"en_GB","og_type":"article","og_title":"Webshop en AFAS reconcili\u00ebren op lifecycle-netto","og_description":"Vergelijk betalingen minus refunds en chargebacks per order met AFAS-facturen en credits, zodat tegengestelde fouten niet in totalen verdwijnen.","og_url":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/","og_site_name":"Yindle","article_published_time":"2026-11-07T08:00:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/yindle.com\/wp-content\/themes\/yindle\/assets\/images\/yindle-social-share.png","type":"image\/png"}],"author":"Yindle","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Yindle","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/#article","isPartOf":{"@id":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/"},"author":{"@id":"https:\/\/yindle.com\/en\/#organization"},"headline":"Omzetverschillen vinden met lifecycle-netto per order","datePublished":"2026-11-07T08:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/"},"wordCount":654,"publisher":{"@id":"https:\/\/yindle.com\/en\/#organization"},"articleSection":["Integraties"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/","url":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/","name":"Reconciling the webshop and AFAS by lifecycle net","isPartOf":{"@id":"https:\/\/yindle.com\/en\/#website"},"datePublished":"2026-11-07T08:00:00+00:00","description":"Compare payments minus refunds and chargebacks per order against AFAS invoices and credits, so opposing errors do not disappear into totals.","breadcrumb":{"@id":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/yindle.com\/en\/finding-revenue-discrepancies-with-lifecycle-net-per-order\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/yindle.com\/en\/"},{"@type":"ListItem","position":2,"name":"Omzetverschillen vinden met lifecycle-netto per order"}]},{"@type":"WebSite","@id":"https:\/\/yindle.com\/en\/#website","url":"https:\/\/yindle.com\/en\/","name":"Yindle","description":"Software for e-commerce and customer processes","publisher":{"@id":"https:\/\/yindle.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/yindle.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/yindle.com\/en\/#organization","name":"Yindle B.V.","url":"https:\/\/yindle.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/yindle.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/yindle.com\/wp-content\/uploads\/2026\/09\/yindle-site-icon.png","contentUrl":"https:\/\/yindle.com\/wp-content\/uploads\/2026\/09\/yindle-site-icon.png","width":512,"height":512,"caption":"Yindle B.V."},"image":{"@id":"https:\/\/yindle.com\/en\/#\/schema\/logo\/image\/"},"legalName":"Yindle B.V.","address":{"@type":"PostalAddress","streetAddress":"Markt 43","postalCode":"5554 CA","addressLocality":"Valkenswaard","addressCountry":"NL"},"identifier":{"@type":"PropertyValue","propertyID":"KvK","value":"99695367"}}]}},"_links":{"self":[{"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts\/159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/comments?post=159"}],"version-history":[{"count":1,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts\/159\/revisions"}],"predecessor-version":[{"id":822,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts\/159\/revisions\/822"}],"wp:attachment":[{"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/media?parent=159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/categories?post=159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/tags?post=159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}