Faits:
Faits:
A. A._ SA, dont le siège se trouve à Genève, est spécialisée dans l'inspection et l'étude technique sur toutes matières. En automne 1995, B._SA, société de droit français, a acquis diverses sortes de café et confié à A._ SA la tâche de contrôler la qualité de celui-ci et de surveiller les opérations de chargement en Nouvelle Orléans et de déchargement en Algérie. Comme un lot de café en provenance du Vénézuéla était infesté d'insectes, les autorités algériennes ont refusé que le café soit débarqué. La marchandise a alors été acheminée à Trieste pour y être vendue à un nouvel acquéreur. B._SA a ouvert action contre A._ SA, estimant que celle-ci a établi, à l'embarquement du café, des attestations de qualité erronées.
A. A._ SA, dont le siège se trouve à Genève, est spécialisée dans l'inspection et l'étude technique sur toutes matières. En automne 1995, B._SA, société de droit français, a acquis diverses sortes de café et confié à A._ SA la tâche de contrôler la qualité de celui-ci et de surveiller les opérations de chargement en Nouvelle Orléans et de déchargement en Algérie. Comme un lot de café en provenance du Vénézuéla était infesté d'insectes, les autorités algériennes ont refusé que le café soit débarqué. La marchandise a alors été acheminée à Trieste pour y être vendue à un nouvel acquéreur. B._SA a ouvert action contre A._ SA, estimant que celle-ci a établi, à l'embarquement du café, des attestations de qualité erronées.
B. Le 31 octobre 2002, le Tribunal de première instance du canton de Genève a condamné A._ SA à verser à B._SA 3'824'350 US$ 20, 942'619 fr. et 97'782 GBP avec intérêts à 5% dès le 16 janvier 1997, correspondant au dommage subi, et prononcé, à concurrence de ces montants, la mainlevée définitive de l'opposition formée au commandement de payer n° 000. Sur demande reconventionnelle, le Tribunal a condamné B._SA à payer à A._ SA les sommes de 368'085 fr. 15 plus intérêts à 5% dès le 28 septembre 1995 et de 1'867 fr. 40 avec intérêts à 5% dès le 26 avril 1995.
Statuant le 13 février 2004 sur appel principal et incident, la Cour de justice a annulé le jugement de première instance sur demande reconventionnelle et augmenté les montants dus par B._SA à 377'240 fr. 90 et 6'076 fr. 60. Elle a confirmé le jugement pour le surplus.
Statuant le 13 février 2004 sur appel principal et incident, la Cour de justice a annulé le jugement de première instance sur demande reconventionnelle et augmenté les montants dus par B._SA à 377'240 fr. 90 et 6'076 fr. 60. Elle a confirmé le jugement pour le surplus.
C. A._ SA exerce un recours en réforme contre cet arrêt dont elle demande l'annulation en tant qu'il confirme le jugement du Tribunal de première instance sur demande principale. B._SA conclut au rejet du recours. Par ordonnance du 1er juin 2004, le Président de la Cour de céans a rejeté la requête de A._ SA tendant à la suspension de la procédure à la suite de la liquidation judiciaire de B._SA prononcée le 1er juillet 2003. La Cour de céans a par ailleurs rejeté, par arrêt de ce jour, dans la mesure où il est recevable, le recours de droit public formé parallèlement par A._ SA.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Le Tribunal fédéral examine d'office et librement la recevabilité des recours qui lui sont soumis (<ref-ruling> consid. 1 p. 227; <ref-ruling> consid. 1 p. 58).
1.1 La défenderesse se borne à solliciter l'annulation de l'arrêt entrepris en tant qu'il confirme le jugement de première instance sur demande principale. Or, le recours en réforme n'est pas un recours cassatoire. Le recourant n'est autorisé à conclure à l'annulation de la décision attaquée que si le Tribunal fédéral, en cas d'admission du recours, ne serait pas en mesure de statuer lui-même sur le fond (cf. à cet égard <ref-ruling> consid. 1.2 p. 139; <ref-ruling> consid. 1b p. 414 et les arrêts cités). La question de savoir si tel serait le cas en l'espèce peut demeurer indécise, dès lors que le recours est de toute manière irrecevable.
1.2 Saisi d'un recours en réforme, le Tribunal fédéral doit conduire son raisonnement juridique sur la base des faits contenus dans la décision attaquée, à moins que des dispositions fédérales en matière de preuve n'aient été violées, qu'il n'y ait lieu à rectification de constatations reposant sur une inadvertance manifeste (art. 63 al. 2 OJ) ou qu'il ne faille compléter les constatations de l'autorité cantonale parce que celle-ci n'a pas tenu compte de faits pertinents, régulièrement allégués (art. 64 OJ). Dans la mesure où un recourant présente un état de fait qui s'écarte de celui contenu dans la décision attaquée sans se prévaloir avec précision de l'une des exceptions qui viennent d'être rappelées, il n'est pas possible d'en tenir compte. Il ne peut être présenté de griefs contre les constatations de fait, ni de faits ou de moyens de preuve nouveaux (art. 55 al. 1 let. c OJ; <ref-ruling> consid. 2c p. 252 et les références citées).
1.2 Saisi d'un recours en réforme, le Tribunal fédéral doit conduire son raisonnement juridique sur la base des faits contenus dans la décision attaquée, à moins que des dispositions fédérales en matière de preuve n'aient été violées, qu'il n'y ait lieu à rectification de constatations reposant sur une inadvertance manifeste (art. 63 al. 2 OJ) ou qu'il ne faille compléter les constatations de l'autorité cantonale parce que celle-ci n'a pas tenu compte de faits pertinents, régulièrement allégués (art. 64 OJ). Dans la mesure où un recourant présente un état de fait qui s'écarte de celui contenu dans la décision attaquée sans se prévaloir avec précision de l'une des exceptions qui viennent d'être rappelées, il n'est pas possible d'en tenir compte. Il ne peut être présenté de griefs contre les constatations de fait, ni de faits ou de moyens de preuve nouveaux (art. 55 al. 1 let. c OJ; <ref-ruling> consid. 2c p. 252 et les références citées).
2. La défenderesse se plaint d'une violation des art. 398 al. 3 et 399 al. 2 CO. Il serait "manifeste et évidemment connu de tout un chacun pratiquant de longue date le commerce international" que les sociétés de surveillance disposent de la faculté de se substituer un tiers. La constatation de l'existence de cet usage relèverait de l'expérience générale de la vie, question qui pourrait être revue dans la procédure du recours en réforme. La demanderesse ne se serait d'ailleurs jamais opposée dans le passé à une substitution. La défenderesse soutient en outre que l'on ne saurait lui reprocher d'avoir manqué à ses obligations dans le choix et l'instruction donnée au sous-traitant.
2.1 En tant que la défenderesse allègue que la demanderesse aurait dans le passé toujours accepté qu'elle n'exécute pas personnellement les mandats de surveillance confiés, elle introduit un fait, qui ne ressort pas de l'arrêt querellé, sans se prévaloir d'une des exceptions l'y au-torisant. Il n'est donc pas possible d'en tenir compte (cf. consid. 1.2).
2.2 L'existence d'un usage relève de la constatation des faits (<ref-ruling> consid. 1a p. 27 et les références). L'arrêt entrepris ne contient aucune constatation sur la question de savoir s'il est d'usage que des sociétés de surveillance recourent dans l'exercice de leurs mandats au service de tiers. Dès lors que la défenderesse fonde son grief sur un fait, qui ne ressort pas de l'arrêt cantonal, sans invoquer une des exceptions prévues aux art. 63 al. 2 et 64 OJ, il est irrecevable (consid. 1.2). La Cour de céans peut au demeurant certes revoir les constatations de fait reposant sur l'expérience générale de la vie (<ref-ruling> consid. 5d p. 456; <ref-ruling> consid. 5b p. 448); encore faut-il cependant que de telles constatations aient été faites, ce qui n'est pas le cas en l'espèce.
Enfin, même si la pratique décrite par la défenderesse existait, le grief relatif à la violation de l'<ref-law> serait irrecevable dès lors qu'il se fonde derechef sur des faits, qui n'ont pas été constatés par l'autorité cantonale. Celle-ci n'a en effet retenu ni que la substitution aurait eu lieu dans l'intérêt de la demanderesse (cf. à ce sujet <ref-ruling> consid. 2b p. 354; arrêt 4C.24/1993 du 14 décembre 1993, consid. 2b/cc, publié in SJ 1994 p. 284) ni que le sous-traitant aurait été choisi et instruit avec soin. Au contraire, il ressort de l'arrêt querellé que l'entreprise choisie n'avait pas d'expérience dans la vérification du café et que les inexactitudes dans les résultats d'analyse proviennent d'une erreur commise dans la manière de sélectionner l'échantillonnage.
Enfin, même si la pratique décrite par la défenderesse existait, le grief relatif à la violation de l'<ref-law> serait irrecevable dès lors qu'il se fonde derechef sur des faits, qui n'ont pas été constatés par l'autorité cantonale. Celle-ci n'a en effet retenu ni que la substitution aurait eu lieu dans l'intérêt de la demanderesse (cf. à ce sujet <ref-ruling> consid. 2b p. 354; arrêt 4C.24/1993 du 14 décembre 1993, consid. 2b/cc, publié in SJ 1994 p. 284) ni que le sous-traitant aurait été choisi et instruit avec soin. Au contraire, il ressort de l'arrêt querellé que l'entreprise choisie n'avait pas d'expérience dans la vérification du café et que les inexactitudes dans les résultats d'analyse proviennent d'une erreur commise dans la manière de sélectionner l'échantillonnage.
3. Subsidiairement, la défenderesse fait valoir que, compte tenu de la modeste rémunération perçue pour ses services en relation avec la cargaison litigieuse, il conviendrait d'appliquer la jurisprudence relative au "bescheidenes Entgelt" et de réduire le montant du dommage à sa charge. En omettant de se pencher sur cette question, la Cour de justice aurait violé les art. 43 et 99 al. 2 CO.
3.1 La Cour de justice a retenu qu'il n'y avait pas lieu de limiter la responsabilité de la défenderesse à cinq fois le montant des honoraires qu'elle a facturés, comme le prévoient les conditions IFIA (International Federation of Inspection Agencies), dès lors que celles-ci ne seraient pas applicables en l'espèce. L'arrêt entrepris ne se prononce en revanche pas sur la question de savoir si la responsabilité de la défenderesse devrait être réduite en application de l'<ref-law>.
3.2 Tel qu'il est formulé, le grief de la défenderesse revient à se plaindre de la violation de son droit d'être entendue, qui oblige le juge, à certaines conditions, à se prononcer sur les moyens articulés devant lui (cf. à ce sujet <ref-ruling> consid. 2b p. 102; <ref-ruling> consid. 2b p. 109). Le recours en réforme n'est toutefois pas ouvert pour se plaindre de la violation directe de droits de rang constitutionnel (art. 43 al. 1 OJ), de sorte que le grief est irrecevable. La défenderesse ne fait au demeurant pas valoir que l'autorité cantonale aurait commis une inadvertance manifeste (art. 55 al. 1 let. d OJ) en omettant de répondre à un moyen qu'elle aurait soulevé. Elle ne démontre en effet pas avec la précision requise (cf. <ref-ruling> consid. 4 p. 497) avoir soumis cet argument à l'autorité cantonale.
3.2 Tel qu'il est formulé, le grief de la défenderesse revient à se plaindre de la violation de son droit d'être entendue, qui oblige le juge, à certaines conditions, à se prononcer sur les moyens articulés devant lui (cf. à ce sujet <ref-ruling> consid. 2b p. 102; <ref-ruling> consid. 2b p. 109). Le recours en réforme n'est toutefois pas ouvert pour se plaindre de la violation directe de droits de rang constitutionnel (art. 43 al. 1 OJ), de sorte que le grief est irrecevable. La défenderesse ne fait au demeurant pas valoir que l'autorité cantonale aurait commis une inadvertance manifeste (art. 55 al. 1 let. d OJ) en omettant de répondre à un moyen qu'elle aurait soulevé. Elle ne démontre en effet pas avec la précision requise (cf. <ref-ruling> consid. 4 p. 497) avoir soumis cet argument à l'autorité cantonale.
4. Au vu de ce qui précède, le recours est entièrement irrecevable. Partant, la défenderesse en supportera les frais (art. 156 al. 1 OJ) et versera une indemnité à la demanderesse (art. 159 al. 1 OJ). Le présent arrêt rend en outre la requête d'effet suspensif sans objet.

Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est irrecevable.
1. Le recours est irrecevable.
2. Un émolument judiciaire de 22'000 fr. est mis à la charge de la défenderesse.
2. Un émolument judiciaire de 22'000 fr. est mis à la charge de la défenderesse.
3. La défenderesse versera à la demanderesse une indemnité de 24'000 fr. à titre de dépens.
3. La défenderesse versera à la demanderesse une indemnité de 24'000 fr. à titre de dépens.
4. Le présent arrêt est communiqué en copie aux mandataires des parties et à la Chambre civile de la Cour de justice du canton de Genève.
Lausanne, le 26 août 2004
Au nom de la Ire Cour civile
du Tribunal fédéral suisse
La Juge présidant: La greffière: