Ricapitolando.
Scrivi una funzione globale cui passi come parametri tante belle cose, in particolare cosa stai per fare, e chi lo farà
Questa funzione, autonomamente, scriverà in una tabella mysql i parametri che le arrivano (o se preferisci su un file di testo, vedi te)
Nei tuoi vari script php, a un certo punto, ti troverai tra l'aver predisposto il comando SQL e l'eseguirlo.
In "mezzo" metti la chiamata alla funzione di registrazione.
Ci sono alternative: una è quella di fare dei trigger sulle tabelle (una sorta di miniprogrammi MYSQL) i quali vengono attivati autonomamente dalla tua applicazione, prima o dopo certi eventi (tipicamente aggiungi e modifica)
In questi programmelli puoi fare la stessa cosa: registrare le operazioni.
Il vantaggio è che funzionano ovunque, indipendentemente dal programma (in sostanza non devi cambiare il sorgente).
Lo svantaggio è che non conoscono "tutto", in particolare CHI (quale utente) sta facendo una certa operazione sul database.
A meno che tu non utilizzi un metodo hokuto, ovvero mappare ogni utente dell'applicazione in un utente mysql (si può fare anche questo, ma tipicamente solo se gli utenti sono pochi e rimangono sostanzialmente statici,non mutano nel tempo)
Concludo col suggerirti, di nuovo, di abbandonare il prima possibile
$toinsert = "INSERT INTO `Db`
(id, barcode, codice, descrizione, )
VALUES
('$id',
'$barcode',
'$codice',
'$descrizione'
)";
questo genere di approccio all'interazione dol database, perchè è assolutamente insicuro e deprecabile all'inverosimile.
Con quella insert potrei prendere il controllo di tutto il tuo sistema e cancellarti le tabelle o qualsiasi altra cosa in pochi secondi.
Quindi, ricapitolando, invece di scrivere codice su codice che poi BUTTERAI VIA parti già col piede giusto e studia come usare la libreria PDO, con mysql in questo caso, coi relativi statement preparati.