blog- voorraadaansluiting

Voorraadaansluiting… a never ending story?

Aansluiten van voorraad en grootboek ‘made easy’

Er was eens… een voorraadverschil

Toen ik voor het eerst begon te werken met ERP-systemen, nu ruim 20 jaar terug, kreeg ik als applicatiebeheerder de vraag waarom de voorraad toch steeds niet aansloot met het grootboek. Of ik dat ‘even’ uit kon zoeken. Dus vanaf dat moment bestond één van mijn taken uit het aansluiten van de voorraadadministratie met de financiële administratie. En elke keer waren er weer verschillen en was het ‘ergens’ fout gegaan. Aangezien we toen nog geen mogelijkheid hadden de data ‘even naar Excel’ te halen, bestond het werk uit het handmatig vergelijk van rapporten (vaak vele tientallen pagina’s lang). Een tijdje zelfs dagelijks, in de hoop zo de oorzaak van het verschil te vinden. En dan wist ik alleen nog maar welk artikel het verschil veroorzaakte. Niet welke transactie… Gelukkig hadden we na enkele maanden intensief speuren de meeste ‘gaatjes’ in de processen wel gedicht, al bleef het elke maand toch weer spannend of het nu wel zou aansluiten.

De spreadsheet! – Afletteren in Excel

Nog zo’n leuke vraag: Hoe kunnen we nu de balans van tussenrekening ‘nog te ontvangen facturen’ handiger specificeren, zonder elke keer weer opnieuw te moeten beginnen? Elke maandafsluiting was daar één persoon soms wel enkele dagen druk mee. En het hoofdkantoor had net besloten dat we elk jaar een dag minder de tijd kregen voor het opleveren van de maandcijfers. Daar bood het ERP-pakket geen functionaliteit voor. Dan maar in een spreadsheet. ODBC-connectie met de database, cijfers van de afgelopen maand uit het systeem halen, diverse macro’s draaien, handmatig journaalposten maken voor de afrondingsverschillen en koersverschillen (die je dan met regelmaat verkeerd-om boekte, waardoor 1 cent verschil 2 cent verschil werd…), weer de cijfers uit het systeem halen, macro’s draaien, handmatig de laatste postjes wegpoetsen en klaar. En wel opletten de maand daarop weer verder te gaan met de juiste spreadsheet van de vorige maand natuurlijk.

2001… Mijn ontdekking van JD Edwards ERP

De overstap naar JD Edwards ERP was op een aantal punten een verademing. Geen raadsels meer waar het systeem de data nu eigenlijk opslaat, export van data naar Excel – voor eindgebruikers nog wel – en zelfs een mogelijkheid transacties in het grootboek af te letteren, al was dat soms nog wel een uitdaging en veelal handmatig. En voorraad aansluiten bleef een uitdaging.
Na de nodige jaren vooral bezig te zijn geweest met softwareontwikkeling (additionele JD Edwards modules voor lokale overheid), kwam ik weer volop terecht in logistieke- en productieomgevingen. En ja hoor… voorraad-aansluiting. Dat was nog steeds een uitdaging. DMAAI’s, G/L classes, Product costing, manufacturing accounting, shipments, RMA, Sales update, Intercompany sales orders, Inventory receipts, adjustments. Noem naar op. En wat is eigenlijk ‘de’ waarde van de voorraad? Ja, Q*P natuurlijk, maar welke Q en welke P dan? En hoe doe je dat dan, enkele dagen na het einde van de periode? Door ’s avonds even je actuele voorraad veiligstellen? En hoe doe je dat dan in een 24/7 productie-omgeving? En last but not least… als het niet klopt, hoe weet je dan waar het aan ligt en hoe los je het op? Liefst zodat je later niet met oude fouten en correcties wordt geconfronteerd. En zonder ‘lump sum’ boeking die je je accountant niet uit kan leggen. En wel per voorraadrekening natuurlijk.
Het verklaren van tussenrekeningen was gelukkig wel veel eenvoudiger geworden. Tenminste voor die bedrijven die de Account Reconciliation module van Cadran Consultancy gebruiken.

Voorraad en integriteit – de huidige gereedschapskist

