Cees in Cyberspace

Tips & Scripts...

 

Een WordPress mini-CRM

Een WordPress mini-CRM

Ik was (of eigenlijk ben ik dat nog steeds) op zoek naar een WordPress plugin waarmee ik niet alleen makkelijk extra kenmerken bij gebruikers zou kunnen aanmaken, maar de gebruikers ook kon verbinden met 1 of meerdere entiteiten. Wat ik bedoel is: gebruikers die 1 of meerdere eigendommen bezitten. Of nog specifieker: 1 of meer auto’s, want het idee was namelijk voor een garagebedrijf die WooCommerce wilde gebruiken om facturen mee te versturen. Op zo’n factuur moet dan natuurlijk wel staan voor welke auto deze geldt.

Waarom WooCommerce? Omdat dat standaard al een flink aantal elementen bevat dat benodigd is om facturen aan te kunnen maken: klanten, artikelen, orders etc.

Omdat ik die plugin niet kon vinden, besloot ik hem zelf te maken. Maar dan wel zo variabel mogelijk, zodat hij niet alleen voor autobedrijven, maar bijvoorbeeld ook voor fietsenmakers of dierenartsen gebruikt kan worden…

Deze plugin die ik “Customer Objects” heb gedoopt, gaat uit van behoorlijk simpele principes:

1. een custom post type

Iedere WordPress gebruiker weet inmiddels dat er standaard posttypes zoals pagina’s en berichten bestaan. WooCommerce breidt deze uit met producten en orders. Maar je kunt als WordPress-ontwikkelaar ook zelf een posttype toevoegen. Ik heb daarom het posttype “customerobject” gedefinieerd.

Vervolgens heb ik via de WordPress add_meta_box-functie een aantal extra velden toegevoegd aan dit nieuwe posttype. Velden van toepassing op auto’s zijn bijvoorbeeld: merk, model, bouwjaar, onderhoud etc. Ik heb de benamingen van alle objecten en velden zo transparant mogelijk gehouden en zo vertaald via een PO-bestand; het nieuwe posttype werd in dit geval dus simpelweg “auto” waarbij als standaard WordPress titel het kenteken wordt gebruikt.

2. koppelen aan klanten

Om een auto aan een eigenaar te kunnen koppelen, heb ik in het “auto-onderhoudsscherm” een dropdown gemaakt waar je uit bestaande (WooCommerce) klanten kunt kiezen. Andersom kun je in het gebruikersscherm zien welke auto’s een gebruiker op zijn naam heeft staan. Dit scherm heb ik vervolgens uitgebreid met een aantal extra velden (zoals een tweede telefoonnummer), maar dat is optioneel.

Je kunt er voor kiezen om in de frontend een klant ook zijn kenteken in te laten vullen als hij iets bestelt, maar deze opdracht ging puur en alleen over de WordPress admin. De WooCommerce shop was daarom ook uitgeschakeld.

3. order aanmaken in de admin

Als je via de WordPress admin een WooCommerce order aanmaakt, kun je kiezen uit bestaande klanten. Ik heb een extra functionaliteit toegevoegd die je de auto’s toont op naam van de klant die je kiest. Vervolgens kies je op de gebruikelijke manier voor de artikelen die je op de factuur wilt zetten en sla je de bestelling op.

Door een kleine aanpassing in het template van de orderbevestiging die naar de klant wordt gestuurd, kan deze zien voor welke auto deze bevestiging geldt. Een soortgelijke aanpassing kun je doen voor de standaard “Mijn Account” functionaliteit in WooCommerce, zodat de klant ook daar kan zien welke “werkopdrachten” hij voor welke voertuigen heeft laten uitvoeren in het verleden.

Zoals gezegd, is deze (lichtgewicht!) plugin geschikt om allerlei klantkoppelingen te maken en dus zeker niet alleen voor autobedrijven. Mocht je maar willen weten, neem dan geheel vrijblijvend contact op!