Fatti:
Fatti:
A. Nel 1997 B._, proprietario di alcuni immobili a X._, ha incaricato A._ di procedere all'incasso - per suo conto - dei crediti nei confronti di due inquilini. Fra le parti sono poi sorti dei contrasti che hanno condotto alla revoca del mandato, il 15 marzo 1999.
A. Nel 1997 B._, proprietario di alcuni immobili a X._, ha incaricato A._ di procedere all'incasso - per suo conto - dei crediti nei confronti di due inquilini. Fra le parti sono poi sorti dei contrasti che hanno condotto alla revoca del mandato, il 15 marzo 1999.
B. Asserendo che A._ non gli avrebbe riversato tutti gli importi percepiti nell'ambito del predetto incarico, il 29 gennaio 2002 B._ lo ha convenuto dinanzi alla Pretura del Distretto di Lugano, sezione 3. In sede giudiziaria ha chiesto il pagamento di fr. 16'800.--, oltre interessi, importo ridefinito in fr. 20'450.-- con le conclusioni di causa. A._ si è opposto, ponendo in compensazione due crediti cedutigli dalla C._SA, per un totale di fr. 15'284.60, ed un terzo ricevuto da D._, di fr. 1'500.--.
La petizione è stata parzialmente accolta il 6 novembre 2003. Respinte le pretese poste in compensazione siccome non provate, il Pretore ha infatti condannato A._ al versamento di fr. 15'727.--, oltre interessi.
La petizione è stata parzialmente accolta il 6 novembre 2003. Respinte le pretese poste in compensazione siccome non provate, il Pretore ha infatti condannato A._ al versamento di fr. 15'727.--, oltre interessi.
C. L'appello presentato dal soccombente è stato accolto limitatamente alla questione della decorrenza degli interessi moratori; le conclusioni pretorili in merito alle pretese poste in compensazione sono state invece confermate. Nella sentenza emanata il 16 febbraio 2005 la II Camera civile del Tribunale d'appello del Cantone Ticino ha dunque riformato il giudizio di prima istanza, condannando A._ al versamento di fr. 15'727.-- con la precisazione che gli interessi del 5% iniziano a decorrere dal 1° gennaio 2000 su fr. 8'369.-- e dal 1° agosto 2001 su fr. 7'358.--.
C. L'appello presentato dal soccombente è stato accolto limitatamente alla questione della decorrenza degli interessi moratori; le conclusioni pretorili in merito alle pretese poste in compensazione sono state invece confermate. Nella sentenza emanata il 16 febbraio 2005 la II Camera civile del Tribunale d'appello del Cantone Ticino ha dunque riformato il giudizio di prima istanza, condannando A._ al versamento di fr. 15'727.-- con la precisazione che gli interessi del 5% iniziano a decorrere dal 1° gennaio 2000 su fr. 8'369.-- e dal 1° agosto 2001 su fr. 7'358.--.
D. Tempestivamente insorto dinanzi al Tribunale federale con un ricorso di diritto pubblico fondato sulla violazione dell'art. 9 Cost., A._ postula - previa concessione dell'effetto sospensivo al gravame - l'annullamento della decisione cantonale.
L'istanza di effetto sospensivo è stata respinta il 3 maggio 2005.
Con risposta del 6 maggio 2005 B._ ha proposto l'integrale reiezione del gravame, mentre l'autorità cantonale ha rinunciato a presentare osservazioni.
Diritto:
1. Il Tribunale federale si pronuncia d'ufficio e con pieno potere d'esame sull'ammissibilità del rimedio esperito (DTF 131 I 57 consid. 1).
Interposto in tempo utile (art. 89 cpv. 1 OG) contro una decisione finale di ultima istanza (art. 86 OG) dalla parte soccombente nella procedura cantonale (art. 88 OG) per violazione dei diritti costituzionali del cittadino (art. 84 cpv. 1 lett. a OG), il ricorso di diritto pubblico si avvera, sotto questo profilo, ricevibile.
Interposto in tempo utile (art. 89 cpv. 1 OG) contro una decisione finale di ultima istanza (art. 86 OG) dalla parte soccombente nella procedura cantonale (art. 88 OG) per violazione dei diritti costituzionali del cittadino (art. 84 cpv. 1 lett. a OG), il ricorso di diritto pubblico si avvera, sotto questo profilo, ricevibile.
2. Nella prima parte del giudizio impugnato la Corte ticinese ha respinto la tesi secondo la quale l'opponente non avrebbe contestato adeguatamente i (pochi) fatti addotti dal ricorrente. Al contrario, così come sollevate, le contestazioni permettevano di individuare i fatti che avrebbero dovuto essere provati dal ricorrente, gravato dall'onere di dimostrare la sussistenza dei crediti posti in compensazione. I giudici cantonali hanno quindi esaminato singolarmente le tre fatture presentate dal ricorrente - e contestate dall'opponente - giungendo alla conclusione ch'egli non ha fornito la prova della loro fondatezza. Da ultimo, hanno negato la possibilità di ravvedere nello scritto 2 maggio 1997 (doc. 12) e nel silenzio dell'opponente alla lettera del 2 settembre 1997 (doc. 8) un riconoscimento di debito delle predette fatture. Donde il rifiuto della compensazione e la conferma, su questo punto, della pronunzia di prima istanza.
Il ricorrente ravvede in questa sentenza una duplice violazione del divieto dell'arbitrio (art. 9 Cost.): la prima nell'apprezzamento delle prove e la seconda nell'applicazione del diritto processuale cantonale, segnatamente degli art. 170 cpv. 2, 184 cpv. 2 e 321 lett. b CPC/TI.
Il ricorrente ravvede in questa sentenza una duplice violazione del divieto dell'arbitrio (art. 9 Cost.): la prima nell'apprezzamento delle prove e la seconda nell'applicazione del diritto processuale cantonale, segnatamente degli art. 170 cpv. 2, 184 cpv. 2 e 321 lett. b CPC/TI.
3. Dato il tenore dell'impugnativa, prima di esaminare nel dettaglio le censure ivi sollevate occorre esporre i principi che reggono il ricorso di diritto pubblico fondato sulla violazione del divieto dell'arbitrio.
3.1 Innanzitutto va rammentato che con il ricorso di diritto pubblico non viene proseguita la procedura cantonale; tale rimedio giuridico, straordinario, configura una procedura giudiziaria indipendente, destinata esclusivamente a controllare la costituzionalità degli atti cantonali (DTF 117 Ia 393 consid. 1c pag. 395). Per questo motivo, in questo ambito, il Tribunale federale vaglia solo le censure che sono state sollevate in modo chiaro e dettagliato, conformemente all'obbligo di articolare le censure sancito dall'art. 90 cpv. 1 lett. b OG (cosiddetto "Rügeprinzip"). In virtù di questa norma, infatti, il ricorso di diritto pubblico deve contenere l'esposizione dei fatti essenziali e quella concisa dei diritti costituzionali o delle norme giuridiche che si pretendono violati, precisando altresì in che consista tale violazione (DTF 130 I 258 consid. 1.3 pag. 261 seg.).
3.2 L'arbitrio non si realizza già qualora la soluzione proposta con il ricorso possa apparire sostenibile o addirittura migliore rispetto a quella contestata (DTF 131 I 57 consid. 2 pag. 61 con rinvii). Il Tribunale federale annulla una sentenza cantonale per violazione dell'art. 9 Cost., solo se essa appare - e ciò non solo nella sua motivazione ma bensì anche nell'esito - manifestamente insostenibile, in aperto contrasto con la situazione reale, gravemente lesivo di una norma o di un principio giuridico chiaro e indiscusso oppure in contraddizione urtante con il sentimento della giustizia e dell'equità (DTF 129 I 8 consid. 2.1).
Poiché, per giurisprudenza invalsa, in materia di valutazione delle prove il giudice del merito fruisce di un ampio margine di apprezzamento, qualora - come nel caso in rassegna - venga censurata la valutazione del materiale probatorio, è necessario dimostrare che egli ha manifestamente misconosciuto il senso e la portata di un mezzo di prova, che ha omesso senza valida ragione di tener conto un elemento di prova importante, suscettibile di modificare l'esito della vertenza, oppure che ha ammesso o negato un fatto ponendosi in aperto contrasto con gli atti di causa o interpretandoli in modo insostenibile (DTF 129 I 8 consid. 2.1).
3.3 Incombe al ricorrente dimostrare - con un'argomentazione chiara e dettagliata, conforme ai dettami dell'art. 90 cpv. 1 lett. b OG, sopra esposti - che il giudice ha emanato una decisione arbitraria nel senso sopra descritto, tenendo ben presente che un gravame fondato sull'art. 9 Cost., com'è quello in esame, non può essere sorretto da argomentazioni con cui la parte ricorrente si limita a contrapporre il suo parere a quello dell'autorità cantonale, come se il Tribunale federale fosse una superiore giurisdizione di appello a cui compete di rivedere liberamente il fatto e il diritto e di ricercare la corretta applicazione delle norme invocate (DTF 128 I 295 consid. 7a pag. 312).
3.3 Incombe al ricorrente dimostrare - con un'argomentazione chiara e dettagliata, conforme ai dettami dell'art. 90 cpv. 1 lett. b OG, sopra esposti - che il giudice ha emanato una decisione arbitraria nel senso sopra descritto, tenendo ben presente che un gravame fondato sull'art. 9 Cost., com'è quello in esame, non può essere sorretto da argomentazioni con cui la parte ricorrente si limita a contrapporre il suo parere a quello dell'autorità cantonale, come se il Tribunale federale fosse una superiore giurisdizione di appello a cui compete di rivedere liberamente il fatto e il diritto e di ricercare la corretta applicazione delle norme invocate (DTF 128 I 295 consid. 7a pag. 312).
4. La prima censura ricorsuale verte sull'asserita relazione fra il doc. 12 - una lettera inviata dall'opponente al ricorrente il 2 maggio 1997 - e i crediti posti in compensazione, che la Corte cantonale ha ritenuto non provata.
4.1 Il ricorrente rileva anzitutto come, al consid. 6.3 della sentenza impugnata, la stessa Corte abbia accertato che in tale documento l'opponente ha "riconosciuto di essere debitore nei confronti del qui ricorrente". In queste circostanze, considerato anche come l'opponente non abbia contestato esplicitamente la proposta relazione fra il doc. 12 e le fatture - ciò che dovrebbe indurre a ritenerla ammessa in applicazione dell'art. 170 cpv. 2 CPC/TI -, la decisione di imporgli di fornire ulteriori prove a questo riguardo sarebbe in contrasto con l'art. 184 cpv. 2 CPC/TI, che limita la prova ai fatti contestati. Infine, la Corte ticinese avrebbe violato anche il divieto di nova sancito dall'art. 321 cpv. 1 lett. b CPC/TI omettendo di dichiarare tardive le osservazioni formulate dalla controparte sul doc. 12 per la prima volta in sede di appello.
4.2 La censura è manifestamente infondata.
4.2.1 In primo luogo si osserva che, contrariamente a quanto asserito nel gravame, la Corte cantonale non ha accertato che nella citata lettera l'opponente si era riconosciuto debitore nei confronti del ricorrente. Dalla lettura del considerando richiamato emerge piuttosto che i giudici ticinesi hanno constatato come, in quel documento, l'opponente si sia limitato a riconoscere "l'esistenza di posizioni aperte nei confronti di D._ e della C._SA". Siccome, però, nulla è stato detto sull'oggetto di tali posizioni aperte, non è stato indicato a cosa si riferissero né è stato menzionato alcun importo, i giudici hanno escluso di poter dedurre una relazione certa fra l'ammissione contenuta nel doc. 12 e le fatture poste in compensazione dal ricorrente, tanto più che sia D._ che la C._SA avevano svolto altri lavori per conto dell'opponente.
Si tratta di una conclusione senz'altro sostenibile e sulla quale, comunque, il ricorrente non si pronuncia.
4.2.2 Nemmeno il richiamo alle disposizioni procedurali ticinesi è pertinente.
Giovi anzitutto rammentare che la controversia non verte sulla relazione fra il doc. 12 e le tre fatture, bensì sulla fondatezza di queste tre fatture. Ora, stando a quanto stabilito nella pronunzia impugnata (al consid. 6.2), in sede giudiziaria l'opponente ha adeguatamente contestato, nei modi e nei tempi previsti dalla normativa processuale cantonale, i tre crediti posti in compensazione dal ricorrente, donde l'impossibilità di considerarli come ammessi e la necessità, per il ricorrente, di dimostrarne la fondatezza. Dato che il ricorrente nemmeno si confronta con questo accertamento, una violazione degli art. 170 cpv. 2 e 184 cpv. 2 CPC/TI non entra in linea di conto.
4.2.3 Fra i mezzi di prova presentati dal ricorrente a sostegno della fondatezza delle sue pretese vi è il pluricitato doc. 12. Egli sostiene che, tenendo conto delle osservazioni formulate dall'opponente a proposito di questo documento per la prima volta in sede di appello, la Corte cantonale avrebbe violato l'art. 321 cpv. 1 lett. b CPC/TI, giusta il quale "in sede di appello è esclusa l'adduzione di nuovi fatti, prove ed eccezioni".
A torto. A prescindere dal fatto che il ricorrente non indica quali sarebbero i "nuovi fatti, prove ed eccezioni" addotti dall'opponente e che nella querelata pronunzia i giudici non ne fanno menzione, egli dimentica, comunque, l'effetto devolutivo di tale rimedio. L'appello implica infatti un nuovo esame completo della causa. Dato che, come detto, il doc. 12 è uno dei mezzi di prova prodotti dal ricorrente a sostegno delle sue pretese, l'analisi critica di tale scritto da parte dell'autorità cantonale non configura una violazione del divieto di nova bensì rientra nel suo potere d'esame.
4.3 Sempre nell'ambito del riesame della causa, i giudici cantonali hanno negato valenza probatoria alla lettera inviata dal ricorrente all'opponente il 2 settembre 1997 (doc. 8) e agli estratti conto prodotti sub doc. 38, nemmeno richiamati nella pronunzia.
4.3.1 I giudici ticinesi hanno reputato il doc. 8 irrilevante ai fini del giudizio, perché l'estratto conto menzionatovi - "Zusammenstellung offener Positionen (C._SA & D._)" - non è agli atti e nulla si sa del suo contenuto. Il ricorrente definisce arbitraria questa decisione; a suo modo di vedere, l'assenza di tale estratto non sarebbe determinante, decisivo sarebbe per contro il fatto che l'opponente non ha negato di averlo ricevuto. Il suo silenzio va inteso quale accettazione.
La tesi ricorsuale non può essere seguita. Anche se la questione della portata giuridica del silenzio dell'opponente agli scritti del ricorrente attiene in verità al diritto - e in quanto tale non può venir trattata nel quadro del presente rimedio (principio della sussidiarietà assoluta del ricorso di diritto pubblico, art. 84 cpv. 2 OG) - vale la pena di osservare che, in ogni caso, il silenzio osservato dopo aver ricevuto un estratto conto o una fattura non vale, salvo patto contrario, come accettazione secondo l'art. 6 CO (DTF 112 II 500 consid. 3b). Per quanto concerne invece più da vicino la valutazione del doc. 8 si osserva che, considerato il carattere generico dell'indicazione "Zusammenstellung offener Positionen (C._SA & D._)" e l'esistenza di altri rapporti contrattuali fra l'opponente, C._SA e D._, la decisione della Corte cantonale di non ritenere tale documento idoneo a dimostrare i tre crediti posti in compensazione appare sostenibile.
4.3.2 La critica rivolta alla valutazione del doc. 38 (estratti conto) risulta per contro inammissibile per carente motivazione.
In contrasto con quanto prescritto dall'art. 90 cpv. 1 lett. b OG, il ricorrente non indica infatti a cosa si riferissero gli estratti conto prodotti con il doc. 38, peraltro non menzionato dalla Corte cantonale, né spiega per quale motivo la mancata reazione sarebbe decisiva ai fini del giudizio impugnato.
4.4 Da quanto esposto discende che la conclusione dei giudici ticinesi, secondo cui la documentazione agli atti non ha confermato l'esistenza di un riconoscimento, da parte dell'opponente, dei tre crediti posti in compensazione, resiste alla censura di arbitrio.
4.4 Da quanto esposto discende che la conclusione dei giudici ticinesi, secondo cui la documentazione agli atti non ha confermato l'esistenza di un riconoscimento, da parte dell'opponente, dei tre crediti posti in compensazione, resiste alla censura di arbitrio.
5. Si può ora passare all'esame delle censure concernenti la valutazione dei singoli crediti posti in compensazione. Si tratta di due crediti ceduti al ricorrente da C._SA, per un totale di fr. 15'284.60, e di un terzo credito ricevuto da D._, di fr. 1'500.--.
5.1 Ora, nella misura in cui il ricorrente fonda la sua contestazione sulla tesi del riconoscimento di debito deducibile dalla documentazione versata agli atti, e più in particolare dal doc. 12, vale quanto esposto al precedente considerando.
Con questo si estingue, fra l'altro, la critica al giudizio sulla fattura di D._, dato che il ricorrente non propone alcun altro argomento a tal proposito.
5.2 Il primo credito ceduto dalla C._SA, di fr. 8'000.--, riguarda - a dire del ricorrente - un incarico conferito dall'opponente alla predetta società, tendente dapprima alla vendita delle case site a X._ e, successivamente, alla loro trasformazione in proprietà per piani, per poi darle in locazione.
5.2.1 Rilevata la contestazione dell'opponente in merito sia al conferimento del mandato che all'ammontare della fattura e alla fornitura delle prestazioni, la Corte cantonale ha stabilito che il ricorrente non ha fornito indicazioni circa la natura e l'entità delle pretese prestazioni né tantomeno ha presentato prove al riguardo. La teste E._ ha infatti riferito di aver avuto contatto solo con l'architetto G._ in relazione alle menzionate case, ciò che non permette di concludere per l'esistenza di un contratto fra l'opponente e la C._SA. Donde la reiezione della compensazione.
5.2.2 Il ricorrente rimprovera ai giudici ticinesi di aver arbitrariamente ammesso come provata l'esistenza di una relazione contrattuale con l'architetto G._ e questo nonostante le sue esplicite contestazioni.
Sennonché dalla sentenza impugnata non emerge un accertamento in tal senso; la Corte ticinese non ha ritenuto come provata l'esistenza di un rapporto contrattuale con l'architetto G._ o la G._SA, bensì ha stabilito che, a fronte delle contestazioni dell'opponente, vi è solo una dichiarazione testimoniale da cui si evince unicamente un coinvolgimento dell'architetto G._ e che per questo motivo non è possibile dedurre da questa deposizione l'esistenza di un contratto con la C._SA.
Si tratta di una conclusione sostenibile.
5.3 Il secondo credito ceduto dalla C._SA, di fr. 7'284.60, concernerebbe invece interventi eseguiti nelle case di X._, resisi necessari a causa dei danni provocati dall'inquilina F._.
5.3.1 Anche in questo caso l'autorità d'appello ha evidenziato come l'opponente abbia contestato sia l'ammontare della fattura che il conferimento del mandato. Anzi, egli ha affermato di aver conferito il mandato all'architetto G._, il quale avrebbe già emesso una nota di fr. 7'500.-- e percepito tre acconti per complessivi fr. 1'500.--. A fronte di queste allegazioni - hanno osservato i giudici ticinesi - il ricorrente ha prodotto solo la dichiarazione di cessione, mentre non è stato in grado di versare agli atti una fattura, né di indicare il genere o l'entità dei lavori che giustificherebbero l'importo richiesto. L'unico riferimento alla somma di fr. 7'284.60 è riscontrabile nello scritto 5 novembre 2001 del patrocinatore dell'opponente, da cui si evince l'esistenza di una ricapitolazione della C._SA, risalente al 1995, indicante un importo pressoché identico, che non può tuttavia valere quale riconoscimento di debito. Né pare - hanno proseguito i giudici - che il ricorrente conoscesse l'esistenza di tale asserito credito prima del citato scritto, dato che lo ha fatto valere per la prima volta nella risposta di causa. Da ultimo è stato rilevato che i lavori nell'ente locato sono avvenuti nel luglio 1995, sicché la cessione, riferita alla nota riassuntiva 6/95 non si riferiva verosimilmente a tale pratica. Tenuto conto di quanto appena esposto la Corte ticinese ha concluso che non è possibile collegare il credito ceduto alla pratica F._. Donde la reiezione della compensazione.
5.3.2 Dinanzi al Tribunale federale il ricorrente afferma che la documentazione relativa al rapporto contrattuale fra la C._SA per la pratica F._ sarebbe in possesso della controparte, ma non risulta ch'egli abbia già fatto valere questo argomento in sede cantonale né tantomeno che abbia preteso la produzione di tali documenti. Né si può dar seguito alla tesi secondo la quale il momento in cui i lavori di ripristino sono avvenuti non sarebbe determinante, giacché l'argomento addotto a sostegno di tale affermazione - secondo cui C._SA si era limitata a prestazioni di competenza dell'architetto - oltre ad essere di difficile comprensione, non appare comunque suscettibile di rendere manifestamente insostenibile la decisione dell'autorità ticinese.
5.4 In conclusione, la sentenza impugnata resiste alla critica di arbitrio anche in punto alla valutazione delle singole fatture.
5.4 In conclusione, la sentenza impugnata resiste alla critica di arbitrio anche in punto alla valutazione delle singole fatture.
6. Da tutto quanto esposto discende la reiezione del gravame in quanto ammissibile.
Gli oneri processuali e le ripetibili seguono la soccombenza (art. 156 cpv. 1 e 159 cpv. 1 e 2 OG).
Il Tribunale federale pronuncia:
Il Tribunale federale pronuncia:
1. Nella misura in cui è ammissibile, il ricorso è respinto.
1. Nella misura in cui è ammissibile, il ricorso è respinto.
2. La tassa di giustizia di fr. 2'000.-- è posta a carico del ricorrente, il quale rifonderà all'opponente fr. 2'500.-- per ripetibili della sede federale.
2. La tassa di giustizia di fr. 2'000.-- è posta a carico del ricorrente, il quale rifonderà all'opponente fr. 2'500.-- per ripetibili della sede federale.
3. Comunicazione al ricorrente, al patrocinatore dell'opponente e alla II Camera civile del Tribunale d'appello del Cantone Ticino.