Fatti:
Fatti:
A. Nel 1999 X._ SA, Locarno, si è rivolta alla ditta italiana Y._ S.r.l. - con la quale collaborava già sul cantiere di Ansbach, in Germania - chiedendole di mettere a sua disposizione del personale specializzato, per procedere al montaggio di alcune parti delle installazioni dell'impianto di smaltimento rifiuti che stava realizzando a Karlsruhe.
Per le prestazioni fornite in relazione a tale cantiere Y._ S.r.l. ha fatturato complessive Lit. 5'221'760'517. Dopo aver versato Lit. 2'484'998'655, X._ SA ha rifiutato ogni ulteriore pagamento. Donde la presente causa.
Per le prestazioni fornite in relazione a tale cantiere Y._ S.r.l. ha fatturato complessive Lit. 5'221'760'517. Dopo aver versato Lit. 2'484'998'655, X._ SA ha rifiutato ogni ulteriore pagamento. Donde la presente causa.
B. Il 9 gennaio 2002 Y._ S.r.l. ha adito la Pretura della Giurisdizione di Locarno-Città onde ottenere la condanna dell'impresa ticinese al versamento del saldo delle sue fatture, pari a fr. 2'189'409.50 (ovvero Lit. 2'736'761'822 al cambio di 0.80 fr./1'000 Lit.), oltre interessi.
Eccepita, in primo luogo, l'incompetenza territoriale del giudice adito, X._ SA ha avversato la petizione adducendo l'insostenibilità delle ore fatturate e la cattiva esecuzione dei lavori, peraltro tempestivamente notificata. Nell'ipotesi dell'accoglimento delle pretese avanzate dall'attrice, la società locarnese ne ha chiesto la compensazione con il danno da lei subito a causa dell'esecuzione difettosa dei lavori sui cantieri di Ansbach e Karlsruhe. Infine, in sede di conclusioni ha aggiunto alla richiesta di reiezione dell'azione una domanda riconvenzionale tendente alla condanna della controparte al pagamento della somma eccedente l'importo compensato fino a concorrenza della propria pretesa risarcitoria e, in via ancora più subordinata, la condanna al versamento di fr. 990'777.60.
Una volta respinta, preliminarmente, l'eccezione d'incompetenza, con sentenza 13 agosto 2003 il Pretore ha accolto la petizione limitatamente a fr. 858'757.15, oltre interessi. In primo luogo il giudice ha dichiarato irricevibile la domanda riconvenzionale, siccome tardiva. Rilevato il carattere internazionale della vertenza, sulla scorta dell'<ref-law> egli ha poi stabilito l'applicabilità del diritto italiano alla fattispecie, non avendo le parti operato una scelta di diritto ai sensi dell'<ref-law>.
Il Pretore ha quindi esaminato singolarmente le nove fatture presentate dalla ditta italiana, giungendo alla conclusione ch'esse andavano soddisfatte per Lit. 1'073'446'442, pari a fr. 858'757.15. Infine - premesso che giusta l'art. 1667 CCIt gli asseriti difetti avrebbero dovuto venir notificati entro 60 giorni dalla scoperta e non, come in concreto, a più di un anno dalla fine dei lavori - ha respinto la pretesa compensatoria avanzata dalla convenuta, non essendovi alcuna prova in merito all'ammontare del danno.
Il Pretore ha quindi esaminato singolarmente le nove fatture presentate dalla ditta italiana, giungendo alla conclusione ch'esse andavano soddisfatte per Lit. 1'073'446'442, pari a fr. 858'757.15. Infine - premesso che giusta l'art. 1667 CCIt gli asseriti difetti avrebbero dovuto venir notificati entro 60 giorni dalla scoperta e non, come in concreto, a più di un anno dalla fine dei lavori - ha respinto la pretesa compensatoria avanzata dalla convenuta, non essendovi alcuna prova in merito all'ammontare del danno.
C. L'impugnativa interposta dalla soccombente è stata respinta il 18 ottobre 2004 dalla II Camera civile del Tribunale d'appello del Cantone Ticino, la quale ha integralmente confermato le conclusioni pretorili.
C. L'impugnativa interposta dalla soccombente è stata respinta il 18 ottobre 2004 dalla II Camera civile del Tribunale d'appello del Cantone Ticino, la quale ha integralmente confermato le conclusioni pretorili.
D. Contro questa sentenza X._ SA è tempestivamente insorta dinanzi al Tribunale federale sia con ricorso di diritto pubblico che con ricorso per riforma. Con il secondo rimedio postula la modifica della sentenza nel senso di accogliere l'appello e, di conseguenza, respingere la petizione.
Con risposta del 4 febbraio 2005 Y._ S.r.l. ha proposto la reiezione del gravame.

