Inkoop- en verkoopcontracten beheren in SharePoint: contractmanagement op maat

De meeste organisaties beginnen met contractbeheer bij de contracten die ze verkopen. Vroeg of laat volgen de contracten die ze inkopen: hosting, softwarelicenties, kantoorhuur, consultants. Beide hebben een betrouwbaar contractregister, deadlines en herinneringen nodig – maar het is niet hetzelfde. In dit artikel laten we zien hoe we contractmanagement in SharePoint met Shareflex bouwden voor een Nederlandse softwaregroep met meerdere divisies en tientallen business lines: eerst een app voor verkoopcontracten, daarna een aparte app voor inkoopcontracten, op één gedeeld fundament.

Geen code in dit artikel, maar het functionele verhaal: wat hebben we gebouwd, waarom, en wat zijn de verschillen tussen verkoop- en inkoopcontractbeheer?

Eén fundament, twee contractmanagement-apps

De klant wilde één plek voor alle contracten, maar met een strikte scheiding tussen divisies. Elke divisie beheert haar eigen contracten, en binnen een divisie heeft elke business line een eigen contractlijst. Daarboven zit een startpagina met de acties die mensen dagelijks gebruiken: zoeken in alle contracten, zoeken in alle documenten, mijn contracten, opzegdatums, rechten en verplichtingen, contractwaarden en contractrelaties.

Rechten worden ingesteld per divisie en per business line, met lees- of bewerkrechten. Iemand met rechten voor één business line gebruikt dezelfde zoeklijsten als iedereen, maar vindt alleen de contracten die hij mag zien. Test en productie draaien in aparte SharePoint-sites; de testomgeving is duidelijk gemarkeerd, zodat niemand zich vergist.

Contractmanagement in SharePoint: één startpagina, aparte apps voor verkoop- en inkoopcontracten, divisies, business lines en gedeelde acties.
Contractmanagement in SharePoint: één startpagina, aparte apps voor verkoop- en inkoopcontracten, divisies, business lines en gedeelde acties.

Het verkoopcontractformulier: opgebouwd rond de contractlevenscyclus

Het verkoopcontractformulier is ingedeeld in tabbladen die de contractlevenscyclus volgen: Contract Data, Duration / Cancellation, Specific Agreements, Mutation History en Permissions. Onder het formulier staan de bijbehorende lijsten: contractwaarden, rechten & verplichtingen, documenten, e-mails en relaties.

Debiteuren, producten en organisatiegegevens komen elke nacht uit het ERP-systeem. Debiteuren worden gefilterd op de divisie waarin het contract wordt gemaakt, zodat een gebruiker in de ene divisie nooit door de klanten van een andere divisie hoeft te scrollen.

Looptijd, verlenging en opzegdeadlines

Het hart van elk contractregister is de vraag: wanneer moeten we in actie komen? We introduceerden een verlengingstype dat het hele tabblad aanstuurt:

  • Vaste einddatum – alleen de einddatum is in te vullen, de rest is alleen-lezen.
  • Stilzwijgende verlenging – minimale looptijd, verlengingsperiode en opzegtermijnen voor zowel de klant als de eigen organisatie. De opzegdeadline wordt berekend en op een tijdlijn getoond.
  • Stilzwijgende verlenging met maximum – hetzelfde, plus een maximaal aantal verlengingen en een maximale einddatum.

De contractstatus bepaalt welke velden verplicht zijn. Een contract in concept kan met weinig informatie worden opgeslagen; een actief contract heeft de datums nodig die de notificaties aansturen; een beëindigd contract opent de opzegvelden – opzegdatum, doorlopende bepalingen en een eventueel geschil – en zet de rest op alleen-lezen. Zo blijft de data schoon zonder gebruikers lastig te vallen met velden die niet van toepassing zijn.

Tabblad looptijd en opzegging in Shareflex Contract: verlengingstype, opzegtermijnen, berekende opzegdeadline en tijdlijn.
Tabblad looptijd en opzegging in Shareflex Contract: verlengingstype, opzegtermijnen, berekende opzegdeadline en tijdlijn.

Specifieke afspraken

