{"id":133,"date":"2026-10-12T09:00:00","date_gmt":"2026-10-12T07:00:00","guid":{"rendered":"https:\/\/yindle.com\/?p=133"},"modified":"2026-10-12T09:00:00","modified_gmt":"2026-10-12T07:00:00","slug":"pin-contant-een-order-modelleren","status":"publish","type":"post","link":"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/","title":{"rendered":"Modelling card and cash on one WooCommerce order"},"content":{"rendered":"<p><strong>Model a combination of card and cash as two payment components for one order.<\/strong> Record the amount, method, status and any provider reference for each component. Mark the order as paid only when the sum of confirmed components exactly equals the order amount due.<\/p>\n<p>Splitting a payment is not a free-text note saying \u201cpart cash\u201d. Such a note cannot be reliably checked, recovered or passed on. The software needs to know which part is already confirmed through the terminal, which part an employee still needs to record and what happens if one half fails.<\/p>\n<h2>Start with a fixed calculation rule<\/h2>\n<p>Let the employee enter one component and calculate the other on the server as the remaining amount. If an order totals 86.40 and 50.00 is paid by card, the cash component is 36.40. Compare in cents and accept no negative or zero-value components. Recalculate if the order is still allowed to change before payment.<\/p>\n<p>Define which component comes first too. A terminal payment is external and may enter an unknown intermediate state. Cash requires an employee\u2019s manual confirmation. A clear flow might take the card payment first, then clearly show the remaining cash amount and require deliberate confirmation that it has been received.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<thead>\n<tr>\n<th>Data<\/th>\n<th>Card component<\/th>\n<th>Cash component<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Amount<\/td>\n<td>Fixed amount in cents<\/td>\n<td>Remaining amount calculated by the server<\/td>\n<\/tr>\n<tr>\n<td>Evidence<\/td>\n<td>Provider reference and current status<\/td>\n<td>Authorised employee and timestamp<\/td>\n<\/tr>\n<tr>\n<td>Intermediate status<\/td>\n<td>Started, successful, declined or unknown<\/td>\n<td>Awaiting confirmation or received<\/td>\n<\/tr>\n<tr>\n<td>Recovery<\/td>\n<td>Query the provider again<\/td>\n<td>Resume the manual step<\/td>\n<\/tr>\n<tr>\n<td>Transition to paid<\/td>\n<td colspan=\"2\">Only when the confirmed sum exactly equals the order total<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>After that transition to paid, a physical order may remain \u201cProcessing\u201d because picking or delivery is still required. Use \u201cCompleted\u201d only when fulfilment is actually finished under the chosen WooCommerce flow. This keeps proof of payment and operational progress as two separate questions.<\/p>\n<h2>Make the intermediate state explicit<\/h2>\n<p>After a successful card payment but before cash is confirmed, the order is not yet fully paid. Use a distinct, recognisable status and block fulfilment. Show the amount already paid, the remaining amount and the next action. An employee opening the screen later must be able to resume the flow without starting another terminal payment.<\/p>\n<p>On cancellation, reversing is not automatically the same as deleting. A confirmed provider payment may require a separate reversal procedure; the software should not interpret this independently. It must prevent the order from silently being erased and show the available references to an authorised employee. This article provides technical process guidance, not financial or accounting advice.<\/p>\n<p>Block substantive order changes once one component has started. An extra product or different shipping changes the total and therefore the remaining amount. If a change is necessary, put the flow into a review state and do not restart automatically. The employee first needs to see which payment has already been externally confirmed and determine how to handle the difference under the internal procedure.<\/p>\n<h2>Fictional example: a showroom customer pays in two parts<\/h2>\n<p>At home-furnishings store Veldhuis, a customer buys a cabinet. He wants to pay partly by card and the rest in cash. Employee Omar enters 300.00 as the card component. The server calculates the remaining amount and shows both parts before the terminal starts. The card payment succeeds, but the tablet refreshes immediately afterwards.<\/p>\n<p>When Omar reopens the order, he sees the verified card reference and the outstanding cash step. The \u201cpay by card again\u201d button is unavailable. He counts the cash, confirms receipt using his own account and the order check compares both components with the order total. Only then is the order marked paid.<\/p>\n<p>The downstream accounting system receives the final order and separate payment information according to the agreed data responsibilities. An integration layer such as <a href=\"\/en\/connect\/\">Yindle Connect<\/a> can structure these order and exception flows between the online store and business software.<\/p>\n<p>On the customer confirmation, Veldhuis can summarise the payment methods and amounts clearly without showing technical provider data. More detail remains available in administration for checking. This keeps an internal reference off the receipt while making clear that the customer has not paid twice for the same component.<\/p>\n<h2>Test cases for split payments<\/h2>\n<ul>\n<li>Reject zero, negative amounts and amounts above the order total.<\/li>\n<li>Check rounding to cents and different tax rules.<\/li>\n<li>Refresh the browser after every intermediate step.<\/li>\n<li>Let the terminal payment succeed, be declined and remain unknown.<\/li>\n<li>Try to confirm the same card component twice.<\/li>\n<li>Have two employees open the same order simultaneously.<\/li>\n<li>Block fulfilment while any component remains outstanding.<\/li>\n<li>Check logging, roles and the correction procedure.<\/li>\n<\/ul>\n<p>Keep the first implementation limited to explicitly supported combinations. More methods, tips, gift cards or multiple terminal components quickly expand the state model. If practice demands them, deliberately design a next version. Also see <a href=\"\/en\/online-store-erp-integration\/\">how an online store and ERP work together reliably<\/a>.<\/p>\n<p>Finally, do not make reporting depend on reading free-text order notes. Export both components as structured data with a shared order reference. Have the accounting setup and processing assessed by the responsible specialists; the technical integration primarily needs to be complete, traceable and recoverable.<\/p>\n<p><a href=\"\/en\/contact\/\">Have Yindle design a verifiable split-payment flow for your sales process.<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>A split counter payment needs separate amounts, statuses and evidence within one order process.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-133","post","type-post","status-publish","format-standard","hentry","category-e-commerce"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pin en contant op \u00e9\u00e9n WooCommerce-order<\/title>\n<meta name=\"description\" content=\"Modelleer pin en contant als twee controleerbare betaalcomponenten en rond de order alleen af wanneer de bevestigde som exact klopt.\" \/>\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\/modelling-card-and-cash-on-one-woocommerce-order\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pin en contant op \u00e9\u00e9n WooCommerce-order\" \/>\n<meta property=\"og:description\" content=\"Modelleer pin en contant als twee controleerbare betaalcomponenten en rond de order alleen af wanneer de bevestigde som exact klopt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/\" \/>\n<meta property=\"og:site_name\" content=\"Yindle\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-12T07: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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/modelling-card-and-cash-on-one-woocommerce-order\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/modelling-card-and-cash-on-one-woocommerce-order\\\/\"},\"author\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\"},\"headline\":\"Pin en contant op \u00e9\u00e9n WooCommerce-order modelleren\",\"datePublished\":\"2026-10-12T07:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/modelling-card-and-cash-on-one-woocommerce-order\\\/\"},\"wordCount\":797,\"publisher\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\"},\"articleSection\":[\"E-commerce\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/modelling-card-and-cash-on-one-woocommerce-order\\\/\",\"url\":\"https:\\\/\\\/yindle.com\\\/en\\\/modelling-card-and-cash-on-one-woocommerce-order\\\/\",\"name\":\"Pin en contant op \u00e9\u00e9n WooCommerce-order\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#website\"},\"datePublished\":\"2026-10-12T07:00:00+00:00\",\"description\":\"Modelleer pin en contant als twee controleerbare betaalcomponenten en rond de order alleen af wanneer de bevestigde som exact klopt.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/modelling-card-and-cash-on-one-woocommerce-order\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/yindle.com\\\/en\\\/modelling-card-and-cash-on-one-woocommerce-order\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/modelling-card-and-cash-on-one-woocommerce-order\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/yindle.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pin en contant op \u00e9\u00e9n WooCommerce-order modelleren\"}]},{\"@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":"Card and cash on one WooCommerce order","description":"Model card and cash as two verifiable payment components and complete the order only when the confirmed sum is exactly right.","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\/modelling-card-and-cash-on-one-woocommerce-order\/","og_locale":"en_GB","og_type":"article","og_title":"Pin en contant op \u00e9\u00e9n WooCommerce-order","og_description":"Modelleer pin en contant als twee controleerbare betaalcomponenten en rond de order alleen af wanneer de bevestigde som exact klopt.","og_url":"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/","og_site_name":"Yindle","article_published_time":"2026-10-12T07: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":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/#article","isPartOf":{"@id":"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/"},"author":{"@id":"https:\/\/yindle.com\/en\/#organization"},"headline":"Pin en contant op \u00e9\u00e9n WooCommerce-order modelleren","datePublished":"2026-10-12T07:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/"},"wordCount":797,"publisher":{"@id":"https:\/\/yindle.com\/en\/#organization"},"articleSection":["E-commerce"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/","url":"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/","name":"Card and cash on one WooCommerce order","isPartOf":{"@id":"https:\/\/yindle.com\/en\/#website"},"datePublished":"2026-10-12T07:00:00+00:00","description":"Model card and cash as two verifiable payment components and complete the order only when the confirmed sum is exactly right.","breadcrumb":{"@id":"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/yindle.com\/en\/modelling-card-and-cash-on-one-woocommerce-order\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/yindle.com\/en\/"},{"@type":"ListItem","position":2,"name":"Pin en contant op \u00e9\u00e9n WooCommerce-order modelleren"}]},{"@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\/133","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=133"}],"version-history":[{"count":1,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts\/133\/revisions"}],"predecessor-version":[{"id":993,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts\/133\/revisions\/993"}],"wp:attachment":[{"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/media?parent=133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/categories?post=133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/tags?post=133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}