En fait

La recourante (demanderesse, entrepreneuse) est une entreprise de plâtrerie et peinture ([A. AG] ). L'intimée (défenderesse, demanderesse reconventionnelle, maître d'ouvrage resp. entreprise générale) exploite une entreprise de construction ([B. AG] ).

Le 3 décembre 2014, les parties ont conclu un contrat d'entreprise portant sur des travaux de plâtrerie sur un grand complexe immobilier, pour un prix forfaitaire brut de Fr. 1'272'964.96, déduction faite d'un rabais de 10 % et d'un escompte de 2 %, plus TVA. Un devis descriptif a été intégré au contrat et les parties ont notamment convenu de règles relatives aux travaux en régie (uniquement avec l'autorisation écrite préalable de la direction des travaux, présentation quotidienne des rapports ; perte du droit à rémunération en cas de violation, cas d'urgence réservés).

La demanderesse a réclamé devant le Tribunal de commerce du canton de Zurich Fr. 998'580.99 avec intérêts à 5 % dès le 18 janvier 2016. La défenderesse a conclu au rejet de la demande et a formé une demande reconventionnelle (Fr. 48'667.75, subsidiairement Fr. 158'667.70, avec intérêts), ainsi qu'une requête en remise de divers documents (rapports de régie, rapports journaliers, correspondance, décomptes, procès-verbaux).

Le Tribunal de commerce a partiellement admis la demande et condamné la défenderesse au paiement de Fr. 262'815.70 avec intérêts à 5 % dès le 23 avril 2018 (notification de la demande). Il a rejeté la demande reconventionnelle. Les frais judiciaires se sont élevés à Fr. 68'000.--, mis à la charge de la demanderesse à hauteur de 55 % et de la défenderesse à hauteur de 45 % ; la demanderesse devait verser à la défenderesse une indemnité de dépens réduite de Fr. 4'800.--.

La demanderesse a formé un recours en matière civile auprès du Tribunal fédéral, concluant à l'annulation des chiffres 1, 4 et 5 du dispositif, au paiement de Fr. 998'580.99 avec intérêts dès le 18 janvier 2016 et, subsidiairement, au renvoi de la cause pour administration de preuves. L'intimée a conclu au rejet du recours ; le Tribunal de commerce a renoncé à se déterminer.

Points litigieux : (1) quantités supplémentaires ; (2) suppléments nos 1 à 5 (prix unitaires, caractère de supplément, offres de preuves) ; (3) travaux en régie (rapports nos 28 à 50 et 58 à 92) ; (4) point de départ de l'intérêt moratoire.

En droit

Recevabilité : il s'agit d'une décision finale (art. 90 LTF). Pour les recours contre les décisions des tribunaux de commerce cantonaux, aucune valeur litigieuse minimale n'est requise (art. 74 al. 2 let. b LTF). Le Tribunal fédéral examine uniquement les violations du droit (art. 95, 96 LTF), est lié par les faits établis (art. 105 al. 1 LTF), et le grief relatif aux faits est soumis au principe strict de l'allégation (art. 106 al. 2 LTF) ; l'arbitraire n'est admis que si la décision est manifestement insoutenable. La critique purement appellatoire ne suffit pas.

Quantités supplémentaires : les parties ont convenu d'un contrat à prix global, respectivement forfaitaire (art. 373 s. CO, art. 41 s. norme SIA 118). L'existence d'un devis descriptif ne fait pas du contrat un contrat à prix unitaires. Celui qui se prévaut d'un prix forfaitaire supporte le risque de quantité, et les écarts de quantités par rapport au descriptif ne donnent pas droit à une rémunération supplémentaire. La demanderesse n'a pas allégué de modifications de commande (ch. 3.3.1 conditions spécifiques à l'objet, art. 86 norme SIA 118 non applicable). Une prétention selon l'art. 59 norme SIA 118 ou selon la clausula rebus sic stantibus (art. 373 al. 2 CO) échoue faute d'imprévisibilité (entrepreneur averti, critère sévère ; élément aléatoire inhérent à tout prix forfaitaire), faute de disproportion manifeste et flagrante entre la prestation et la rémunération (appréciation globale ; deux postes seulement sur six ont dépassé 100 %) et faute de motivation suffisante de la requête d'expertise. La question de savoir si l'avis selon l'art. 59 al. 3 combiné à l'art. 25 norme SIA 118 était tempestif n'a pas dû être tranchée.

Suppléments : le supplément no 1 a été payé et n'a pas été contesté. S'agissant du supplément no 2 (ragréage blanc dans 342 locaux humides, 3'985.59 m²), la demanderesse supporte le fardeau de l'allégation et de la preuve pour un prix supérieur au prix unitaire admis de Fr. 11.50/m². La demanderesse n'a pas suffisamment motivé le prix réclamé de Fr. 27.50/m² ; l'offre de supplément avait été refusée, et une expertise ne saurait servir à compléter un allégué de fait lacunaire. Dans les contrats à prix forfaitaire, il faut en principe se fonder sur les prix usuels du marché et non sur une simple actualisation des prix ; les devis descriptifs et les analyses de prix peuvent toutefois être pris en compte (ATF 143 III 545 consid. 4.4.4.2). Les mêmes travaux ne peuvent pas être rémunérés deux fois, à la fois comme supplément et comme travaux en régie. Supplément no 3 (joues d'escalier) : le poste 1 n'était pas suffisamment étayé ; le poste 2 (commande supplémentaire) restait général et la commande n'était pas établie ; le poste 3 (arrondis) n'avait pas le caractère d'un supplément, les raccords arrondis figurant déjà sur le plan d'exécution avant la conclusion du contrat. Supplément no 4 (ragréage blanc) : l'allégation générale de la commande n'était pas concluante ; l'hypothèse d'une exécution uniforme au sein d'un même complexe n'est pas dénuée de pertinence. L'autorité précédente a argumenté de manière contradictoire sur un point (métrés et prix unitaires fixés par elle-même), mais cela n'était pas déterminant pour l'issue, car il s'agissait de motifs subsidiaires. Le supplément no 5 n'a pas été contesté.

Travaux en régie : la demanderesse a allégué l'ordre donné par le conducteur de travaux et le chef de projet de l'intimée, sans indiquer de dates, moments ou personnes précis pour l'ordre de chaque travail, et sans distinguer entre les travaux urgents et ceux…