Contracten zijn meer dan datums. Het tabblad Specific Agreements legt de clausules vast die het management snel wil terugvinden: wie het intellectueel eigendom heeft, aansprakelijkheid, boete- en change-of-controlclausules, welke normen zijn afgesproken (zoals ISO of ISAE 3402) en bijzondere prijs- of factuurafspraken. Korte hulpteksten vertellen de gebruiker wat de volgende stap is, bijvoorbeeld: “zijn er normen ingevuld, maak dan een recht/verplichting van het type Audit aan”.

Contractwaarden: wat is het contract waard?

Elk contract heeft een lijst met contractwaarden: terugkerend of eenmalig, vast of variabel, de prijsdrager (per student, per gebruiker, vast bedrag, uren), de periode en de indexatiebasis. Een nachtelijke taak werkt de status van elke regel bij op basis van begin- en einddatum. Belangrijke contractvelden – divisie, debiteur, producten, contract-ID – worden naar elke regel gesynchroniseerd, zodat finance alle waarden over alle contracten heen kan filteren zonder één contract te openen.

Contractwaarden per contract in SharePoint: terugkerende en eenmalige waarden, prijsdrager, periode en indexatiebasis.
Contractwaarden per contract in SharePoint: terugkerende en eenmalige waarden, prijsdrager, periode en indexatiebasis.

Rechten en verplichtingen die niet worden vergeten

Contracten bevatten beloftes: jaarlijkse audits, pentests, rapportages, prijsindexaties. Die worden vastgelegd als rechten & verplichtingen, met een persoon, een deadline en een status. Omdat veel daarvan terugkeren, kwam er een knop Create recurring Rights & Obligations: kies de periode, de eerste deadline en het aantal herhalingen, en elk item wordt aangemaakt met een eigen deadline, een startdatum drie maanden eerder en notificaties aan. Een tweede knop maakt direct vanuit een contractwaarde een indexatieverplichting aan.

Terugkerende rechten en verplichtingen in één klik: elke deadline wordt aangemaakt met eigen startdatum en notificatie.
Terugkerende rechten en verplichtingen in één klik: elke deadline wordt aangemaakt met eigen startdatum en notificatie.

Relaties tussen contracten

Grote klanten hebben vaak een raamovereenkomst met deelcontracten voor afzonderlijke vestigingen. In de lijst relaties koppelen gebruikers contracten als raamovereenkomst, deelcontract, vervangt of gerelateerd aan. Debiteur en producten van het gekoppelde contract worden in de relatielijst getoond, en een apart overzicht laat alle contractrelaties binnen de divisie zien – uiteraard binnen de rechten van de gebruiker.

Daarna kwam inkoop: zelfde fundament, andere vragen

Toen contractbeheer voor verkoop eenmaal draaide, wilde het inkoopteam hetzelfde voor leverancierscontracten. Veel konden we hergebruiken – de structuur, rechten, notificaties, zoeklijsten, export – maar inkoop stelt andere vragen. De grootste verandering is de leverancier: niet alleen een naam op een contract, maar een eigen dossier.

  • Leveranciers komen dagelijks uit het ERP, inclusief KvK-nummer en betaaltermijn, zodat niemand dubbele leveranciers aanmaakt.
  • Elke leverancier krijgt een risicoclassificatie (kritiek, belangrijk, normaal), de certificeringen (zoals ISO 27001, ISO 9001, SOC 2, ISAE 3402) en een leveranciersbeoordeling met datum en opmerkingen.
  • Leveranciersdocumenten zoals certificaten krijgen een vervaldatum, zodat een verlopen ISO-certificaat rood oplicht.
  • Een dagelijkse taak telt het aantal contracten per leverancier – handig als u gaat onderhandelen.
  • Drie maanden voor de beoordelingsdatum maakt de applicatie een taak aan en stuurt een notificatie.
Leveranciersformulier voor inkoopcontractbeheer: risicoclassificatie, certificeringen, leveranciersbeoordeling en vervaldatum van certificaten.
Leveranciersformulier voor inkoopcontractbeheer: risicoclassificatie, certificeringen, leveranciersbeoordeling en vervaldatum van certificaten.