Maar dan die voorraad… Ja, er zijn integriteitsrapporten. Maar elke maand die PDF’s doorspitten is geen pretje. Zeker niet als het bijna alleen maar afrondingsverschillen zijn, wat zeker niet ongebruikelijk is in een productie-omgeving. En er is een ‘Item As-Of’ die je voorraadtransacties ‘post’ zodat je per periode je totale voorraadwaarde in beeld hebt. Tenzij je processen zorgen voor verschillende grootboekdatums tussen de Cardex (Item Ledger) en je grootboek. En halverwege de periode controleren of het nog in beetje in de pas loopt is er niet bij. Zelf ontwikkelde rapporten, ‘snapshots’ van de voorraad aan het eind van de maand en BI-dashboards leveren vaak ook (net) niet het gewenste resultaat. Zeker niet als daarvoor de Item Balance (F41021) tabel gebruikt wordt.
Sinds enkele jaren is er wel een beperkte ‘Inventory reconciliation’ mogelijkheid in JD Edwards. Diegenen die daar mee bekend zijn, zijn vermoedelijk reeds tegen de beperkingen aangelopen. Zeker indien gebruik gemaakt wordt van intercompany (SK/OK) sales orders, als je handmatige correctieboekingen moet verwerken en je te maken hebt met vele afrondingsverschillen.
Maar hoe doe je het dan wel? Laten we bij het begin beginnen: Wat is de voorraadwaarde op een bepaald moment?

De ‘P’ en ‘het’ moment – de waarde van een artikel in de tijd

Voorraadwaarde = Q * P. Simpel zou je zeggen. Maar helaas, zo eenvoudig is het niet. Vanzelfsprekend moet je de hoeveelheid (Q) van één artikel vermenigvuldigen met de prijs (P) van dat ene artikel. Of de prijs van het artikel in het betreffende magazijn, of van het specifieke lot (en locatie). En dat uiteraard voor alle artikelen, lots (indien van toepassing) en magazijnen. So far so good. Maar de waarde van een artikel wijzigt in de tijd. Je hebt de waarde van het artikel nodig aan het einde van de periode. En laat die nu niet vastliggen in het systeem. Of toch? Hoewel de prijs per eenheid niet per datum/tijd wordt bijgehouden in JD Edwards, wordt bij wijziging van de prijs per eenheid wel keurig een transactie geregistreerd in de Cardex (lijst van voorraad transacties) die waardewijziging van de betreffende voorraad weergeeft. Bovendien wordt elke voorraadmutatie voorzien van een aantal én een waarde. En dat mechanisme zorgt er voor dat de voorraadwaarde toch in tijd bepaalt kan worden. En dat mechanisme blijkt behoorlijk betrouwbaar.

Q en Q – Fysieke voorraad en Financiële voorraad

Dan de Q. Uiteraard in de primaire eenheid, want de ‘P’ is de waarde van één primaire eenheid. We willen ten slotte geen stuks en kilo’s optellen. Conversie van de ene eenheid naar de andere dient uiteraard goed opgezet te zijn. En dan willen we uiteraard niet weten wat er nu op voorraad ligt, maar wat er aan het eind van de periode op voorraad lag. Maar welke voorraad tellen we dan mee? In JD Edwards wordt de waarde van de voorraad in het geval van een levering aan een klant pas bijgewerkt na facturatie. Tot die tijd telt de waarde van de voorraad nog mee, ook al is de voorraad fysiek niet meer aanwezig (maar bijvoorbeeld onderweg naar de klant). En materiaalverbruik op een werkorder wordt pas financieel verwerkt indien het manufacturing accounting proces gedraaid wordt. Vaak is dat dezelfde dag (nacht), maar niet zelden een dagje (of meerdere) later. Vaak als gevolg van verkeerde werkorder-statussen en ‘gelockte’ werkorders. Totdat de waarde van de voorraad is overgeboekt naar onderhanden werk, telt deze mee als voorraadwaarde. Dit betekent dat er niet één Q is, maar eigenlijk twee. Een ‘on hand’ hoeveelheid, die aangeeft hoeveel er einde periode fysiek op voorraad was, en een ‘financiële’ hoeveelheid, die aangeeft hoeveel voorraad einde periode meetelt voor de waardering van de voorraad.

Op en af – Voorraad in beweging

Voorraad is vaak continue in beweging. Er worden goederen ontvangen, verplaatst, verbruikt, geproduceerd, verkocht, verscheept of afgeboekt. Inkoopprijzen worden herzien, maakartikelen krijgen een andere stuklijst, uurtarieven worden aangepast en kostprijzen worden herberekend. Combineer al deze factoren met de factor tijd en de twee verschillende manieren om naar de voorraadhoeveelheid te kijken, en het is niet verwonderlijk dat menige organisatie met enige regelmaat problemen heeft met het aansluiten van de voorraad met het grootboek. Zeker in een 24/7 omgeving, waarin de voorraad continue in beweging is. Vanwege deze complexiteit zijn niet zelden eigen ontwikkelde rapportages voor voorraad net niet correct en worden maandelijks lump sum boekingen gemaakt (vaak de ene maand debet, de volgende maand credit of andersom) als gevolg van timing-verschillen of wordt de voorraad op een verkeerde rekening geboekt als gevolg van incorrecte setup of fouten bij master data management.

