<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>voorraad - THINGS IO | Low-code data koppelen vanuit Groningen</title>
	<atom:link href="https://things.io/tag/voorraad/feed/" rel="self" type="application/rss+xml" />
	<link>https://things.io</link>
	<description>Low-code koppelen van data</description>
	<lastBuildDate>Mon, 10 Jun 2024 13:32:43 +0000</lastBuildDate>
	<language>nl-NL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>
	<item>
		<title>Dagelijks automatisch voorraad in Visma corrigeren</title>
		<link>https://things.io/dagelijks-automatisch-voorraad-in-visma-corrigeren/</link>
		
		<dc:creator><![CDATA[Hans Blaauw]]></dc:creator>
		<pubDate>Mon, 10 Jun 2024 13:29:13 +0000</pubDate>
				<category><![CDATA[Automate]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[ERP]]></category>
		<category><![CDATA[n8n]]></category>
		<category><![CDATA[visma]]></category>
		<category><![CDATA[voorraad]]></category>
		<guid isPermaLink="false">https://things.io/?p=11383</guid>

					<description><![CDATA[<p>Voorraad correcties, hebben we daar niet allemaal mee te maken en hoe doe dit je dit automatisch op basis van andere data in Visma.</p>
<p>The post <a href="https://things.io/dagelijks-automatisch-voorraad-in-visma-corrigeren/">Dagelijks automatisch voorraad in Visma corrigeren</a> first appeared on <a href="https://things.io">THINGS IO | Low-code data koppelen vanuit Groningen</a>.</p>]]></description>
										<content:encoded><![CDATA[<div data-elementor-type="wp-post" data-elementor-id="11383" class="elementor elementor-11383">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-5d5317c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5d5317c" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9d7e9cc" data-id="9d7e9cc" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d779c4b elementor-alert-info elementor-widget elementor-widget-alert" data-id="d779c4b" data-element_type="widget" data-e-type="widget" data-widget_type="alert.default">
				<div class="elementor-widget-container">
							<div class="elementor-alert" role="alert">

						<span class="elementor-alert-title">Introductie</span>
			
						<span class="elementor-alert-description">Voorraad correcties, hebben we daar niet allemaal mee te maken en hoe doe dit je dit automatisch op basis van andere data in Visma.</span>
			
			
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-d683c7c elementor-widget elementor-widget-spacer" data-id="d683c7c" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-9f8f6b8 elementor-widget elementor-widget-heading" data-id="9f8f6b8" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Wat is de uitdaging?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-0f9215c elementor-widget elementor-widget-spacer" data-id="0f9215c" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6bb1164 elementor-widget elementor-widget-text-editor" data-id="6bb1164" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Soms heb je gewoon voorraad correcties binnen je bedrijf. Dat kan zijn omdat een product bedorven is of dat het kapot is gegaan. Afhankelijk van je boekhoudkundige processen moet je dat dan corrigeren. In dit geval kiezen we voor de methode het direct te corrigeren via de Visma.net API. </p>								</div>
				</div>
				<div class="elementor-element elementor-element-6faef8b elementor-widget elementor-widget-spacer" data-id="6faef8b" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-254cb8e elementor-widget elementor-widget-heading" data-id="254cb8e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Wat heb je nodig?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-18d401b elementor-widget elementor-widget-spacer" data-id="18d401b" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-95414ff elementor-widget elementor-widget-text-editor" data-id="95414ff" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>We hebben een aantal zaken nodig:</p><ul><li><a href="https://sites-wpthings.wovvoi.easypanel.host/lowcode-server/" target="_blank" rel="noopener">Lowcode</a> server;</li><li><a href="https://n8n.partnerlinks.io/abzqdv0srnlw" target="_blank" rel="noopener">N8N</a>;</li><li><a href="https://integration.visma.net/API-index/" target="_blank" rel="noopener">Visma.net API</a> toegang;</li><li>Eventueel MYSQL.</li></ul><p>Met deze componenten kun je het proces automatiseren.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-0773697 elementor-widget elementor-widget-spacer" data-id="0773697" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-75cb7cd elementor-widget elementor-widget-heading" data-id="75cb7cd" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">De Visma.net API</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-4fc95da elementor-widget elementor-widget-spacer" data-id="4fc95da" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-a0063df elementor-widget elementor-widget-text-editor" data-id="a0063df" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Als je dit leest dan heb je vast al wel eens met de Visma API gewerkt. Zo niet dan kun je <a href="https://integration.visma.net/API-index/" target="_blank" rel="noopener">hier</a> de API reference vinden.</p><p>Voor deze oplossing werken wij met de methode <b>inventoryadjustment</b>. Met deze methode doe je binnen Visma direct correcties.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e7d9cc3 elementor-widget elementor-widget-image" data-id="e7d9cc3" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="834" height="239" src="https://things.io/wp-content/uploads/2024/06/vima_1.png" class="attachment-large size-large wp-image-11401" alt="" srcset="https://things.io/wp-content/uploads/2024/06/vima_1.png 834w, https://things.io/wp-content/uploads/2024/06/vima_1-300x86.png 300w, https://things.io/wp-content/uploads/2024/06/vima_1-768x220.png 768w, https://things.io/wp-content/uploads/2024/06/vima_1-350x100.png 350w" sizes="(max-width: 834px) 100vw, 834px" />															</div>
				</div>
				<div class="elementor-element elementor-element-2a363a2 elementor-widget elementor-widget-spacer" data-id="2a363a2" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-d4d3e7c elementor-widget elementor-widget-text-editor" data-id="d4d3e7c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Correcties kunnen zowel positief als negatief zijn.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-129ab81 elementor-widget elementor-widget-spacer" data-id="129ab81" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-7047868 elementor-widget elementor-widget-heading" data-id="7047868" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Wat is onze aanpak normaal gesproken?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-b55a1a7 elementor-widget elementor-widget-spacer" data-id="b55a1a7" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-91d8df9 elementor-widget elementor-widget-text-editor" data-id="91d8df9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Over het algemeen kiezen we er altijd voor een tijdelijke database als MYSQL op een lowcode server te gebruiken. Dit is een soort intermediair tussen de verschillende systemen en je kunt daar ook eenvoudig met bijvoorbeeld Budibase een interface overheen leggen. Met N8N regelen we dan vervolgens de hele integratie. Hoe zit dat er in stappen uit?</p><ul><li>we halen de mutaties op uit bijvoorbeeld een voorraadsysteem via een API en N8N;</li><li>we slaan de informatie op in MYSQL database;</li><li>halen de informatie uit MYSQL en formatteren deze;</li><li>we bieden via de Visma API de informatie aan.</li></ul><p>Via de gekozen Visma methode moet je eigenlijk twee API methoden doorlopen:</p><ul><li>POST naar <b>inventoryadjustment;</b></li><li>POST naar <span style="font-weight: bold;">inventoryadjustment</span> met de opties &lt;<b>adjustment id</b>&gt;/action/release</li></ul><div>De <b>adjustment id</b> moet je uitlezen uit de response van de eerste aanroep. Niet zo heel fijn maar het is goed te doen.</div>								</div>
				</div>
				<div class="elementor-element elementor-element-3d48c81 elementor-widget elementor-widget-spacer" data-id="3d48c81" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-9500973 elementor-widget elementor-widget-heading" data-id="9500973" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">De JSON data</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-20c22b9 elementor-widget elementor-widget-spacer" data-id="20c22b9" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-7f7299c elementor-widget elementor-widget-text-editor" data-id="7f7299c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>De <strong><a href="https://integration.visma.net/API-index/" target="_blank" rel="noopener">V</a><a href="https://integration.visma.net/API-index/" target="_blank" rel="noopener">isma</a><a href="https://integration.visma.net/API-index/" target="_blank" rel="noopener"><strong> API</strong></a></strong> werkt met het aanbieden van JSON data en ondersteunt ook batchverwerking van meerdere records. Let er wel op dat je mt een batchverwerking wat meer moet doen om te zien of elke record goed is gegaan. Helaas geeft Visma geen overzicht terug van de juist afgehandelde records. Een niet bestaand product kan bijvoorbeeld de hele batch afkeuren. Alles in separate API calls aanroepen is ook geen optie, het kan soms om heel veel producten gaan. Hieronder zie je een voorbeeld.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-01c9564 elementor-widget elementor-widget-html" data-id="01c9564" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					{"adjustmentLines":[{"operation":"Insert","description":{"value":"Houdbaarheidsdatum verstreken"},"warehouseId":{"value":"gro"},"branchNumber":{"value":"11"},"lineNumber":{"value":0},"uom":{"value":"STUK"},"inventoryNumber":{"value":"9999"},"quantity":{"value":1}},{"operation":"Insert","description":{"value":"Houdbaarheidsdatum verstreken"},"warehouseId":{"value":"gro"},"branchNumber":{"value":"11"},"lineNumber":{"value":0},"uom":{"value":"STUK"},"inventoryNumber":{"value":"55555"},"quantity":{"value":1}}],"branchNumber":{"value":"11"},"description":{"value":"Producten zijn niet meer goed"}}				</div>
				</div>
				<div class="elementor-element elementor-element-8db33f1 elementor-widget elementor-widget-spacer" data-id="8db33f1" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-fb54362 elementor-widget elementor-widget-text-editor" data-id="fb54362" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Deze <strong>eerste</strong> aanroep zorgt ervoor dat er een correctie wordt aangemaakt die <strong>In balans</strong> als status heeft.</p><p>Na het aanroepen van de eerste methode moeten we de correctie &#8220;releasen&#8221;. Dat doen we met de methode zoals eerder beschreven.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-84b442c elementor-widget elementor-widget-spacer" data-id="84b442c" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-2b387be elementor-widget elementor-widget-heading" data-id="2b387be" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Een voorbeeld N8N workflow voor voorraad correcties</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-065b3af elementor-widget elementor-widget-spacer" data-id="065b3af" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-5d53d9d elementor-widget elementor-widget-text-editor" data-id="5d53d9d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>De volgende flow is een voorbeeld van een nocode oplossing die informatie uit een API haalt, deze opslaat in MYSQL, transformeert en doorstuurt naar Visma via de API. Dit alles in 1-3 seconden.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-21957dd elementor-widget elementor-widget-spacer" data-id="21957dd" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6b686b6 elementor-widget elementor-widget-image" data-id="6b686b6" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="1024" height="247" src="https://things.io/wp-content/uploads/2024/06/visma_correction-1024x247.png" class="attachment-large size-large wp-image-11402" alt="" srcset="https://things.io/wp-content/uploads/2024/06/visma_correction-1024x247.png 1024w, https://things.io/wp-content/uploads/2024/06/visma_correction-300x72.png 300w, https://things.io/wp-content/uploads/2024/06/visma_correction-768x185.png 768w, https://things.io/wp-content/uploads/2024/06/visma_correction.png 1523w" sizes="(max-width: 1024px) 100vw, 1024px" />															</div>
				</div>
				<div class="elementor-element elementor-element-205a197 elementor-widget elementor-widget-spacer" data-id="205a197" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-6010573 elementor-widget elementor-widget-text-editor" data-id="6010573" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Deze workflow heeft een scheduler die dit elke dag 1 keer doet. Als een API aanvraag mislukt dan ondernemen we nog 3 pogingen.</p><p>De <strong>adjustment id</strong> halen we uit het resultaat van de vorige API call, daarmee release we de voorraad correctie.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-329a56c elementor-widget elementor-widget-html" data-id="329a56c" data-element_type="widget" data-e-type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					{{ $json.headers.location.split("/").last() }}				</div>
				</div>
				<div class="elementor-element elementor-element-0763b15 elementor-widget elementor-widget-spacer" data-id="0763b15" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-b68a868 elementor-widget elementor-widget-text-editor" data-id="b68a868" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Het belangrijkste wat je moet doen is het configureren van de URL en de API key. De API key kun je zien in DocHorizon. Daarnaast kun je de URL ook in DocHorizon vinden.</p><p>Het tweede deel waar je voor moet zorgen is dat het POST formaat correct gestructureerde JSON is. Dat zie je in het volgende screenshot.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-ab6ced5 elementor-widget elementor-widget-spacer" data-id="ab6ced5" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-0d55a25 elementor-widget elementor-widget-text-editor" data-id="0d55a25" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Als we nu de N8N workflow draaien dan krijgen we het volgende resultaat.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-c8782df elementor-widget elementor-widget-spacer" data-id="c8782df" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-2f83ecb elementor-widget elementor-widget-text-editor" data-id="2f83ecb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Moet je ook veel documenten verwerken en zit je te denken aan een maatwerk oplossing? Kijk eerst eens naar lowcode workflows voordat je dure maatwerk oplossingen gaat bouwen. Vaak kunnen we in een paar dagen al een mooi resultaat behalen.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-a007deb elementor-widget elementor-widget-spacer" data-id="a007deb" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-1877395 elementor-widget elementor-widget-rt-cta" data-id="1877395" data-element_type="widget" data-e-type="widget" data-widget_type="rt-cta.default">
				<div class="elementor-widget-container">
					<div class="rt-el-cta cta-style1">
	<div class="container">
		<div class="align-items row">
			<div class="cta-content col-lg-7">
				<h2 class="rtin-title">Interesse in lowcode oplossingen?</h2>
				<p></p>
			</div>
							<div class="rtin-button col-lg-5"><a class="button-gradient-1" href="/lowcode-server/" target="_blank">Lowcode server</a></div>		
					</div>		
	</div>
</div>				</div>
				</div>
				<div class="elementor-element elementor-element-c6ca885 elementor-widget elementor-widget-spacer" data-id="c6ca885" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div><p>The post <a href="https://things.io/dagelijks-automatisch-voorraad-in-visma-corrigeren/">Dagelijks automatisch voorraad in Visma corrigeren</a> first appeared on <a href="https://things.io">THINGS IO | Low-code data koppelen vanuit Groningen</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