Het inkoopcontractformulier is slimmer over het soort inkoop. Het contracttype volgt uit de inkoopcategorie: de meeste categorieën zijn een gewone overeenkomst, huur van bedrijfsruimte is een pandovereenkomst met eigen velden voor adres en huurverhoging, en software wordt een softwarelicentie met licentietype (SaaS, on-premise, desktop), aantal en persoonlijke licenties. Bij open source software verdwijnt alles wat niet van toepassing is, zoals looptijd, ondertekening en waarden. En een inkoopcontract kan worden gekoppeld aan het verkoopcontract dat het ondersteunt, over beide apps heen.

Verkoop- vs inkoopcontractbeheer: de verschillen

Hieronder een overzicht van wat we in elke app hebben gebouwd.

Onderwerp Verkoopcontracten Inkoopcontracten
Wederpartij Klant (debiteur) uit het ERP, gefilterd op de divisie waarin het contract wordt gemaakt Leverancier met een eigen leveranciersformulier: risicoclassificatie, certificeringen, beoordeling, betaaltermijn en aantal contracten
Structuur Divisies met daaronder business lines Divisies plus een centrale “Core”-omgeving voor groepsbrede inkoop
Contracttype Eén contractformulier voor alle business lines Contracttype volgt uit de inkoopcategorie: overeenkomst, huurovereenkomst (pandovereenkomst) of softwarelicentie
Slimme formulierregels Velden hangen af van verlengingstype en contractstatus Extra regels: bij open source software verdwijnen looptijd, waarden en ondertekening; bij pay-as-you-go verdwijnt indexatie; softwarelicenties krijgen licentietype, aantal en persoonlijke licenties
Verlengingstypen Vaste einddatum, stilzwijgende verlenging, stilzwijgende verlenging met maximum Vaste einddatum, stilzwijgende verlenging en eenmalige aankopen
Opzegtermijnen Klant en eigen organisatie Leverancier en eigen organisatie
Specifieke afspraken Intellectueel eigendom, aansprakelijkheid, boete- en change-of-controlclausules, afgesproken normen, bijzondere prijs- en factuurafspraken SLA- en KPI-afspraken, beëindigingsbepalingen, gebruiksvoorwaarden / EULA, kostenverdeling, en de certificeringen van de leverancier zichtbaar op het contract
Contractwaarden Prijsdrager (studenten, gebruikers, vast bedrag…), periode, indexatiebasis, bijzondere of variabele vergoeding Zelfde model plus verwachte aantallen, factuurperiode en – bij huur – de jaarlijkse huurverhoging
Rechten & verplichtingen Terugkerende verplichtingen, verplichtingen uit afgesproken normen en uit indexatie Terugkerende verplichtingen op contract- én leveranciersniveau, plus een automatische taak voor elke leveranciersbeoordeling
Documenten Contractdocumenten met ondertekeningsdatum en status Contractdocumenten plus leveranciersdocumenten zoals ISO 27001- en SOC 2-certificaten met vervaldatum
Relaties Raamovereenkomsten en deelcontracten, vestigingen van een klant Gerelateerde inkoopcontracten en een koppeling naar het bijbehorende verkoopcontract
Notificaties Opzegdeadlines (stilzwijgende verlenging), einddatums, verplichtingen Zelfde, plus leveranciersbeoordelingen drie maanden vooraf

Notificaties die passen bij het contract

Niemand zit te wachten op twintig e-mails per dag. Notificaties worden daarom verzameld in één dagelijkse e-mail per persoon, vroeg in de ochtend, en alleen voor contracten waarbij notificaties aanstaan. De regels volgen het contract:

  • Stilzwijgende verlenging: drie maanden voor de opzegdeadline, met een wekelijkse herinnering tot het is afgehandeld.
  • Vaste einddatum of eenmalig: één maand voor de einddatum.
  • Rechten & verplichtingen: drie maanden voor de deadline, totdat de status op afgerond staat.
  • Leveranciersbeoordeling (inkoop): drie maanden voor de beoordelingsdatum, met een taak.

Zodra de eerste opzegnotificatie uitgaat, wordt er ook een taak aangemaakt, zodat het besluit om te verlengen of op te zeggen wordt gevolgd totdat iemand het afsluit.

Contractnotificaties in SharePoint: opzegdeadlines, einddatums, verplichtingen en leveranciersbeoordelingen in één dagelijkse e-mail.
Contractnotificaties in SharePoint: opzegdeadlines, einddatums, verplichtingen en leveranciersbeoordelingen in één dagelijkse e-mail.