Diritto:
Diritto:
1. In data odierna il parallelo ricorso di diritto pubblico è stato respinto in quanto ammissibile, per cui nulla osta all'esame del ricorso per riforma.
1. In data odierna il parallelo ricorso di diritto pubblico è stato respinto in quanto ammissibile, per cui nulla osta all'esame del ricorso per riforma.
2. Il Tribunale federale si pronuncia d'ufficio e con pieno potere cognitivo sull'ammissibilità del ricorso per riforma (<ref-ruling> consid. 2).
2. Il Tribunale federale si pronuncia d'ufficio e con pieno potere cognitivo sull'ammissibilità del ricorso per riforma (<ref-ruling> consid. 2).
3. Nella prima parte del suo allegato la convenuta contesta la decisione della Corte cantonale quo al diritto applicabile e ribadisce, richiamandosi alla Convenzione sulla doppia imposizione Italia/Germania, che la controversia andrebbe giudicata sulla base del diritto tedesco.
3.1 Pur senza dichiararlo esplicitamente, la convenuta intende manifestamente poggiare il gravame sull'art. 43a cpv. 1 lett. a OG, giusta il quale con il ricorso per riforma si può far valere che la decisione impugnata non ha applicato il diritto straniero contrariamente a quanto prescritto dal diritto internazionale privato svizzero.
Sotto questo profilo il ricorso per riforma è pertanto ricevibile (cfr. anche <ref-ruling> consid. 2b).
3.2 Nella sentenza impugnata, la Corte ticinese - dopo aver osservato che la convenzione richiamata dalla convenuta disciplina aspetti di natura fiscale, non suscettibili di avere ipso facto influenza sull'incorporazione di una società - ha reputato rilevante il fatto che all'epoca della stipulazione del contratto l'attrice non avesse una stabile organizzazione a Karlsruhe bensì in Italia. Donde l'applicabilità del diritto italiano.
3.3 In virtù dell'<ref-law> qualora, come nel caso in rassegna, le parti non abbiano scelto il diritto applicabile, il contratto è regolato dal diritto dello Stato con il quale è più strettamente connesso. La stessa norma, al cpv. 2, stabilisce il principio secondo cui la connessione più stretta è quella con lo stato in cui la parte che deve eseguire la prestazione caratteristica ha la stabile organizzazione, la quale, trattandosi di una società, si trova nello stato dove essa ha la sede o una succursale (<ref-law>; <ref-ruling> consid. 2c) al momento, di principio, della conclusione del contratto (Bernard Dutoit, Droit international privé suisse, 4a ed., Basilea 2005, n. 49 ad <ref-law>; Keller/Kren Kostkiewicz in: Zürcher Kommentar zum IPRG, 2a ed., Zurigo 2004, n. 46 e n. 214-218 ad <ref-law>).
Sia le autorità cantonali che le parti concordano nell'affermare che, in concreto, la parte tenuta a fornire la cosiddetta "prestazione caratteristica" era l'attrice, il contratto rientrando nella categoria dei contratti di servizio. In applicazione dell'art. 117 cpv. 3 lett. c LDIP la Corte cantonale ha quindi concluso per l'applicabilità del diritto italiano. A ragione.
3.4 Come già in sede cantonale, anche dinanzi al Tribunale federale la convenuta concentra la sua critica sul luogo della stabile organizzazione di controparte. Essa sostiene infatti che, a prescindere dalla situazione esistente al momento della stipulazione dell'accordo, sarebbe stato accertato che la stabile organizzazione della controparte si trovava in Germania e non in Italia, posto come la Convenzione sulla doppia imposizione Italia/Germania preveda che, qualora una società lavori all'estero, dopo 183 giorni essa viene dichiarata stabile organizzazione nel paese dove esercita la sua attività.
3.4.1 L'argomentazione ricorsuale si avvera in gran parte inammissibile per carente motivazione. Il rimprovero mosso ai giudici ticinesi per aver ritenuto determinante il momento della stipulazione del contratto non è stato infatti minimamente sostanziato (cfr. art. 55 cpv. 1 lett. c OG; <ref-ruling> consid. 2a).
3.4.2 Va detto che, anche qualora fosse stata adeguatamente motivata, la censura avrebbe dovuto essere respinta in quanto (inammissibilmente) fondata su di un accertamento di fatto privo di riscontro nel giudizio impugnato (art. 55 cpv. 1 lett. c e art. 63 cpv. 2 OG; <ref-ruling> consid. 1.4 pag. 140 con rinvii).
Contrariamente a quanto asserito nel gravame, non è affatto vero che la Corte cantonale avrebbe accertato l'esistenza di una stabile organizzazione dell'attrice in Germania. Dalla lettura del giudizio impugnato emerge anzi che la Corte cantonale è giunta alla conclusione opposta, in applicazione dell'art. 5 della nota Convenzione, sulla quale la convenuta non spende una parola.
3.5 A sostegno dell'applicabilità del diritto tedesco la convenuta invoca, oltre al citato trattato, il fatto che il luogo di esecuzione dei lavori si trovava in Germania, che il compenso dovuto era stato pattuito in marchi tedeschi e che la corrispondenza intercorsa fra le parti era in tedesco. Essa sembra con questo voler sostenere che, indipendentemente dal luogo in cui l'attrice aveva la stabile organizzazione, il contratto era comunque in ogni caso più strettamente connesso con la Germania.
3.5.1 Giovi allora rammentare come nel 1952 il Tribunale federale abbia stabilito la necessità di applicare una legge unica alla formazione e agli effetti del contratto (DTF 78 II 74 consid. 5 pag. 80; sull'evoluzione della giurisprudenza in questo ambito cfr. Keller/Kren Kostkiewicz, op. cit., n. 1-14 ad art. 117 IPRG).
Fu dunque deciso che, in assenza di una designazione del diritto applicabile da parte dei contraenti, si sarebbe fatto capo alla legge del paese con il quale il contratto manifestava la connessione più stretta (Recht des engsten Zusammenhangs). Tale principio è poi stato codificato all'<ref-law>.
Ai fini della determinazione dello stato con il quale il rapporto contrattuale è più strettamente connesso, possono essere presi in considerazione vari elementi, quali, ad esempio, eventuali clausole compromissorie o di proroga di foro, il luogo dell'esecuzione del contratto, la sede della persona giuridica, la valuta indicata nell'accordo rispettivamente la lingua nella quale questo è stato redatto. Il giudizio non potrà tuttavia fondarsi solamente su uno di essi: occorre che il maggior numero possibile di criteri converga verso il medesimo risultato. Tale sistema ha il pregio di tenere conto delle peculiarità di ogni singolo caso (Keller/Kren Kostkiewicz, op. cit., n. 19-22 ad <ref-law>).
La necessità di garantire, ciononostante, una certa prevedibilità quo al diritto applicabile al contratto è stata salvaguardata mediante l'introduzione della presunzione secondo la quale la connessione più stretta è quella con lo "Stato in cui la parte che deve eseguire la prestazione caratteristica ha la dimora abituale o, se ha concluso il contratto in base a un'attività professionale o commerciale, in cui ha la stabile organizzazione" (<ref-law>; Bernard Dutoit, op. cit., n. 4 seg. ad <ref-law>). Per determinati tipi di contratto il legislatore ha inoltre indicato qual è "prestazione caratteristica" (<ref-law>).
L'<ref-law> si presenta dunque come una regola di base con una clausola d'eccezione (Keller/Kren Kostkiewicz, op. cit., n. 22-23 e 51 ad <ref-law>). Ciò significa che la normativa privilegia il criterio della prestazione caratteristica (Keller/Kren Kostkiewicz, op. cit., n. 52 ad <ref-law>). Una deroga alla presunzione generale si giustifica solo quando essa conduce a un risultato equivoco o privo di una spiegazione obiettiva; in tal caso occorre riferirsi all'<ref-law>, che stabilisce l'applicabilità del diritto dello stato con il quale il contratto è più strettamente connesso. In questo senso l'<ref-law> assume la medesima funzione - nell'ambito contrattuale - dell'<ref-law> e vale pertanto quale lex specialis rispetto a tale norma, più generale (Bernard Dutoit, op. cit., n. 4 ad <ref-law>; Keller/Kren Kostkiewicz, op. cit., n. 65 ad <ref-law>).
In altre parole, non è possibile derogare alla presunzione generale per il solo fatto che sembra esservi una relazione più intensa con uno stato diverso da quello in cui risiede la parte debitrice della prestazione caratteristica. È necessario che la conclusione cui si giunge sulla base della presunzione appaia insostenibile, ad esempio perché il contratto ha manifestamente una più stretta connessione con un altro stato oppure perché le parti non potevano prevedere un simile risultato (cfr. <ref-law> ed esempi in Keller/Kren Kostkiewicz, op.cit., n. 54 segg. ad art. 117 IPRG; cfr. anche sentenza inedita del 27 novembre 1998 nella causa 4C.274/1998 consid. 3).
3.5.2 Nel caso in esame non è possibile ammettere l'esistenza dei presupposti per una deroga al principio del collegamento allo stato in cui risiede la parte debitrice della prestazione caratteristica.
Gli unici elementi attestanti una connessione con la Germania sono il luogo di esecuzione e il fatto che gli importi fatturati fossero parzialmente - e non integralmente, come asserito nel ricorso - in marchi tedeschi. Poiché dalla sentenza impugnata non emerge alcunché in relazione alla lingua della corrispondenza fra le parti, non è possibile tenere conto delle dichiarazioni della convenuta al riguardo (art. 55 cpv. 1 lett. c e art. 63 cpv. 2 OG; <ref-ruling> consid. 1.4 pag. 140 con rinvii).
3.6 Alla luce di tutto quanto esposto, la decisione di sottoporre la controversia al diritto materiale italiano e non a quello tedesco è il risultato di una corretta applicazione del diritto federale, segnatamente delle norme di collisione del diritto internazionale privato. Su questo punto il ricorso per riforma va pertanto respinto.
3.6 Alla luce di tutto quanto esposto, la decisione di sottoporre la controversia al diritto materiale italiano e non a quello tedesco è il risultato di una corretta applicazione del diritto federale, segnatamente delle norme di collisione del diritto internazionale privato. Su questo punto il ricorso per riforma va pertanto respinto.
4. Per il resto, in quanto rivolto contro il giudizio della Corte cantonale sulle singole fatture presentate dall'attrice, il gravame risulta inammissibile. D'un lato la convenuta censura infatti, inammissibilmente, l'accertamento dei fatti e l'apprezzamento delle prove contenuti nel giudizio impugnato, dimenticando che, a prescindere da eccezioni che in concreto non vengono comunque nemmeno allegate, questi vincolano il Tribunale federale nella giurisdizione per riforma (art. 55 cpv. 1 lett. c OG; <ref-ruling> consid. 1.4 pag. 140), e dall'altro adduce, altrettanto inammissibilmente, trattandosi di normative inapplicabili alla fattispecie (cfr. quanto esposto al considerando precedente), la violazione del diritto germanico e di quello svizzero.
4. Per il resto, in quanto rivolto contro il giudizio della Corte cantonale sulle singole fatture presentate dall'attrice, il gravame risulta inammissibile. D'un lato la convenuta censura infatti, inammissibilmente, l'accertamento dei fatti e l'apprezzamento delle prove contenuti nel giudizio impugnato, dimenticando che, a prescindere da eccezioni che in concreto non vengono comunque nemmeno allegate, questi vincolano il Tribunale federale nella giurisdizione per riforma (art. 55 cpv. 1 lett. c OG; <ref-ruling> consid. 1.4 pag. 140), e dall'altro adduce, altrettanto inammissibilmente, trattandosi di normative inapplicabili alla fattispecie (cfr. quanto esposto al considerando precedente), la violazione del diritto germanico e di quello svizzero.
5. In conclusione, il ricorso per riforma dev'essere respinto nella misura in cui 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 per riforma è respinto.
1. Nella misura in cui è ammissibile, il ricorso per riforma è respinto.
2. La tassa di giustizia di fr. 10'000.-- è posta a carico della convenuta, la quale rifonderà all'attrice fr. 12'000.-- per ripetibili della sede federale.
2. La tassa di giustizia di fr. 10'000.-- è posta a carico della convenuta, la quale rifonderà all'attrice fr. 12'000.-- per ripetibili della sede federale.
3. Comunicazione ai patrocinatori delle parti e alla II Camera civile del Tribunale d'appello del Cantone Ticino.