Lees meer in blog: Conversie- en datamanagement bij een ERP-implementatie

Zoek de 14.293 verschillen… en één speld – Revelante voorraadverschillen

Nog een factor van belang wanneer het over voorraadtransacties gaat: het zijn er meestal veel. En dat maakt het opsporen van verschillen er niet eenvoudiger op. En indien de fout niet gevonden kan worden, is het vaak moeilijk, zo niet onmogelijk, de onderliggende oorzaak van de fout te achterhalen en het proces te verbeteren om toekomstige fouten te voorkomen. Bovendien is – zeker in een productie-omgeving – het aantal verschillen vaak substantieel als gevolg van afrondingsverschillen. Toch zijn het, mits de voorraadgerelateerde processen goed zijn ingericht en procedures gevolgd worden, meestal slechts enkel transacties die echt problemen veroorzaken. De overgrote meerderheid van de transacties veroorzaken geen verschillen.

Goed gereedschap is het halve werk – de voorraadrapportage

Maar hoe moet het dan wél? Allereerst door appels met appels te vergelijken. Voor de grootboekzijde is dit reeds goed geregeld: wat hoort bij welke periode. Het bepalen van de voorraad en voorraadwaarde vanuit de voorraadadministratie vereist een nauwkeurige voorraadrapportage (per voorraadrekening) die rekening houdt met ‘timing’ (wat hoort bij welke periode) en onderscheid maakt in de fysieke voorraad en financiële voorraad op een bepaald moment.

Meer goed gereedschap – voorraad afletteren

Maar met een goede voorraadrapportage alleen ben je er niet. Want als het niét klopt, waar ligt het dan aan? Hoe vind je die transacties die het échte probleem veroorzaken? Dat kom je toch op het controleren van de onderliggende transacties: kloppen de voorraadtransacties met de grootboektransacties én andersom! Dus moeten we transacties tegen elkaar wegstrepen tot we die transacties vinden die niet kloppen. Ofwel: we moeten gaan afletteren. En daarbij zijn we niet geïnteresseerd in kleine afrondingsverschillen, maar willen we wel weten of we alle transacties hebben gevonden die het totale verschil verklaren. En uiteraard kunnen we dit niet handmatig doen. Daarvoor zijn er over het algemeen veel te veel transacties. En dat proces lijkt wel erg veel op Account Reconciliation, tenminste op het proces dat door de Account Reconciliation module van Cadran ondersteund wordt: combineren van transacties, afletteren én binnen bepaalde grenzen de verschillen automatisch wegboeken.

… en ze leefden nog lang en gelukkig. – Voorraad-aansluiting ‘made easy’?

Dus kon ik aan de slag met het aanpassen van de Account Reconciliation module van Cadran, zodat naast grootboektransacties ook voorraadtransacties afgeletterd kunnen worden. En een accurate voorraadrapportage met een vergelijk met grootboek werd toegevoegd. En passant zijn ook nog een groot aantal openstaande wensen van klanten ingebouwd in de module. Het resultaat: een grondig herziene module die het valideren van zowel grootboektransacties als voorraadtransacties vele malen eenvoudiger (en sneller) maakt.

Het resultaat: voorraadtransacties worden dagelijks afgeletterd, afrondingsverschillen worden automatisch geboekt en indien er verschillen zijn tussen de nieuwe voorraadrapportage en het grootboek, worden deze geheel (tot op de cent) verklaard door de niet-afgeletterde transacties. Dagelijks. Zodat je vandaag weet welke transacties er gisteren niet goed zijn gegaan. En weet wat je moet corrigeren, onderzoeken én verbeteren.

Tot slot

Verschillen tussen de voorraad en het grootboek duiden vaak op problemen met processen en/of procedures en soms op software-gerelateerde problemen. En indien de voorraad in het grootboek niet correct is, is de kans zeer groot dat daarmee ook de resultaten die gerapporteerd worden niet correct zijn. Daarnaast is een integer systeem van toegevoegde waarde bij het analyseren van de prestaties van de organisatie. Iets wat met de introductie van Business Intelligence vaak duidelijk wordt: verschillende dwarsdoorsnedes geven verschillende resultaten.

Lees meer in BI-artikel: Word nou toch eindelijk eens volwassen

Meer over Account & Inventory Reconciliation

Auteur: Mark Stiekema, Senior  JD Edwards Consultant Finance bij Cadran Consultancy

 

 

 

 

 

Cadran - Jan Stalman

Advies op maat over onze oplossingen?

Jan Stalman, Sales Manager bij Cadran, praat u graag bij over de mogelijkheden voor uw organisatie.