Data erin, data eruit

Contractbeheer staat niet op een eiland. Stamgegevens komen elke nacht uit het ERP. Voor de eerste vulling en voor bulkwijzigingen leverden we een Excel-sjabloon met precies dezelfde kolommen als het contractformulier, plus opzoekkolommen zodat invoerfouten nauwelijks mogelijk zijn. En een export levert contracten, waarden, rechten & verplichtingen en documentmetadata in Excel, klaar voor het datawarehouse en de managementrapportages van de klant.

Hoe we werkten: kleine fasen, dicht bij de gebruikers

We hebben dit niet in één groot project gebouwd. De verkoop-app begon met de kern – structuur, rechten, contractformulier, ERP-import en notificaties – en groeide daarna in korte fasen, gestuurd door de mensen die er dagelijks mee werken: terugkerende verplichtingen, de verlengingstypen, relaties en vestigingen, import en export, extra velden en fijnslijpen. Elke fase had een heldere scope en werd door de key users van de klant getest voordat hij naar productie ging. De inkoop-app werd ontworpen in hetzelfde gedeelde werkboek – veld voor veld, met type, standaardwaarde, verplicht-regel en zichtbaarheidsregel – en hergebruikte alles wat voor verkoop al werkte.

Meer weten over die aanpak? Lees Van klantwens naar contractmanagement op maat in SharePoint.

Wat het management eraan heeft

  • Grip op deadlines – geen contracten meer die stilzwijgend verlengen omdat niemand de datum zag.
  • Inzicht in waarde – alle contractwaarden, terugkerend en eenmalig, filterbaar over de hele organisatie.
  • Leveranciersrisico onder controle – certificeringen, beoordelingen en kritieke leveranciers in één overzicht.
  • Vertrouwelijkheid per divisie – iedereen ziet precies wat hij mag zien.
  • Eén platform – verkoop- en inkoopcontracten in uw eigen Microsoft 365-omgeving, met dezelfde manier van werken.

Veelgestelde vragen over contractmanagement in SharePoint

Kun je contractmanagement doen in SharePoint?

Ja. SharePoint Online is een veilige plek voor contracten, maar heeft van zichzelf geen contractregister, berekening van opzegtermijnen, herinneringen of contractwaarden. Shareflex Contract voegt precies dat toe bovenop SharePoint, in uw eigen Microsoft 365-tenant.

Wat is het verschil tussen verkoop- en inkoopcontractbeheer?

Verkoopcontracten gaan over klanten, omzet, prijsindexatie en wat u hebt beloofd. Inkoopcontracten gaan over leveranciers, kosten, risico en compliance: is de leverancier gecertificeerd, is de beoordeling weer nodig, past de softwarelicentie nog bij het aantal gebruikers? Daarom bouwden we twee apps met eigen formulieren op één gedeeld fundament.

Werkt Shareflex Contract samen met ons ERP-systeem?

Ja. Klanten, leveranciers, kostenplaatsen en producten worden dagelijks vanuit het ERP in SharePoint-lijsten ingelezen, zodat gebruikers ze uit een lijst kiezen in plaats van ze te typen. Contractdata kan ook naar Excel of een datawarehouse worden geëxporteerd.

Hoe houden we contracten vertrouwelijk per afdeling?

Rechten worden ingesteld per divisie en business line. Gebruikers vinden alleen de contracten die ze mogen lezen, ook in de zoeklijsten over alle contracten heen.

Krijgen we een herinnering voordat een contract stilzwijgend verlengt?

Ja. Bij stilzwijgende verlenging wordt de opzegdeadline berekend uit startdatum, minimale looptijd, verlengingsperiode en opzegtermijn. Drie maanden voor die datum krijgen de verantwoordelijken een herinnering, wekelijks, totdat er een besluit is genomen.

Uw verkoop- en inkoopcontracten in SharePoint?

Wilt u contractmanagement dat uw organisatie volgt, voor de contracten die u verkoopt én de contracten die u inkoopt? Bekijk Shareflex Contract voor SharePoint en Microsoft 365, lees hoe we een veilige functie om contracten te kopiëren bouwden, of neem contact op.