Fatti: Fatti: A. Nel febbraio 2002 A._ ha effettuato la revisione del motore di una pala meccanica Cummins Mitch 275 di proprietà della B._SA; per il lavoro svolto egli ha incassato fr. 20'000.--. Una mezz'ora dopo essere stato rimesso in funzione, il motore si è fermato. La B._SA ha allora ricontattato A._. Nonostante il suo intervento, il problema non è stato definitivamente risolto. La riparazione è stata per finire affidata ad un'altra impresa che ha proceduto a una nuova revisione e rimesso in funzione il motore. La riparazione è stata per finire affidata ad un'altra impresa che ha proceduto a una nuova revisione e rimesso in funzione il motore. B. Il 26 febbraio 2003 la B._SA ha convenuto A._ dinanzi alla Pretura del Distretto di Bellinzona chiedendo il risarcimento del danno subito a causa dell'inadempimento del contratto d'appalto, quantificato in fr. 64'405.05, ovvero: fr. 20'000.-- per la mercede versata; fr. 20'010.90 per le spese di riparazione del motore da parte di terzi; fr. 4'630.15 per le spese di trasporto e sdoganamento; fr. 15'064.-- per le spese di noleggio di un veicolo sostitutivo; fr. 2'700.-- per le spese di montaggio e smontaggio del motore. In sede di conclusioni ha ridotto la sua pretesa a fr. 59'705.05. Affermando di aver effettuato correttamente la revisione del motore e di averlo consegnato perfettamente funzionante, A._ si è opposto alla pretesa attorea. Con sentenza del 28 dicembre 2004 il Pretore ha accolto la petizione limitatamente a fr. 23'766.--. Confermata l'esistenza di un contratto d'appalto in virtù del quale A._ si era impegnato a effettuare la revisione completa del motore dietro corresponsione della mercede di fr. 20'000.--, il giudice ha infatti rilevato che il motore non solo era stato consegnato in ritardo e non funzionante, ma che nemmeno era stato sottoposto a revisione completa; in queste circostanze egli ha reputato giustificato il rifiuto dell'opera da parte dell'attrice. Donde la condanna di A._ alla restituzione della mercede e al risarcimento delle (sole) spese di nolo per un veicolo sostitutivo durante 7 giorni, pari a fr. 3'766. --. C. Adita dal soccombente, il 21 marzo 2006 la II Camera civile del Tribunale d'appello del Cantone Ticino ha riformato la pronunzia di primo grado, riducendo a fr. 20'000.-- l'importo riconosciuto alla B._SA. Sulla base delle tavole processuali la massima istanza ticinese - a differenza del primo giudice - ha negato di poter imputare al convenuto il blocco del motore. Essa ha per contro condiviso le conclusioni pretorili circa il mancato adempimento del contratto, posto come il convenuto stesso abbia ammesso di aver eseguito solo una revisione parziale - e non totale - del motore. In queste circostanze, ha proseguito l'autorità ticinese, l'attrice poteva scegliere tra il completamento dell'opera e la riduzione della mercede. Chiedendo la restituzione della mercede essa ha implicitamente optato per la seconda possibilità. Data l'assenza, agli atti, di elementi sufficienti per determinare l'entità del lavoro svolto dal convenuto, gravato dall'onere probatorio, la Corte ticinese ha tuttavia, per finire, ritenuto di non poter ridurre in maniera corrispondente la somma da lui dovuta all'attrice, indi per cui ha confermato la condanna alla restituzione dell'intera mercede. L'obbligo di rimborsare i costi per il nolo di un veicolo sostitutivo durante sette giorni è invece stato annullato. Sulla base delle tavole processuali la massima istanza ticinese - a differenza del primo giudice - ha negato di poter imputare al convenuto il blocco del motore. Essa ha per contro condiviso le conclusioni pretorili circa il mancato adempimento del contratto, posto come il convenuto stesso abbia ammesso di aver eseguito solo una revisione parziale - e non totale - del motore. In queste circostanze, ha proseguito l'autorità ticinese, l'attrice poteva scegliere tra il completamento dell'opera e la riduzione della mercede. Chiedendo la restituzione della mercede essa ha implicitamente optato per la seconda possibilità. Data l'assenza, agli atti, di elementi sufficienti per determinare l'entità del lavoro svolto dal convenuto, gravato dall'onere probatorio, la Corte ticinese ha tuttavia, per finire, ritenuto di non poter ridurre in maniera corrispondente la somma da lui dovuta all'attrice, indi per cui ha confermato la condanna alla restituzione dell'intera mercede. L'obbligo di rimborsare i costi per il nolo di un veicolo sostitutivo durante sette giorni è invece stato annullato. D. Tempestivamente insorto dinanzi al Tribunale federale con un ricorso per riforma fondato sulla violazione delle norme sull'appalto nonché dell'art. 8 CC, A._ postula, in via principale, la modifica della sentenza cantonale nel senso di accogliere il suo appello e, di conseguenza respingere integralmente la petizione. In via subordinata chiede che l'incarto venga rinviato all'autorità ticinese per nuovo giudizio. Con risposta del 19 giugno 2006 la B._SA ha proposto la reiezione del gravame. 