Innanizitutto dovresti dire quali linguaggi conosci già, così è più semplice darti una dritta mirata.
In secondo luogo sarebbe utile capire il target del cliente per capire se vale la pena di realizzare una cosa 'proprietaria', oppure se sia più conveniente indirizzarsi verso un un linguaggio che supporti componenti di reportistica avanzati (anche di terze parti).
Ad esempio, gli strumenti di reportistica 'seri' dispongono tutti della versione cossidetta designer esterna al componente stesso che permette graficamente sia allo sviluppatore che al cliente stesso, di modificare il report come più gli aggrada, senza dover ricompilare il programma.
Ovviamente parlo di report esterni ovvero che vengono gestiti come semplici file e che non vengono inglobati nel programma stesso.
In genere questi report sono in formato testo o XLM che li rendono modificabili in qualsiasi modo (da designer, da codice, da un editor di testo).
Se il cliente cambia un'immagine, un logo, vuole spostare un campo e/o etichetta non deve diventare necessario l'intervento dello sviluppatore che deve modificare, ricompilare il programma, e poi distribuirlo nuovamente.
Se ha il designer lo può fare agevolmente senza alcuna conoscenza di programmazione.
Per le modifiche più spinte, invece, allora servirà lo sviluppatore.