A. B.________ SA (anciennement b.________ AG) a pour buts le commerce de marchandises, en particulier de plastique, ainsi que la recherche scientifique, économique et industrielle liée à son activité commerciale. A.________ SA a pour but l’exploitation d’un service de voirie et toute activité se rapportant à l’enlèvement et l’élimination des déchets. Les deux sociétés ont eu des relations contractuelles après que, en août 2015, le directeur de B., C., a pris contact avec l’administrateur de A., D., pour lui proposer une collaboration (les deux prénommés se connaissaient depuis l’enfance).
B. Sur réquisition de B., un commandement de payer dans la poursuite no [111] de l’Office des poursuites de Neuchâtel d’un montant de 104'292 francs, plus intérêts à 5 % dès le 1er juin 2017, a été notifié le 4 décembre 2017 à A.. Cette dernière y a fait opposition totale.
C. a) Après avoir obtenu l’autorisation de procéder le 28 janvier 2019, B.________ a saisi le Tribunal civil, le 25 avril 2019, d’une demande tendant à ce que A.________ soit condamnée à lui payer 107'586.65 francs, plus intérêts à 5 % l’an dès le 1er juin 2017, ainsi qu’à la levée définitive de l’opposition de A.________ au commandement de payer dans la poursuite no [111] à concurrence de 104'292 francs, avec intérêts à 5 % l’an dès le 1er juin 2017, plus les frais du commandement de payer, d’encaissement et tous autres frais et accessoires légaux. B.________ fondait ses prétentions sur six factures qu’elle avait adressées à A.________ entre le 31 janvier et le 14 décembre 2017, et qui étaient demeurées impayées.
b) Par réponse et demande reconventionnelle du 23 août 2019, A.________ a conclu, tout en admettant n’avoir payé aucune des six factures citées plus haut, au rejet de la demande et à ce que B.________ soit condamnée, d’une part, à lui payer 223'082.66 francs, avec intérêts à 5 % l’an dès le 14 novembre 2017 et, d’autre part, à venir rechercher son système de pesée embarquée dans le délai de dix jours dès le prononcé du jugement, à défaut, qu’elle-même soit autorisée à faire détruire ce système aux frais de B.________.
À l’appui de ses conclusions reconventionnelles en argent, A.________ exposait, en résumé :
qu’elle avait dû urgemment remettre en état un ancien camion (NE [222]) promis à la casse afin d’assurer ses tournées de récolte lorsqu’un autre camion (le camion no 3) était inutilisable en raison des défauts du système de B.________ (préjudice : 40'244.16 francs) ;
que l’inutilisation du camion no 3, liée à l’inaccessibilité au système informatique de B.________ dès le 14 novembre 2017, avait généré un préjudice de 30'000 francs ;
qu’une perte définitive de données en date du 28 février 2017 lui avait causé un préjudice de 3'000 francs ;
que B.________ était responsable de la perte de valeur du camion no 3 durant une année, ainsi que de frais administratifs et d’entreposage, pour un total de 93'792 francs ;
que B.________ devait lui rembourser les coûts totalisant 12'936 francs qu’elle-même avait dû investir pour les transformations de neuf conteneurs E.________ ;
que B.________ lui devait 2'200 francs en lien avec des coûts de communication et de liaisons de puces, 2'700 francs en lien avec des coûts de déplacement inutiles, 2'200 francs en lien avec des coûts Swisscom et 36'010.50 francs en lien avec des prestations de camion-laveur.
c) B.________ a répliqué et confirmé ses conclusions, le 30 octobre 2019.
d) A.________ a dupliqué le 7 février 2020, concluant dorénavant, en sus des conclusions prises précédemment, à ce que la demande soit déclarée irrecevable (et donc subsidiairement rejetée) et que B.________ soit condamnée à venir rechercher dans les dix jours dès le prononcé du jugement ses conteneurs « F.________ » ou qu’elle-même soit autorisée à disposer de ces conteneurs à sa guise.
e) B.________ s’est déterminée par écrit du 16 avril 2020.
f) Les parties ont débattu des offres de preuves lors d’une première audience, du 2 juin 2020. Le juge civil a rendu son ordonnance de preuves le 21 décembre 2021. Une deuxième audience a eu lieu le 8 mars 2022, consacrée à l’audition de quatre témoins. A.________ s’est déterminée sur les preuves réservées, par écrit du 24 mars 2022, et le juge civil a statué sur les preuves complémentaires le 22 décembre 2023. Une troisième audience a eu lieu le 24 avril 2024, consacrée à l’interrogatoire des parties, puis le juge civil a prononcé la clôture de l’instruction et imparti un délai aux parties pour déposer leurs plaidoiries écrites.
g) Les parties ont déposé leurs plaidoiries écrites les 20 (A.) et 23 septembre 2024 (B.).
D. Par jugement du 7 mai 2025, le Tribunal civil a condamné A.________ à payer à B.________ 74'052.65 francs, plus intérêts à 5 % l’an dès le 1er juin 2017 ; rejeté la demande reconventionnelle de A., ainsi que toute autre ou plus ample conclusion, dans la mesure où elle serait recevable, arrêté les frais judiciaires à 10'807.10 francs et mis ceux-ci à la charge de B. par 1'080.70 francs et à celle de A.________ par 9'726.40 francs, mis les frais de conciliation (1'900 francs) à la charge de B.________ par 190 francs et à celle de A.________ par 1'710 francs et condamné A.________ à payer à B.________ une indemnité de dépens de 28'800 francs, après compensation.
En rapport avec les prétentions de B., le Tribunal civil a considéré que A. devait payer trois des six factures invoquées par B., mais rejeté les prétentions de B. fondées sur les trois autres factures. Il a par ailleurs refusé de prononcer la mainlevée définitive partielle de l’opposition de A.________ au commandement de payer dans la poursuite no [111], considérant qu’il ne disposait pas des informations relatives à la cause de l’obligation figurant dans ledit commandement de payer. Quant aux prétentions de A.________, le Tribunal civil les a toutes rejetées.
E. a) A.________ forme appel contre ce jugement le 4 juin 2025, en concluant à son annulation ; au rejet de la demande de B.________ ; à ce que B.________ soit condamnée à lui verser 33'582.30 francs, avec intérêts à 5 % l’an respectivement dès le 30 juin 2017 sur 1'456.70 francs , dès le 31 juillet 2017 sur 11'655.60 francs et dès le 30 octobre 2017 sur 20'570 francs ; à la condamnation de B.________ à payer l’intégralité des frais judiciaires de 1re et 2e instances, ainsi qu’une équitable indemnité de dépens pour ces deux mêmes instances. Ses griefs seront exposés plus loin.
b) L’intimée conclut au rejet de l’appel et à la confirmation du jugement querellé, sous suite de frais judiciaires et dépens.
c) L’appelante a renoncé à exercer son droit inconditionnel de réplique et déposé son mémoire d’honoraires.
d) L’intimée a renoncé à se déterminer sur le mémoire d’honoraires de l’adverse partie.
C O N S I D É R A N T
Le jugement querellé est une décision finale rendue dans une affaire patrimoniale dont la valeur litigieuse dépasse 10'000 francs, susceptible d’appel selon l’article 308 CPC. Il a été notifié à A.________ le 9 mai 2025, de sorte que le délai pour interjeter appel arrivait à échéance le lundi 9 juin 2025 (art. 311 al. 1, 142 et 143 CPC). L’appel est recevable à ces égards.
L’appelante reproche au Tribunal civil de l’avoir condamnée à acquitter trois des factures déposées par B.________ en se fondant sur un état de fait erroné et/ou incomplet et en n’appliquant pas les bons principes juridiques (v. infra I à III). Elle conclut en outre à la condamnation de B.________ à lui verser certains montants en lien avec le rejet des prétentions de B.________ (v. infra IV) et d’autres en lien avec des prestations de sous-traitance de nettoyage de conteneurs effectuées par elle-même et non‑payées par B.________ (v. infra V).
à titre liminaire, on relève que le mémoire d’appel de 40 pages repose sur de très nombreux faits allégués sans renvoi à un moyen de preuve, ni mention de l’écriture de première instance dans laquelle le fait a été allégué. Cette manière de faire ne permet pas à l’adverse partie de se défendre de manière effective. En effet, dans le délai légal de réponse de 30 jours, il est impossible pour un mandataire professionnel, qui assume en parallèle de nombreux autres mandats, de déterminer, pour chacun de ces nombreux faits, quel moyen de preuve permet de le ternir pour établi, d’une part, et, d’autre part, qu’il a bien été allégué en première instance, ce qui constitue une condition à sa prise en compte en appel (v. art. 317 al. 1 CPC). Pour respecter les exigences minimales de motivation ancrées à l’article 311 al. 1 CPC, l’appelant qui entend faire la démonstration que le premier juge a tenu à tort des faits pour établis ou n’a pas tenu compte de faits pertinents établis ne peut donc pas se contenter de substituer sa propre version des faits à celle retenue par le premier juge. Pour tenter de démontrer que sa thèse l'emporte sur celle de la décision attaquée, il doit au contraire reprendre la démarche du premier juge en mettant le doigt sur les failles de son raisonnement (arrêt du TF du 09.07.2020 [5A_356/2020] cons. 3.2), ce qui implique, d’une part, qu’il démontre que le fait sur lequel il appuie sa thèse a été allégué en première instance (et indique donc aussi précisément où) et, d’autre part, qu’il explique pour quelles raisons le fait en question doit être tenu pour établi, en se référant aux moyens de preuves. Les faits à l’appui de l’appel ne seront pris en compte que dans la mesure où ils sont exposés conformément à ces exigences.
I. Facture de l’intimée no [333] du 31 janvier 2017
4.1. a) Dans sa demande du 25 avril 2019, B.________ a notamment allégué que A.________ lui avait commandé un système électronique de pesage et d’identification de conteneurs de déchets destiné à être installé sur les camions de A.________ ; que ce système était opérationnel à l’étranger, mais n’avait encore jamais été installé en Suisse ; qu’une telle installation nécessitait des adaptations ; que les parties étaient convenues de collaborer à ce projet en réalisant une installation pilote et d’assumer chacune une partie des risques de cette entreprise ; qu’elles étaient aussi convenues que B.________ verserait à A.________ 4'000 francs pour chaque entreprise de voirie qui acquerrait un système analogue jusqu’à fin 2018 ; que ce système avait été installé sur un véhicule de A.________, puis avait fait l’objet de la facture no [333].
b) Dans sa réponse du 23 août 2019, A.________ a notamment allégué que l’esprit et le but de la collaboration entre les parties était que A., qui connaissait le marché suisse, fournisse à B. « ses conseils, idées et avis pour des produits que celle‑ci allait proposer en Suisse » ; que B.________ « développait alors les produits qu’elle voulait, en se fondant – ou pas – sur les recommandations de [A.] » et qu’elle « lui faisait tester en réel [ces produits], en vue de leur approbation ou de leur développement » ; que ce n’était que si les produits s’avéraient « pleinement opérationnels » qu’il était convenu que B. les facture à A., « à moindres coûts compte tenu des services et conseils fournis par [A.] » ; qu’il était aussi convenu que A.________ avait droit à des commissions si, en tant qu’entreprise de démonstration, elle « réussissait à ce qu’un tiers achète des produits [B.] » ; que le système de pesage embarqué de conteneurs avec système d’identification et de géolocalisation proposé par B. présentait pour A.________ l’intérêt de pouvoir obtenir une rationalisation des coûts et du temps, ainsi qu’une simplification du système de pesée et de facturation des déchets ; que « les parts de risques devaient être égales », chacune des parties devant assumer « l’éventuel échec, en ce qui la concerne, de ce projet de collaboration » ; que c’était pour cela que A.________ n’avait pas actionné B.________ pour les dommages que cette dernière lui avait causés, mais qu’elle se voyait désormais « contrainte de les réclamer reconventionnellement compte tenu de l’attitude de [B.] ». Concrètement, B. assumait « son système, son adaptation et la mise en place de celui‑ci chez [A.________] s’il ne fonctionnait pas » et cette dernière assumait « les coûts et le temps qu’elle avait investis pour son camion et son personnel en vue de la mise en place du système ».
c) À l’appui de sa décision condamnant A.________ à payer à B.________ le montant réclamé dans la facture no [333], le Tribunal civil a retenu, en fait, que A.________ admettait avoir reçu deux offres de B.________ datées respectivement du 6 et du 28 juillet 2016, portant expressément sur le système de pesée embarquée et d’identification de conteneurs ; que le 17 août 2016, A.________ avait écrit à B., concernant le système de pesée embarquée : « bien que ce projet soit extrêmement important pour ma société, je te prie de me laisser encore quelques jours de réflexion car c’est un problème complexe dont le bon ou mauvais choix aura des implications sur les 2 décennies à venir » ; que B. avait ensuite adressé à A.________ une confirmation de commande datée du 25 octobre 2016, portant sur un « système de pesée embarquée et d’identification de conteneurs » incluant un système d’identification, une antenne supplémentaire et l’installation sur le camion (prédisposé selon les spécifications de la demanderesse), un boîtier Ripeur, un système de pesée embarquée et son installation sur le camion (prédisposé selon les spécifications de la demanderesse), un système de g.localisation (Optimanager), le transfert des données sur FTP (coûts récurrents pour la durée du contrat – 3 ans), les coûts d’intégration et de maintenance des camions de la défenderesse avec la demanderesse selon l’offre de G.________ AG, le software [a] pour l’échange de données entre la demanderesse et H., les coûts d’homologation par les autorités suisses et cantonales, les prestations de I. et la participation de la demanderesse à hauteur de 4'000 francs.
Dès lors que A.________ alléguait qu’elle n’avait jamais commandé ou accepté de prendre à sa charge les quatre derniers éléments ressortant de ladite confirmation (coûts d’intégration et de maintenance du camion selon l’offre de G.________ AG, coûts pour le software [a] pour l’échange de données entre la demanderesse et H., coûts d’homologation par les autorités suisse et cantonale et prestations de I.), elle admettait avoir bien commandé et accepté de prendre à sa charge les autres éléments détaillés dans la confirmation de commande datée du 25 octobre 2016.
L’envoi par B.________ à A.________ de plusieurs offres sur un même objet, puis d’une confirmation de commande concernant ce même objet, confirmation qui n’avait pas été contestée par A., constituait un indice clair sur la réelle et commune intention des parties, à savoir que A. souhaitait commander à B.________ un système de pesée embarquée et d’identification de conteneurs. Certes, les parties admettaient que le système de pesée, d’identification et de géolocalisation était une première en Suisse, qu’il nécessitait des adaptations et qu’elles étaient convenues de collaborer à ce projet, mais elles admettaient aussi qu’il avait été convenu que ce système serait installé sur le camion de la défenderesse, ce qui correspondait au contenu de la confirmation de commande du 25 octobre 2016, qui n’avait pas été contestée par la défenderesse. Le 31 janvier 2017, B.________ avait établi la facture no [333], laquelle correspondait au coût des systèmes d’identification et de pesée embarquée commandés par A.________ et dont le montant correspondait à celui indiqué dans la confirmation de commande du 25 octobre 2015, y compris le rabais consenti de 5 %.
Différents courriels rédigés par A.________ confirmaient en outre que la réelle et commune intention des parties allait dans ce sens. Le 13 mars 2017, A.________ avait écrit qu’elle avait accepté d’être, en Suisse, la première utilisatrice d’un certain nombre de produits de B., mais qu’en retour, le service après-vente et la réactivité de B. n’étaient pas au rendez-vous. Ce courrier donnait l’impression d’un client « mécontent avec le service après-vente et non d’une entité testant du matériel dont elle ne devait ni payer l’installation, ni l’utilisation ». Dans un courriel daté du 4 septembre 2017, afin de justifier son attente d’une homologation avant de payer la facture de B., A. usait d’une comparaison avec l’acquisition d’une voiture en ces termes : « Si vous achetez une voiture (…) et que celle-ci n’est pas homologuée donc pas immatriculable, allez-vous la payer. Répondez en toute bonne foi ! La réponse assurément sera négative ! ». Cette phrase laissait entendre que A.________ « avait bien compris qu’elle avait acheté le système de la demanderesse et qu’elle devait le payer ». Elle indiquait d’ailleurs expressément dans ce courriel, d’une part, que la facture no [333] serait réglée, « net à 30 jours selon les conditions de pmt que j’ai acceptées lors de la signature de la commande, au moment où l’homologation par le service officiel compétent rendra ce véhicule opérationnel sans restrictions » et, d’autre part : « Nous avons fait preuve de beaucoup de patience car nous pensions qu’en qualité de client de lancement pour un nouveau produit, nous devions nous montrer compréhensifs vis-à-vis des problèmes de jeunesse rencontrés par notre fournisseur ». Ces prises de position confortaient l’hypothèse selon laquelle non seulement A.________ avait accepté de payer la totalité de la facture du 31 janvier 2017, sans mettre en question les différents postes détaillés dans ladite facture, mais également qu’elle s’estimait satisfaite des performances du système commandé auprès de B.________ et qu’elle avait bien l’intention de la payer une fois obtenue l’homologation du véhicule.
4.2. Dans un premier grief, l’appelante fait valoir que « le dossier établit que la réelle et commune intention des parties, nonobstant la prétendue "confirmation de commande" sur laquelle B.________ tente de se fonder et que le premier juge retient, était que chacune des parties assumerait, en cas d'échec de la collaboration, ses prestations, à savoir pour B.________ les différents postes figurant dans son document récapitulatif de ses prestations (titre 7) correspondant aux prétendues factures dont elle tente d'obtenir les payements. Autrement dit, chacune des parties repartirait de son côté, en assumant ses propres frais, sans réclamer quoi que ce soit à l’autre ».
4.2.1. D’après l’article 18 al. 1 CO, pour apprécier la forme et les clauses d'un contrat, il y a lieu de rechercher la réelle et commune intention des parties, sans s'arrêter aux expressions ou dénominations inexactes dont elles ont pu se servir, soit par erreur, soit pour déguiser la véritable nature de la convention. Pour déterminer, en particulier, le contenu d'une clause contractuelle, le juge doit rechercher, dans un premier temps, la réelle et commune intention des parties (interprétation subjective), le cas échéant empiriquement, sur la base d'indices. Constituent des indices en ce sens non seulement la teneur des déclarations de volonté – écrites ou orales –, mais encore le contexte général, soit toutes les circonstances permettant de découvrir la volonté réelle des parties, qu'il s'agisse de déclarations antérieures à la conclusion du contrat ou de faits postérieurs à celle-ci, en particulier le comportement ultérieur des parties établissant quelles étaient à l'époque les conceptions des contractants eux-mêmes. Ce n'est que si le juge ne parvient pas à déterminer la volonté réelle et commune des parties, ni dans le sens d'un accord, ni dans le sens d'un désaccord, qu'il doit encore rechercher, par interprétation objective, si le contrat doit néanmoins être considéré comme conclu selon le principe de la confiance (arrêt du TF du 13.06.2024 [4A_308/2023] cons. 2.1). L’interprétation normative (ou objective) vise à rechercher la volonté objective des parties, en déterminant le sens que, d'après les règles de la bonne foi, chacune d'elles pouvait et devait raisonnablement prêter aux déclarations de volonté de l'autre (ATF 133 III 61 ; arrêts du TF du 06.11.2023 [4A_496/2022] cons. 4.2 ; du 08.04.2019 [4A_469/2017] cons. 3.3).
4.2.2. a) À l’appui de sa thèse, l’appelante fait d’abord valoir que « le libellé des documents établis par B.________ » examinés par le Tribunal civil pour déterminer la réelle intention des parties (soit les deux offres, la confirmation de commande et la facture) « ne porte pas toujours sur une vraie commande, une vraie offre ou une vraie facture à payer au sens ordinaire, mais qu'il peut aussi s'agir d'un type de document nécessaire aux procédures internes de la multinationale [B.] ». L’appelante se réfère à la pièce D. 2/13, dont elle déduit que « [d]ans le cadre d’un autre contrat d’achat », B. avait admis « qu’une commande "nous permet de libérer le processus de fabrication [des conteneurs]" ».
b) L’appelante ne conteste pas les constatations du Tribunal civil selon lesquelles la facture no [333] porte sur des prestations qui ont fait l’objet d’offres (des 6 et 28 juillet 2016) et d’une confirmation de commande (du 25 octobre 2016) concernant précisément le système d’identification et de pesée de conteneurs faisant l’objet de ladite facture. Elle soutient que les termes utilisés (notamment « Confirmation de commande ») ne reflètent pas (forcément) la réelle et commune intention des parties. L’argument ne convainc pas.
En effet, la pièce invoquée par l’appelante consiste en l’échange de courriels suivant : le 6 novembre 2015, A.________ (par D.) a écrit à B. (par C.) (citation littérale) : « j’ai bien reçu ton offre pour les containers aériens de type E.. Tout me semble OK et je suis prêt à te signer le contrat d’achat » ; le 9 novembre 2015, B.________ a répondu : « Nous avons bien reçu ton message et te remercions pour ta confiance. Pour notre part, nous pouvons nous satisfaire de ce courriel qui fait effet de commande de la part de [A.] et nous permet de libérer le processus de fabrication. Nous allons vous transmettre une confirmation de commande sous peu. Si cette façon de procéder ne devait pas convenir pour [A.] je vous laisse le soin de revenir vers nous ». Contrairement à ce que semble croire l’appelante, on ne peut pas raisonnablement déduire de cet échange que, dans le cadre d’un « contrat d’achat » autre que celui visé par la facture no [333], les parties auraient volontairement usé de termes ne reflétant pas leur réelle et commune intention. Non seulement l’appelante n’explique pas comment on le pourrait, mais dans cet échange, A.________ fait expressément part de son intention de « signer [un] contrat d’achat » suite à une « offre » soumise par B.. Quant à cette dernière, sa réponse ne peut être interprétée, comme le voudrait l’appelante, en ce sens que la « confirmation de commande » annoncée ne serait qu’un document nécessaire à l’usage interne de B., mais ne correspondant pas à une réelle commande. Il n’est pas raisonnable de considérer, comme semble le vouloir l’appelante que la « façon de procéder » proposée par B.________ consisterait à faire usage d’une « confirmation de commande » ne correspondant pas à une réelle commande de A.________ à B.________ ; au contraire, B.________ fait part à A.________ que le message de cette dernière du 6 novembre 2015 peut être considéré par elle comme une commande formelle de A.________ dans le sens de l’acceptation de l’offre correspondante de B.________ et que si A.________ devait pour sa part considérer que le procédé énoncé dans le courriel du 9 novembre 2015 ne peut pas être considéré comme suffisant (soit se contenter de l’échange de courriels pour considérer le contrat conclu et lancer le processus de fabrication, et se contenter d’une confirmation formelle ultérieure), elle devrait se manifester en ce sens auprès de B.. Or A. ne prétend pas s’être manifestée en ce sens auprès de B.________. C’est dire que le contrat était manifestement conclu.
Dès lors que l’appelante échoue à démontrer que les parties auraient volontairement usé de termes ne reflétant pas leur réelle et commune intention (i.e. qu’elles auraient fait usage d’une « confirmation de commande » ne correspondant pas à une réelle commande de A.________ à B.) dans le cadre de la commande de containers aériens de type E., elle échoue a fortiori à prouver – et même à rendre vraisemblable – qu’un tel procédé aurait pu avoir cours en rapport avec l’objet de la facture no [333]. Au contraire, le fait que, dans son message du 9 novembre 2015, A.________ se soit déclarée prête à « signer le contrat d’achat » suite à une offre de B.________ laisse plutôt penser que sa volonté était d’acheter ce qui figurait dans l’offre, et non de recevoir sans bourse délier ce qui figurait dans l’offre, comme cela aurait été prévu dans le cadre d’une convention de collaboration entre les parties, dans le cadre duquel elle-même se serait limitée à tester des installations fournies gratuitement par B., en échange de ses conseils, avis et idées à ce sujet. Si une telle convention avait existé entre A. et B., il est conforme au cours ordinaire des choses et à l’expérience de la vie, s’agissant de sociétés rompues aux affaires, qu’elle aurait été formalisée dans un contrat écrit ou au moins dans un échange de courriels spécifique. Or A. ne prétend pas qu’un tel écrit existerait.
Au surplus, le grief dénote une certaine mauvaise foi, puisque dans un courriel du 4 septembre 2017 (relevé par le premier juge), A.________ (par D.) a écrit à B., au sujet de la facture no [333] : « [j]e la règlerai, net à 30 jours selon les conditions de pmt que j’ai acceptées lors de la signature de la commande, au moment où l’homologation par le service officiel compétent rendra ce véhicule opérationnel sans restriction ». Un tel message signifie sans ambiguïté que, dans l’esprit de D., les postes mentionnés dans la facture no [333] devaient être payés par A. et non par B.________.
4.2.3. a) L’appelante fait ensuite valoir qu’elle-même ne pouvait pas avoir l’intention d’acheter ce qui faisait l’objet de la facture no [333], à mesure qu’« une "confirmation de commande" (…) ne peut porter que sur un produit (déjà conçu, fonctionnel, testé et validé en interne du producteur, abouti, fini, homologué par les autorités et ainsi disponible aisément sur le marché concerné) ».
On ne voit pas en quoi une société ayant pour but l’exploitation d’un service de voirie ne pourrait pas avoir pour intention d’acquérir à titre onéreux auprès d’une société tierce un système d’identification et de pesée de conteneurs n’ayant encore jamais été installé en Suisse et nécessitant des adaptations. Au contraire, dès lors que l’appelante admet que le système de pesage embarqué de conteneurs avec système d’identification et de géolocalisation proposé par B.________ présentait pour elle l’intérêt de pouvoir obtenir une rationalisation des coûts et du temps, ainsi qu’une simplification du système de pesée et de facturation des déchets (v. supra cons. 3.1a), elle pouvait à l’évidence être intéressée à acquérir à titre onéreux un tel système auprès de B.________.
b) L’appelante fait valoir encore que « si [A.] devait payer le montant de la facture pour un système qui n'était ni pleinement opérationnel au moment où la collaboration a pris fin, puis encore au moment où [B.] lui avait coupé tous les accès à la plate-forme informatique, alors le seul risque qu'aurait pris [B.] dans cette collaboration aurait été "la prestation [de B.]" de CHF 4'000.00 (titre 7) [c]ela ne lui aurait d'ailleurs causé aucune perte, mais au contraire malgré tout un bénéfice, puisqu'on peut bien imaginer que la marge de [B.________] sur son système était supérieure à CHF 4'000.00 ».
Sur ce point non plus, l’appelante ne peut être suivie, en ce sens que tant les documents utilisés dans les relations contractuelles des parties (offres, confirmations de commande, factures) que les expressions utilisées par A.________ (not. volonté d’acheter l’objet des offres, confirmations de commande et facture, et non d’obtenir gratuitement l’usage de ces objets à des fins de test) sont compatibles avec une volonté concordante des parties d’une cession à titre onéreux de B.________ à A.________ des objets mentionnés dans les confirmations de commande et les factures. Contrairement à ce qu’en déduit l’appelante, le fait que cette acquisition ait lieu à titre onéreux n’a pas pour conséquence que A.________ devrait assumer (presque) tous les risques et que B.________ ne devrait en assumer (presque) aucun. En particulier, on ne voit pas en quoi l’acquisition à titre onéreux des objets en question aurait forcément pour conséquence que les parties aient exclu la possibilité pour A.________ de faire valoir auprès de B.________ des prétentions en cas de dysfonctionnement desdits objets (v. infra cons. 4.4.3). C’est bien plutôt l’inverse qui serait usuel. Le Tribunal civil n’a d’ailleurs pas retenu une telle impossibilité, mais au contraire considéré que les prétentions de A.________ vis-à-vis de B.________ étaient infondées parce que sans lien avec la relation contractuelle des parties (frais liés au camion NE [222] ; perte de valeur du camion no 3) ou reposant sur des faits non prouvés (coûts liés à l’inutilisation du camion no 3 ; perte du 28.02.2017 ; coûts de communication et de liaison des puces ; coûts de déplacement inutiles au CPMB ; coûts Swisscom ; prestations du camion-laveur) ou parce qu’ayant fait l’objet d’un règlement amiable (conteneurs E.________).
4.2.4. a) À l’appui de sa thèse sur le partage des risques entre les parties, l’appelante déduit enfin que la détermination de l’adverse partie sur son allégué 107 démontre que « les seuls risques que [A.] devait encourir étaient liés aux coûts d'achat du camion et aux charges de son personnel ayant participé à ce projet (temps et salaire du directeur, des chauffeurs pour les tournées, etc.). Toutes les autres charges (développements des différents systèmes, communications, homologation du système, etc.) étaient évidemment à charge de [B.] car liées au développement de son système pour la Suisse dans le but de conquérir des parts de marchés et ainsi de réaliser du chiffre d'affaires en Suisse. Ce qui est d'ailleurs normal, selon l'expérience générale de la vie des affaires, à ce type de collaboration ». Elle ajoute que « les pratiques commerciales établies et généralement reconnues dans l’industrie imposent que la société-cobaye n’ait pas à payer plus que les coûts de ses propres prestations ».
b) L’allégué 107 de A.________ a la teneur suivante : « En d’autres termes, les risques étaient que [B.] assumerait son système, son adaptation et la mise en place de celui-ci chez [A.] s’il ne fonctionnait pas, tout comme [A.] assumerait les coûts et le temps qu’elle avait investis pour son camion et son personnel en vue de la mise en place du système ». B. a admis cet allégué, « avec la précision qu’il a fallu du temps pour que le système électronique de pesage et d’identification de conteneurs soit opérationnel mais qu’il fonctionnait ».
On ne voit – et l’appelante n’explique – pas en quoi il découlerait des faits admis par B.________ que l’intention des parties n’aurait pas été que A.________ devait payer à B.________ les montants figurant sur les confirmations de commande en rapport avec les objets et prestations correspondants, alors que tant les documents utilisés par les parties (offres, confirmations de commande, factures) que les expressions utilisées par A.________ (not. volonté d’acheter l’objet des offres, confirmations de commande et facture, et non d’obtenir gratuitement l’usage de ces objets à des fins de test) sont compatibles avec une volonté concordante des parties en ce sens. Comme déjà dit, on ne voit pas non plus en quoi l’accord des parties selon lequel A.________ s’engageait à payer à B.________ les montants figurant sur les confirmations de commande en rapport avec les objets et prestations correspondants exclurait la possibilité pour A.________ de faire valoir auprès de B.________ des prétentions en cas de dysfonctionnement desdits objets ou d’insuffisance desdites prestations.
Quant au fait que « les pratiques commerciales établies et généralement reconnues dans l’industrie impose[raient]nt que la société-cobaye n’ait pas à payer plus que les coûts de ses propres prestations » – en plus qu’on ne voit pas ici quel en serait l’effet concret –, l’appelante n’explique pas pourquoi il s’agirait d’un fait notoire au sens de l’article 151 CPC et elle ne prétend pas qu’il aurait été allégué en première instance, ni ne se réfère à un moyen de preuve qui l’établirait. Il n’y a dès lors pas lieu de s’y attarder.
Le grief dénote enfin une certaine mauvaise foi, pour les raisons exposées au dernier § du considérant 4.2.2 ci-dessus.
4.3. a) Dans un deuxième grief, l’appelante allègue que le système n’a jamais été homologué et que « [l]e tribunal civil considère, à juste titre, que l’homologation du système était une condition au paiement ».
La contradiction que l’appelante voit dans le jugement querellé n’existe pas, puisque le Tribunal civil n’a pas retenu, en fait, que les parties étaient convenues que la facture no [333] ne devrait être payée qu’après l’homologation du système. Non seulement l’appelante ne se réfère à aucun moyen de preuve qui attesterait un tel accord, mais son courriel du 4 septembre 2017 à B.________ cité plus haut (« Si vous achetez une voiture (…) et que celle-ci n’est pas homologuée donc pas immatriculable, allez-vous la payer. Répondez en toute bonne foi ! La réponse assurément sera négative ! ») montre bien que tel n’était pas le cas. En effet, si les parties étaient convenues que la facture no [333] ne devrait être payée qu’après l’homologation du système, A.________ aurait, pour surseoir au paiement de cette facture, simplement rappelé à B.________ que les parties avaient manifesté de manière concordante leurs volontés en ce sens (chose qui aurait du reste selon toute vraisemblance dû figurer dans un écrit signé des deux parties) ; elle n’aurait pas eu besoin d’avoir recours à son exemple de l’achat d’une voiture, ni à la bonne foi (qui est un élément d’interprétation objective et non subjective).
Sous l’angle de l’interprétation subjective, une fois le système de pesage embarqué de conteneurs avec système d’identification et de géolocalisation de B.________ installé et en état de marche sur un camion donné de A., on ne voit – et l’appelante n’explique – pas pourquoi l’absence d’homologation dudit système aurait fait obstacle à l’utilisation dudit camion par A., afin d’assurer ses tournées de récolte de déchets. Au contraire, il ressort du dossier – et notamment des déclarations de D.________ – que A.________ a bien utilisé, pour effectuer ses tournées, des camions équipés du système B.________ en état de marche. Même à suivre la thèse de l’appelante selon laquelle A.________ devait simplement tester le système de B., le test devait avoir lieu, comme l’admet l’appelante (v. supra cons. 4.1.b), « en réel (…), en vue de leur approbation ou de leur développement ». Or on ne voit pas comment un tel test pourrait se faire autrement que par l’utilisation par A. d’un camion équipé du système de B.________ (même non homologué) pour accomplir effectivement des tournées de récolte de déchets qu’elle s’était engagée contractuellement à effectuer auprès de tiers, et pour lesquelles elle était donc rémunérée. Dès lors qu’un tel camion permettait effectivement à A.________ d’effectuer les prestations qu’elle s’était engagée à faire, il s’agissait d’un outil de travail opérationnel. Dès lors qu’il est conforme au cours ordinaire des choses et à l’expérience générale de la vie qu’une entreprise de voirie doive payer pour ses outils de travail fonctionnels (not. les camions et leurs équipements), les parties ne pouvaient pas avoir prévu qu’une absence d’homologation faisait obstacle au paiement par A.________ des factures relatives à la livraison de matériel fonctionnel.
b) C’est également à tort que l’appelante reproche à l’autorité précédente de n’avoir pas « pris en considération les conséquences légales et pénales (!), de cette absence d’homologation ».
L’appelante se réfère aux déclarations du témoin L., employé du Service de la consommation et des affaires vétérinaires de l’État de Neuchâtel, selon lesquelles le système B. était « certifié CE » ; il manquait par contre « le module F qui est la démarche finale pour la mise sur le marché » suisse ; l’obtention de ce module F était « une démarche relativement facile », supposant un rendez-vous auprès d’un organisme d’évaluation de la conformité agréé ; A.________ « risquait une dénonciation au Ministère public pour utilisation d’un instrument de mesure illicite en utilisant un système qui n’était pas homologué ». Sur ce dernier point, l’appelante se réfère à l’article 248 CP (falsification des poids et mesures), sans expliquer en quoi les conditions objectives et subjectives de l’infraction seraient réalisées. Or on ne voit pas en quoi le système de pesage embarqué de conteneurs avec système d’identification et de géolocalisation proposé par B., « certifié CE », serait un instrument de mesure « faux » ou « falsifié », au sens de l’article 248 CP, à défaut d’obtention du « module F ». On ne voit pas non plus en quoi A. aurait eu le dessein spécial de « tromper autrui dans les relations d’affaires ». D’ailleurs, on relève que L.________ n’a apparemment pas dénoncé l’appelante au Ministère public.
Enfin, l’appelante ne peut pas être suivie dans son raisonnement selon lequel « [l]es conséquences pénales pour [A.] résultant de la non-homologation rendent l’exécution du contrat illicite, puisque cela reviendrait à faire payer à [A.] un système qui, s’il était utilisé, la conduirait directement à une peine privative de liberté de 5 ans ou à une peine pécuniaire (art. 20 et 91 CO) », parce que, comme déjà dit, l’appel n’est pas suffisamment motivé sur ce point, faute pour l’appelante d’expliquer en quoi l’utilisation du système B.________ non homologué réaliserait les conditions objectives et subjectives de l’article 248 CP. Par surabondance, on ne voit pas comment cela pourrait être le cas, également pour les raisons déjà expliquées ci-dessus.
4.4. Dans un troisième grief, l’appelante reproche au Tribunal civil de n’avoir pas retenu « les nombreux et graves défauts récurrents du système embarqué ».
4.4.1. De manière générale, elle allègue que « le système embarqué n'a eu de cesse d'être défectueux et de causer de lourds préjudices à la défenderesse » ; que « le problème a connu moult défauts (sic) qui ont tenté d'être réparés (sic) après que [A.] en ait avisé [B.] » ; que B.________ a admis dans ses écritures des difficultés d'adaptation et des problèmes, pour lesquels elle était intervenue à chaque signalement de A.________ ; que C.________ a estimé à dix le nombre des demandes de A.________ et des interventions de B.________ ; que B.________ n’était pas parvenue à prouver que les défauts avaient été réparés ; qu’elle-même avait été contrainte d’investir presque 60'000 francs pour rééquiper son camion « avec un système qui fonctionnait ».
Concrètement, l’appelante fait état : 1) de données non-transmises ou transmises de manière incomplète à H.________ (au sujet de cette société, v. supra cons. 4.1.c) « une quantité incroyable de jours » et renvoie à cet égard à des déclarations de M., D. et N.________ ; 2) d’un courriel du 4 septembre 2017 dans lequel elle-même écrivait que le camion no 3 n'avait pu être utilisé qu'à 15-20 % de sa capacité et qu'il avait été, entretemps, remplacé par un véhicule de réserve ; 3) de l’absence de preuve par B.________ « qu’elle était arrivée au bout du développement et qu[e le système embarqué] était ainsi définitivement livré à A.________ » ; 4) de l’absence d’homologation du même système ; 5) de la coupure par B.________ des accès de A.________ à la plateforme électronique, le 29 septembre 2017.
En lien particulièrement avec la « coupure par [B.] des accès de [A.] à sa plate-forme de transmission automatique des données », l’appelante fait valoir que l’accès à ladite plate-forme était « un des éléments essentiels du système embarqué puisque c'est cet accès qui permettait à [A.] la refacturation de ses propres prestations à ses clients » et que B. avait coupé cet accès afin de « contraindre [A.] à négocier pieds et poings liés, contrairement à ses intérêts pour admettre des prétentions indues de [B.], sous l'épée de Damoclès fondamentale de pouvoir elle-même refacturer ses prestations à ses propres clients ».
Toujours selon l’appelante, alors que B.________ s’était engagée à livrer le système embarqué « opérationnel et exempt de défaut pour le 1er janvier 2017 afin que [A.] puisse pleinement l’utiliser », l’intimée avait « failli à son obligation et était en inexécution fautive de ses prestations à la date convenue ». Il s’en suivait que depuis la fin février 2017, A. « aurait pu se départir du contrat, sans être redevable d'aucune prestation de [B.] tout en pouvant exiger, elle, des dédommagements » ; elle avait toutefois tenté de continuer de faire confiance à B..
4.4.2. à l’appui de son allégué selon lequel l’intimée se serait engagée à livrer le système embarqué opérationnel et exempt de défaut pour le 1er janvier 2017 afin que l’appelante puisse pleinement l’utiliser, l’appelante renvoie à son allégué 107 et au titre 102.
La formulation de l’allégué 107 de la réponse et demande reconventionnelle a déjà été mentionnée, tout comme la détermination de l’intimée à ce sujet (v. supra cons. 4.2.4.b) ; il n’en résulte pas qu’il aurait été allégué en première instance que l’intimée se serait engagée à livrer le système embarqué opérationnel et exempt de défaut pour le 1er janvier 2017, et encore moins qu’en présence de défaut du système après le 1er janvier 2017, la volonté des parties aurait été que A.________ ait pu « se départir du contrat, sans être redevable d'aucune prestation de [B.] tout en pouvant exiger, elle, des dédommagements ». Quant au titre 102, il s’agit d’un courriel adressé à B. par A.________ le 13 mars 2017, dont on ne voit – et dont l’appelante n’explique – pas en quoi il prouverait l’allégué formulé à l’appui de l’appel. Ces considérations scellent le sort du grief.
4.4.3. En effet, que l’on considère l’objet de la facture no [333] comme une vente mobilière ou un contrat d’entreprise, le résultat est le même.
4.4.3.1. a) Dans le contrat de vente mobilière, le vendeur est tenu de garantir l’acheteur tant en raison des qualités promises qu’en raison des défauts qui, matériellement ou juridiquement, enlèvent à la chose soit sa valeur, soit son utilité prévue, ou qui les diminuent dans une notable mesure ; il répond de ces défauts, même s’il les ignorait (art. 197 CO). Il ne répond par contre pas des défauts que l’acheteur connaissait au moment de la vente, ni de ceux dont l’acheteur aurait dû s’apercevoir lui-même en examinant la chose avec une attention suffisante (art. 200 CO). Selon l’article 201 CO, l’acheteur a l’obligation de vérifier l’état de la chose reçue aussitôt qu’il le peut d’après la marche habituelle des affaires ; s’il découvre des défauts dont le vendeur est garant, il doit l’en aviser sans délai (al. 1) ; lorsqu’il néglige de le faire, la chose est tenue pour acceptée, à moins qu’il ne s’agisse de défauts que l’acheteur ne pouvait découvrir à l’aide des vérifications usuelles (al. 2) ; si des défauts de ce genre se révèlent plus tard, ils doivent être signalés immédiatement ; sinon, la chose est tenue pour acceptée, même avec ces défauts (al. 3). Dans les cas de garantie en raison des défauts de la chose, l’acheteur a le choix ou de faire résilier la vente en exerçant l’action rédhibitoire, ou de réclamer par l’action en réduction de prix une indemnité pour la moins-value (art. 205 al. 1 CO) ; en cas de résiliation de la vente, l’acheteur est tenu de rendre au vendeur la chose avec les profits qu’il en a retirés (art. 208 al. 1 CO). Toute action en garantie pour les défauts de la chose se prescrit par deux ans à compter de la livraison faite à l’acheteur, même si ce dernier n’a découvert les défauts que plus tard ; sauf dans le cas où le vendeur aurait promis sa garantie pour un délai plus long (art. 210 al. 1 CO).
b) Dans le contrat d’entreprise, le prix de l’ouvrage est payable au moment de la livraison (art. 372 al. 1 CO). Lorsque le prix a été fixé à forfait, l’entrepreneur est tenu d’exécuter l’ouvrage pour la somme fixée, et il ne peut réclamer aucune augmentation, même si l’ouvrage a exigé plus de travail ou de dépenses que ce qui avait été prévu (art. 373 al. 1 CO) ; le maître est quant à lui tenu de payer le prix intégral, même si l’ouvrage a exigé moins de travail que ce qui avait été prévu (art. 373 al. 3 CO). Après la livraison de l’ouvrage, le maître doit en vérifier l’état aussitôt qu’il le peut d’après la marche habituelle des affaires, et en signaler les défauts à l’entrepreneur, s’il y a lieu (art. 367 al. 1 CO). L’ouvrage est tacitement accepté lorsque le maître omet la vérification et l’avis prévus par la loi (art. 370 al. 2 CO). Si les défauts ne se manifestent que plus tard, le maître est tenu de les signaler à l’entrepreneur aussitôt qu’il en a connaissance ; sinon, l’ouvrage est tenu pour accepté avec ces défauts (art. 370 al. 3 CO). Selon l’article 368 CO, lorsque l’ouvrage est si défectueux ou si peu conforme à la convention que le maître ne puisse en faire usage ou être équitablement contraint à l’accepter, le maître a le droit de le refuser et, si l’entrepreneur est en faute, de demander des dommages-intérêts (al. 1). Lorsque les défauts de l’ouvrage ou les infractions au contrat sont de moindre importance, le maître peut réduire le prix en proportion de la moins-value ou obliger l’entrepreneur à réparer l’ouvrage à ses frais si la réfection est possible sans dépenses excessives ; le maître a, de plus, le droit de demander des dommages-intérêts lorsque l’entrepreneur est en faute (al. 2). Le maître ne peut toutefois invoquer les droits résultant pour lui des défauts de l’ouvrage, lorsque l’exécution défectueuse lui est personnellement imputable, soit à raison des ordres qu’il a donnés contrairement aux avis formels de l’entrepreneur, soit pour toute autre cause (art. 369 CO). Les droits du maître en raison des défauts de l’ouvrage se prescrivent par deux ans à compter de la réception de l’ouvrage (art. 371 al. 1 CO).
4.4.3.2. En l’espèce, la motivation de l’appel sur ce point est largement insuffisante, étant précisé qu’en première instance, l’intimée a certes admis être intervenue chaque fois que l’appelante le lui demandait, mais qu’elle a précisé que les difficultés rencontrées par l’appelante pouvaient résulter de mauvaises manipulations ou de défauts d’entretien imputables à cette dernière. En effet, il ressort du dossier que l’appelante a utilisé régulièrement le système livré par B.________ pour effectuer ses tournées et que l’appelante ne décrit pas précisément les différents défauts allégués, en précisant pour chacun quand l’avis de défaut a été émis et quel était son contenu, et qu’elle n’explique pas non plus quand et comment elle a exercé ses droits (date et contenu de la résiliation du contrat ou de demandes en réduction du prix, avec démonstration de l’existence et de la quotité de la moins-value, ou de la demande faite à l’intimée de réparer l’ouvrage à ses frais). Il n’appartient pas à la juridiction d’appel de rechercher ces éléments d’office dans le dossier, ce qui priverait d’ailleurs l’adverse partie de la possibilité de se défendre de manière effective en seconde instance cantonale. L’appelante n’oppose en particulier aucune motivation suffisante aux considérations au terme desquelles le premier juge est parvenu à la conclusion que ses prétentions relatives au prétendu caractère en partie inutilisable du camion no 3 en raison de l’inaccessibilité au système informatique de B.________ (allégués non prouvés), aux prétendus frais de 40'244.16 francs nécessaires pour remettre en état le camion NE [222] (échec de la preuve d’une telle nécessité, en lien avec un défaut du système livré par l’intimée), et aux prétendues pertes de valeur du camion n° 3 et d’une superstructure FARID – BRIVIO T1 M 16 (acquisitions sans lien avec la collaboration avec l’intimée ; prédisposition du camion de l’appelante pas comprise dans le prix d’acquisition du système de l’intimée) étaient infondées.
4.5. L’appelante formule en outre plusieurs griefs en droit.
4.5.1. Elle reproche d’abord au Tribunal civil de n’avoir pas spécifié les dispositions légales qu’il avait appliquées.
Il est exact que le juge civil n’a pas qualifié juridiquement le contrat qui liait les parties, en rapport avec les postes faisant l’objet de la facture no [333]. Cela étant, l’appelante, pourtant représentée par un mandataire professionnel, ne le fait pas non plus, pas plus qu’elle n’invoque une disposition spécifique qui aurait été ignorée à tort par le juge civil et dont l’application correcte aurait modifié le sort de la cause. L’appelante évoque le contrat de société simple, mais elle en exclut l’application et la pertinence dans le cas d’espèce et, en rapport avec les contrats de vente et d’entreprise, elle se limite à dire que « les dispositions légales mènent au rejet des prétentions de [B.] », sans citer de disposition légale, ni a fortiori expliquer pour quelles raisons et en fonction de quel raisonnement l’application des dispositions légales en question conduirait au rejet des prétentions de B. en rapport avec la facture no [333]. Des griefs ainsi formulés ne satisfont pas aux exigences minimales de motivation posées à l’article 311 al. 1 CPC.
4.5.2. Pour l’hypothèse où la Cour de céans devait parvenir à la conclusion de l’absence d’accord entre les parties, l’appelante invoque l’article 62 CO relatif à l’enrichissement illégitime. L’hypothèse n’est toutefois pas réalisée, puisqu’un accord contractuel entre les parties existait bel et bien, au sens des considérants ci-dessus.
4.5.3. Pour le reste, l’appelante fait valoir dans la partie de son mémoire d’appel consacrée à l’application du droit des éléments déjà soulevés dans la partie dudit mémoire consacrée à l’établissement des faits. On renvoie sur ces points aux considérants correspondants du présent arrêt (sur le soi-disant accord des parties quant au partage des risques et des coûts, v. supra cons. 4.2 ; sur les soi-disant « défauts graves et récurrents non résolus », not. le blocage des accès à la plateforme, v. supra cons. 4.4 ; sur la non‑homologation du système, v. supra cons. 4.3). Au sujet du sens qui doit être donné dans le cas particulier aux offres, confirmations de commande et facture, on renvoie, mutatis mutandis, au considérant 5.3.e ci-dessous.
II. Facture de l’intimée no [444] du 3 mai 2017
5.1. a) Devant le Tribunal civil, B.________ a allégué que cette facture se rapportait à l’installation du système de pesage et d’identification de conteneurs faisant l’objet de la facture no [333], ainsi qu’à l’antenne supplémentaire, le boîtier ripeur et les coûts d’intégration et de maintenance et des prestations de calibration/étalonnage, éléments ressortant tous de la confirmation de commande du 25 octobre 2016 ; que A.________ ne s’était pas acquittée de cette facture ; que si A.________ invoquait de prétendus « défauts de l’ouvrage », elle n’en était pas moins tenue d’en payer le prix.
b) De son côté, A.________ admettait qu’elle n’avait pas payé cette facture et détaillait divers défauts, ainsi qu’un retard, imputables selon elle à B.________.
c) Les considérations de l’autorité précédente résumées au considérant 4.1.c ci-dessus valent aussi pour la facture no [444], en tant que celle-ci concerne, tout comme la facture no [333], l’acquisition par A.________ d’un système d’identification et d’un système de pesée embarquée auprès de B.. Spécifiquement en rapport avec la facture no [444], le Tribunal civil a retenu que les différents postes y relatifs avaient fait l’objet de discussions entre les parties au vu des offres de B. des 6 et 28 juillet 2016, puis de la confirmation de commande du 25 octobre 2016, dont le contenu n’avait pas été contesté par A.________ ; que B.________ avait payé une facture de 8'473.45 francs (soit 7'845.80 francs, plus la TVA à 8 %) à G.________ AG ; que pour ce poste, elle n’avait facturé que 7'845.80 francs à A., prenant ainsi à sa charge la TVA (cela est en réalité incorrect puisque la TVA à 8 % est réintroduite dans la facture sur le montant comprenant 7'845.80 francs et qu’il y a ainsi refacturation avec la TVA, sans la compter deux fois) ; que vu la volonté réelle des parties ressortant des différentes pièces déposées (v. supra cons. 4.1.c), A. devait payer à B.________ la facture no [444] du 3 mai 2017 d’un montant de 17'870 francs.
5.2. Les griefs de l’appelante tirés de la prétendue réelle et commune intention des parties, d’une part, et de la non-homologation du système B.________, d’autre part, ont déjà été traités plus haut (resp. au cons. 4.2 et au cons. 4.3) ; on peut renvoyer sur ces points à ce qui a déjà été dit.
5.3. a) En rapport spécifiquement avec la facture no [444], l’appelante fait valoir que « la prétendue confirmation de commande d’octobre 2016 incluait des postes qui n’avaient jamais été convenus » ; que les deux offres de juillet 2016 ne devaient pas être considérées comme un tout, mais appréhendées de manière distincte ; que l’offre du 6 juillet 2016 a été remplacée par celle du 28 du même mois « selon les principes généraux du droit (une offre est réputée retirée en cas de transmission d'une nouvelle), puisqu'il s'agit précisément d'une nouvelle offre qui se substitue à la première » ; que contrairement à la prétendue « confirmation de commande », l’offre du 28 juillet 2016 ne contient pas les postes supplémentaires de l'antenne supplémentaire, des coûts d'intégration et maintenance des camions de A.________ selon l'offre de G.________ AG, du software [a], des coûts d'homologation et des prestations de I.________ ; que B.________ n’allègue pas et ne prouve pas qu’il y aurait eu des échanges téléphoniques ou autres au sujet de ces ajouts ; que ces ajouts ne se retrouvaient pas non plus dans le procès-verbal relatif à la séance du 10 octobre 2016, contrairement au « boîtier ripeur » qui était selon ce procès-verbal « à intégrer à cette commande ».
b) En rapport spécifiquement avec ces quatre postes contestés (antenne supplémentaire ; coûts d’intégration et de maintenance des camions de A.________ avec B.________ selon l’offre de G.________ AG ; software [a] pour l’échange de données entre B.________ et H.________ ; prestations de calibration/étalonnage), le juge civil a retenu, en fait, qu’ils étaient mentionnés dans la confirmation de commande datée du 25 octobre 2016 portant sur un « système de pesée embarquée et d’identification de conteneurs » ; que A.________ s’appuyait uniquement sur l’interrogatoire de la demanderesse pour prouver sa version des faits ; que B.________ n’avait toutefois pas confirmé cette version lors de son interrogatoire ; que, par conséquent, A.________ avait échoué dans la preuve de ses allégués selon lesquels elle-même n’aurait jamais commandé ou accepté de prendre à sa charge ces quatre éléments ; que le titre déposé par A.________ à l’appui de son allégué selon lequel D.________ avait parlé à C.________ de cette problématique et que ce dernier avait répondu que la maison mère en France lui mettait la pression ne prouvait pas le fait allégué ; que le fait que B.________ ait envoyé plusieurs offres sur un même objet à A., puis une confirmation de commande toujours concernant ce même objet, confirmation qui n’avait pas été contestée par A., indiquait clairement que A.________ avait l’intention de commander tous les éléments mentionnés dans la « confirmation de commande ».
c) Avec le premier juge, la Cour de céans considère que si B.________ avait, comme le prétend A., glissé (intentionnellement ou par négligence, peu importe) dans la « confirmation de commande » du 25 octobre 2016 et dans la facture no [444] des postes n’ayant pas été effectivement commandés par A., cette dernière n’aurait pas manqué de s’en plaindre auprès de B., rapidement après réception de la confirmation de commande, respectivement de la facture. En effet, les quatre postes contestés ne sont pas noyés dans une masse de postes, d’une part, et ils représentent une partie importante de la valeur totale en jeu, d’autre part. Ainsi, la « confirmation de commande » du 25 octobre 2016 consiste en deux pages et elle comprend en tout et pour tout 13 postes, de sorte qu’il était très simple pour A. de repérer, par un examen sommaire du document – examen auquel elle a forcément procédé –, quatre éléments qui auraient résulté d’une erreur, voire d’un dol du cocontractant. L’erreur (ou le dol) aurait été d’autant plus facile à identifier que la somme des quatre postes en questions totalise 12'662 francs, ce qui représente près du quart (très précisément 24,77 %) du total à payer par A., TVA incluse, selon la « confirmation de commande ». Quant à la facture no [444], elle tient aussi sur deux pages et comprend en tout et pour tout 9 postes, de sorte qu’il était très simple pour A. de repérer, par un examen sommaire du document – examen auquel elle a forcément procédé –, quatre éléments qui auraient résulté d’une erreur, voire d’un dol du cocontractant. L’erreur (ou le dol) aurait été d’autant plus facile à identifier que la somme des quatre postes en questions totalise 12'126.80 francs, ce qui représente plus des deux tiers (très précisément 67,86 %) du total à payer par A., TVA incluse, selon la facture en question. En l’absence de preuve d’une réaction rapide de A. pour signaler à B.________ une erreur (soit la mention de quatre postes que A.________ n’avait jamais accepté de prendre à sa charge) après réception de la « confirmation de commande » du 25 octobre 2016, d’une part, et de la facture no [444] du 3 mai 2017, d’autre part, on doit retenir, en fait, compte tenu des circonstances, qu’il était bien convenu entre les parties que A.________ assumerait les coûts d’une antenne supplémentaire, d’intégration et de maintenance G.________ AG, du software [a] et de prestations de calibration/étalonnage.
d) C’est en vain que l’appelante tente de démontrer que le matériel faisant l’objet des factures no [333] et [444] n’aurait jamais été homologué, puisqu’aucune de ces factures ne contient un poste correspondant à l’homologation en question. L’intimée n’a donc pas facturé à l’appelante le coût d’une homologation inexistante.
e) L’appelante insiste sur les différences entre l’offre du 6 et celle du 28 juillet 2016. Entre ces deux offres, près de trois semaines se sont toutefois écoulées, durant lesquelles des discussions ont pu avoir lieu entre les parties, sur des points de détail. Mais surtout, l’appelante omet que l’une comme l’autre des deux offres de l’intimée porte la mention « Offre approximative », en caractères gras, contrairement à la « Confirmation de commande » du 25 octobre 2016. À cet égard, il ressort du dossier que des discussions ont eu lieu entre les parties entre l’offre du 28 juillet 2016 et la confirmation de commande du 25 octobre 2016, comme en atteste notamment le procès-verbal relatif à la séance du 10 octobre 2016, qui mentionne l’intégration du « boîtier ripeur » à la commande de A.________. L’appelante ne peut donc pas soutenir de bonne foi que l’une ou l’autre des offres des 6 et 28 juillet était complète et définitive. Au contraire, la mention « Offre approximative » signifie clairement que certains détails doivent encore être discutés entre les parties, avant de parvenir à un accord définitif. Le document intitulé « Confirmation de commande » ne peut quant à lui être interprété que dans le sens d’une partie qui présente à l’autre le contenu de l’accord qu’elles ont passé. La bonne foi en affaires implique, de la part de la partie qui reçoit un tel document d’une autre partie avec laquelle elle envisage une collaboration (ce qui est bien le cas ici), de se manifester rapidement auprès de l’autre si elle estime qu’aucun accord n’a été trouvé ou que le document ne contient pas exactement ce qui a été convenu. Or l’appelante ne prétend pas avoir agi ainsi et elle n’apporte a fortiori pas la preuve de l’avoir fait. De la même manière, l’envoi d’une facture (précisant en l’occurrence, notamment, la date de la commande, la référence du bulletin de livraison et les mentions « Cond. de paiement 30 jours net » et « Nous vous remercions pour votre commande ») ne peut être interprété que dans le sens que l’émetteur invite le destinataire à lui payer dans les 30 jours le montant qu’elle estime dû en rapport avec des prestations que l’émetteur de la facture estime avoir effectuées à satisfaction. La bonne foi en affaires implique, de la part de la partie qui reçoit un tel document d’une autre partie avec laquelle elle envisage une collaboration (ce qui est bien le cas ici), de se manifester rapidement auprès de l’autre si elle estime qu’aucun accord n’a été trouvé entre les parties ou que le document ne contient pas exactement ce qui a été fourni. Or l’appelante ne prétend pas avoir agi ainsi et elle n’apporte a fortiori pas la preuve de l’avoir fait.
5.4. Les griefs de l’appelante résumés au considérant 4.4.1 ci-dessus étant aussi présentés en rapport avec la facture de l’intimée no [444], on renvoie à ce sujet à ce qui a été dit aux considérants 4.4.2 et 4.4.3.
5.5. En rapport spécifiquement avec la facture no [444], l’appelante fait valoir dans la partie de son mémoire d’appel consacrée à l’application du droit des éléments déjà soulevés dans la partie dudit mémoire consacrée à l’établissement des faits. On renvoie sur ces points aux considérants correspondants du présent arrêt. En rapport avec les griefs en droit exposés aux pages 33 à 35 du mémoire d’appel sans lien avec une facture spécifique de B.________, on renvoie mutatis mutandis pour la facture no [444] à ce qui a été dit plus haut en rapport avec la facture no [333].
III. Facture de l’intimée no [555] du 29 mars 2017
6.1. a) Devant le Tribunal civil, B.________ a allégué qu’en novembre 2015, A.________ lui avait commandé des conteneurs à déchets de type E.________ d’une valeur de 29'840.20 francs ayant les dimensions mentionnées dans la confirmation de commande ; que ces objets avaient été livrés en décembre 2015, mais avaient présenté des difficultés lors de leur vidange ; qu’immédiatement, soit au début de l’année 2016, B.________ avait proposé de mettre à la disposition de A.________ des conteneurs analogues ; que A.________ n’avait pas retenu cette solution et qu’il avait été convenu de modifier les produits déjà livrés ; que, cette modification n’étant pas concluante, les parties étaient convenues que B.________ mette à disposition de A., de manière temporaire et gratuite afin d’avoir le temps de modifier les conteneurs E., des conteneurs de type F.________ ; qu’une fois les conteneurs E.________ modifiés et mis en conformité, A.________ avait voulu conserver les conteneurs F.________ en sus des conteneurs E.________ déjà livrés ; qu’une offre de vente lui avait été soumise le 20 janvier 2017, pour un prix de 41'925 francs, dont à déduire un rabais de 20'000 francs pour la dédommager en raison des problèmes ayant affecté la vidange des conteneurs E.________ ; qu’en date du 23 janvier 2017, une confirmation de commande avait été établie, relative à la commande par A.________ de 11 conteneurs F.________ d’un prix unitaire net de 3'214 francs et d’un conteneur aérien papier/carton d’un prix de 3'871 francs, plus divers accessoires, ainsi que les frais de transport, douane et assurances par 2'700 francs, soit un total de 47'325 francs, dont à déduire un rabais total de 25'400 francs, d’où un solde de 23'679 francs, TVA comprise ; que A.________ n’avait pas payé la facture no [555] y relative.
b) A.________ a pour sa part allégué que B.________ lui avait livré des conteneurs E.________ dont les portes de vidange étaient 8 cm trop grandes, ce qui empêchait la vidange ; qu’après avoir tenté en vain de modifier les dimensions desdites portes, B.________ avait enjoint A.________ de cesser d’utiliser ces conteneurs ; que malgré tous ces problèmes, A.________ avait, le 22 décembre 2015, payé par erreur la facture du 9 novembre 2015 relative à ces conteneurs E., à hauteur de 29'840 francs ; que l’offre de B. du 12 août 2017 n’avait été ni initiée, ni acceptée par A., qui ne lui avait donc jamais donné suite ; que B. avait alors proposé un remplacement des conteneurs E., le temps des modifications, par des conteneurs de type F. ; que les conteneurs E.________ ayant été payés, A.________ était prête à les conserver, raison pour laquelle elle avait, par courriel du 5 septembre 2017, mis B.________ en demeure de venir rechercher les conteneurs F., ce qu’elle n’avait pas fait ; que B. avait expressément admis les dommages causés à la défenderesse, puisqu’elle avait consenti un rabais de 20'000, puis de 25'400 francs à titre compensatoire du dommage subi ; que pour les transformations des neuf conteneurs E., B. lui devait 12'936 francs.
c) À l’appui de sa décision condamnant A.________ à payer à B.________ le montant réclamé dans la facture no [555], le Tribunal civil a retenu, en fait, qu’en date du 6 novembre 2015, A.________ avait écrit à B.________ qu’elle avait bien lu son offre pour les containers aériens E.________ et que : « tout me semble OK et je suis prêt à te signer le contrat d’achat » ; que B.________ avait répondu le 9 novembre 2015 qu’elle lui ferait parvenir une confirmation de commande sous peu ; qu’en date du 24 février 2016, suite à un courriel de B.________ du 19 février 2016, la serrurerie J.________ SA avait adressé une offre à B.________ portant sur la modification de huit conteneurs pour un montant de 6'940.10 francs ; que B.________ avait accepté cette offre le 24 février 2016 et en avait informé A.________ ; que le 12 août 2016, B.________ avait adressé à A.________ une facture portant sur la mise à disposition gratuite de 11 conteneurs F., jusqu’à la mise en conformité des conteneurs E. ; que le 17 août 2016 à 14h18, B.________ avait adressé à A.________ un projet de courrier dont le contenu était le suivant : « Les huit conteneurs à déchets pour papier carton livrés à votre société en décembre 2015 posent des difficultés lors de la vidange. La proposition faite par [B.] en début d’année 2016 de mettre à disposition immédiatement des conteneurs conformes et répondant aux besoins n’a pas été retenue et il a été décidé d’essayer de modifier les produits livrés. Cette dernière solution a été prise en sachant qu’un développement, dont l’issue était incertaine, était nécessaire. Malgré plusieurs essais de modification nous constatons que les résultats obtenus sont peu concluants et [B.] se voit momentanément contraint[e] de suspendre les modifications réalisées localement dans la région de Neuchâtel. En parallèle, une autre modification du containeur a été entamée par notre centre de recherche et développement en France et les premiers tests semblent concluants. La version définitive [B.] ne sera par contre pas disponible avant plusieurs mois, probablement en début 2017. Pour pallier au problème récurrent de vidange des containers livrés [B.] vous a fait une proposition dans son courriel du 12 août 2016. Nous attendons à ce titre une décision de la part de [A.]. Dans l’intervalle l’utilisation de containers non conforme à la norme européenne ne peut malheureusement pas être cautionné[e] par [B.]. Vous comprendrez certainement que nous devons retirer toute responsabilité en cas de problèmes survenus lors de la collecte de conteneurs modifiés. Nous nous excusons encore pour le préjudice causé et espérons que la solution proposée vous conviendra » ; que A.________ avait répondu à ce courriel le même jour à 15h31 dans les termes suivants : « J’ai pris connaissance de ton courrier de ce jour et confirme être en accord avec son contenu. Pour la bonne forme et conformément à l’offre reçue en date du 12 août, j’accepte de remplacer les E.________ de 4 m3 actuellement en place sur le territoire communal de Z.________ par 11 F.________ 3 m3. Je te prie d’organiser la livraison des F., j’organiserai pour ma part le transport et le stockage des E. dans l’attente de modifications ultérieures » ; que le 20 janvier 2017, B.________ avait fait parvenir à A.________ une offre, suite à la demande de celle-ci au vu de l’intitulé de ce document, portant sur l’acquisition de 11 conteneurs F.________ pour un prix de 23'679 francs, B.________ octroyant un rabais exceptionnel de 20'000 francs pour tenir compte, selon ce qu’elle allègue, des problèmes affectant la vidange des conteneurs E.________ ; que trois jours plus tard, une confirmation de commande avait été adressée à A., portant sur l’acquisition de ces conteneurs pour un montant total de 47'325 francs nets, dont à déduire un rabais exceptionnel de 25'400 francs, d’où un solde de 23'679 francs ; que B. avait enfin établi la facture no [555] datée du 29 mars 2017 pour un montant total de 23'679 francs ; que le dédommagement de A.________ sous la forme d’un rabais exceptionnel de 25'400 francs ressortait de ladite facture.
L’autorité précédente a considéré que si A.________ avait allégué n’avoir aucun intérêt à disposer du double de conteneurs prévus, elle n’avait pas allégué et n’avait pas prouvé avoir réagi à l’offre, à la confirmation de commande ou à la facture portant sur ces conteneurs. L’établissement de ces documents, sans réaction de la part de la défenderesse, tendait à attester d’une discussion entre les parties sur l’établissement de ces documents au vu notamment de l’augmentation du montant du rabais octroyé par la B.________ à A.. Ces éléments constituaient des indices sur la volonté réelle des parties. De plus, dans un courriel du 4 septembre 2017 portant notamment sur les conteneurs F. faisant l’objet de la facture en souffrance, A.________ avait indiqué que ladite facture serait soldée aussitôt que les conteneurs E.________ seraient mis en place chez ses clients. Dans ce courriel, A.________ ne contestait ni le fait d’avoir commandé les conteneurs F., ni le fait de devoir le montant ressortant de la facture no [555], mais tentait seulement d’expliquer pourquoi elle n’avait pas encore payé ladite facture. Sur la base de ces moyens de preuve, le Tribunal civil retenait que A. avait bien commandé les conteneurs F.________ et qu’elle devait donc payer à B.________ le montant de 23'679 francs selon facture no [555] du 29 mars 2017.
6.2. a) L’appelante reproche en premier lieu au Tribunal civil de ne pas avoir tenu compte du fait, ressortant des titres 12 et 118, qu’elle-même avait payé la facture de B.________ de 29'840 francs pour les conteneurs E.. Même si cette facture avait été payée par erreur, il n’en demeurait pas moins qu’elle était réglée. C. avait d’ailleurs admis : « Oui, c’est exact que [A.] a payé les conteneurs E. ». A.________ avait ainsi droit au remboursement d’un trop perçu de 6'161 francs (29'840 – 23'679).
b) La pièce déposée sous D. 2/12 est une « Confirmation de commande » du 9 novembre 2015 portant sur huit conteneurs aériens papier/carton E.________ de 4 m3, pour un total de 29'840.20 francs, TVA comprise. Quant à la pièce no 118 de la défenderesse, il s’agit d’un avis de débit portant sur un montant de 29'840.15 francs versé le 1er février 2016 par A.________ en faveur de B.. La facture no [555] porte quant à elle non pas sur huit conteneurs E., mais sur onze conteneurs F.________ et un conteneur E.. La facture no [555] et la confirmation de commande du 9 novembre 2015 portent ainsi sur des objets différents, de sorte que l’appelante ne peut pas être suivie dans son raisonnement selon lequel les éléments figurant dans la facture no [555] auraient déjà été payés le 1er février 2016. S’agissant en particulier du conteneur E. mentionné dans la facture no [555], si A.________ ne l’avait pas commandé (p. ex. en raison de défauts affectant les conteneurs de ce modèle) ou si elle pensait l’avoir déjà payé le 1er février 2016, elle n’aurait pas manqué de le signaler sans retard à B.. Dès lors qu’elle n’allègue pas et ne prouve pas l’avoir fait, il faut conclure que le conteneur E. mentionné dans la facture no [555] est un conteneur supplémentaire par rapport à ceux mentionnés dans la « Confirmation de commande » du 9 novembre 2015 (on renvoie sur ce point, mutatis mutandis, au considérant 5.3.e ci‑dessus).
6.3. a) L’appelante reproche ensuite au premier juge d’avoir omis de retenir, en fait, que les conteneurs E.________ étaient frappés de « défauts irréparables ». Dès lors que la conception du conteneur E.________ était défectueuse, il aurait été absurde de la part de A.________ de commander un conteneur E.________ supplémentaire, soit celui mentionné sur la facture no [555] ; si A.________ avait eu besoin d’un conteneur supplémentaire, elle aurait opté pour un modèle F.________.
b) Pour prouver le caractère irréparable des défauts affectant les conteneurs E., l’appelante se réfère à la déclaration de C. selon laquelle « les E.________ ne sont plus à la vente, depuis deux ou trois ans il me semble. D’autres produits sont venus sur le marché ». En vain, puisque le fait qu’un produit ne soit plus vendu ne signifie pas qu’il aurait été affecté d’un défaut irréparable. Dans l’industrie, il est au contraire usuel que les produits soient régulièrement remplacés par de nouveaux modèles. S’agissant en particulier des conteneurs E., C. a déclaré : « Il y avait des problèmes de vidanges avec les containers E.. Quand les trappes de vidange s’ouvraient, les déchets ne tombaient pas. (…). Il fallait s’aider d’une perche pour que les containers se vident. Ces difficultés s’expliquent probablement par le fait que la conception du container n’était pas très heureuse et également par le fait que les cartons étaient très fortement comprimés à l’intérieur du container. Il a été fait appel à la serrurerie J. sur conseil de [A.] pour modifier les containers. (…). Je ne sais pas si les modifications de la serrurerie ont suffi à résoudre le problème ou s’il a fallu faire appel à une autre serrurerie ». À aucun moment C. n’a déclaré que le problème affectant la trappe des conteneurs E.________ aurait été irréparable.
L’intimée fait du reste preuve d’une attitude contradictoire en alléguant, d’un côté, que les conteneurs E.________ seraient frappés de défauts irréparables et, d’un autre côté, en réclamant à B.________ le remboursement de factures pour un montant total de 12'936 francs qu’elle allègue avoir payées pour transformer les conteneurs E.________, en précisant que ces transformations n’étaient « pas pleinement satisfaisantes » – et donc qu’elle-même jugeait ces transformations à tout le moins partiellement satisfaisantes –, mais sans expliquer en quoi elles ne l’étaient pas.
Dans son mémoire d’appel, A.________ n’explique d’ailleurs toujours pas pour quelles raisons les conteneurs E.________ seraient irréparables, ni quels moyens de preuve confirmeraient ce caractère irréparable. Dans ces conditions, on ne peut pas retenir, en fait, que les conteneurs E.________ auraient été affectés de défauts irréparables, ni qu’ils étaient inutilisables par A., ni que quelques adaptations n’auraient pas permis d’en faire une option intéressante pour A.. Au contraire, B.________ a indiqué à A.________ le 17 août 2016 que les premiers tests du conteneur E.________ modifié par son service de recherche et développement en France semblaient « concluants » et que la « version définitive » serait probablement disponible « début 2017 ». De même, le fait que A.________ allègue avoir mandaté l’entreprise O.________ pour effectuer à huit reprises (huit correspondant au nombre de conteneurs E.________ initialement livrés à A.) des travaux d’adaptation de conteneurs E., chaque intervention étant facturée 1'616 francs, est un indice que moyennant des adaptations, les conteneurs E.________ pouvaient être utilisés par l’appelante (autre est la question de savoir quelle est la nature de ces travaux et s’ils doivent juridiquement être pris en charge par A.________ ou B.). En effet, si l’adaptation n’était pas satisfaisante, elle aurait été réalisée uniquement sur un conteneur test, mais pas sur les sept autres. Ainsi, contrairement à l’avis de l’appelante, la commande par A. d’un conteneur E.________ supplémentaire début 2017 n’est pas « absurde », quand bien même des problèmes ont été rencontrés avec ce modèle dès fin 2015 ou début 2016, car il est possible que les problèmes aient été dus au comportement de A.________ (p. ex. : mauvaises instructions communiquées à B., mauvaises manipulations ou mauvais entretien) et qu’il est qu’il est possible (et même probable) qu’une solution ait été trouvée pour permettre à A. d’utiliser les conteneurs E.________ ayant fait l’objet de la commande initiale de manière satisfaisante. À cet égard, on relève que le conteneur E.________ supplémentaire n’est pas mentionné uniquement dans la facture no [555] du 29 mars 2017, mais qu’il l’est aussi dans l’« Offre » du 20 janvier 2017 (mais pas dans l’offre du 12 août 2016) et dans la « Confirmation de commande » du 23 janvier 2017. Le fait que l’appelante n’ai rapidement réagi ni à l’offre, ni à la confirmation de commande, ni à son contenu, démontre qu’elle était d’accord avec ce qui y figurait (v. supra cons. 5.3.e, mutatis mutandis).
6.4. Au sujet des factures de O.________ citées ci-dessus, l’appelante se plaint que la décision querellée revient à lui faire payer « pour des conteneurs E.________ défectueux et pour lesquels elle avait dû se substituer à B.________ pour tenter de procéder aux réparations pour CHF 12'936.00 ».
Même s’il devait être établi (question qui peut souffrir de rester ouverte), le fait que l’entreprise O.________ ait effectué des travaux sur les huit conteneurs E.________ livrés par B.________ à A.________ ne signifie pas forcément que lesdits conteneurs étaient affectés de défauts, ni, en cas de défaut, que le défaut était imputable à B., ni que A. aurait adressé à B.________ un avis de défaut en temps utile (v. supra cons. 4.4.3). L’appel est insuffisamment motivé sur ce point, étant précise que la position de B.________ à ce sujet est, en résumé, que les conteneurs en question n’avaient aucun défaut, mais que A.________ avait choisi de lui commander un modèle de conteneur incompatible avec la trémie de son camion, alors qu’il appartenait à l’acquéreuse de s’assurer de la compatibilité des objets commandés avec son propre matériel. Or une telle position n’est pas d’emblée insoutenable.
6.5. L’appelante fait enfin valoir que des défauts auraient frappé les conteneurs F.. Cela ne lui est d’aucun secours, puisqu’elle ne précise pas en quoi consistent les défauts en question, ni quand elle les a constatés, ni quand elle en a avisé B. (v. supra cons. 4.3.3). Cela lui sert d’autant moins que l’allégué repose exclusivement sur les propos tenus par C.________ dans un écrit déposé sous D.10/109 qui, restitués dans leur contexte, signifient clairement que B.________ évoque des problèmes rencontrés par A.________ avec les conteneurs E., et non avec les conteneurs F., problèmes qui de surcroît ne sont pas qualifiés de défauts par B., mais résultant du choix par A. d’un modèle de conteneur incompatible avec la trémie de son camion : « Nous avons fait une proposition à la société [A.] de fournir des conteneurs E. de 4 m3. Les dimensions et l’encombrement total de ces conteneurs ont été plusieurs fois transmis et de ce fait les dimensions du produit vous étaient connues. Nous avons peut‑être été de mauvais conseils mais nous estimons qu’il n’est pas de notre responsabilité de contrôler que le conteneur rentre bien dans la trémie du camion de nos clients. Devant ces difficultés, nous nous sommes approchés de vous avec une proposition concrète et vous avons fait une offre très attractive avec des conteneurs supplémentaires F.________ en compensation du dommage causé. Cette proposition a été validée et [nous] constatons avec regrets que bien que [A.________] ait accepté notre proposition vous ne soyez actuellement toujours pas satisfait. Nous avons compris que vous feriez votre affaire de modifier ou de faire modifier par un artisan local les conteneurs ».
6.6. En rapport spécifiquement avec la facture no [555], l’appelante fait valoir dans la partie de son mémoire d’appel consacrée à l’application du droit, que dans le contrat d’entreprise, seule la livraison d’un ouvrage complet et achevé rend le prix exigible, de sorte que le prix des conteneurs que B.________ n’était pas parvenue à modifier n’était pas exigible.
6.6.1. L’appelante ne se livre à aucun raisonnement juridique (syllogisme) à l’appui de sa thèse, se contentant de mentionner les articles 82, 107, 205 et 368 CO. Elle n’explique pas davantage en quoi chacun des conteneurs E.________ livrés n’aurait pas été « un ouvrage complet et achevé ». À cet égard, il parait au contraire évident que chacun de ces conteneurs était un objet fini et pas un objet en cours de construction. Autres sont les questions de savoir si ces objets correspondaient ou non à ce que A.________ avait commandé (notamment quant aux spécificités et dimensions des trappes de vidange, et ce même si les caractéristiques se sont révélées incompatibles avec la trémie des camions de A.________) et s’ils présentaient des défauts (notamment au niveau des trappes de vidange). Sur ce point, l’appel ne répond pas aux exigences minimales de motivation prévues à l’article 311 al. 1 CPC. Le grief est irrecevable.
6.6.2. a) Par surabondance, on renvoie à ce qui a été dit au considérant 4.4.3.1.b ci-dessus en rapport avec le contrat d’entreprise, en précisant qu’en l’espèce, l’appelante ne dit pas quand la livraison a eu lieu, ni quand elle a constaté le défaut, ni quand elle en a avisé l’intimée, et qu’elle ne démontre donc pas que l’intimée n’est pas déchargée de toute responsabilité en rapport avec les problèmes de vidange rencontrés avec les conteneurs E., conformément à l’article 370 al. 1 CO ; qu’il a déjà été vu (cons. 6.3.b) que l’appelante a pu utiliser les conteneurs E. et résoudre les problèmes rencontrés au moment de leur vidange (l’appelante allègue que les transformations n’étaient « pas pleinement satisfaisantes », mais elle n’explique pas en quoi elles ne l’auraient pas été), si bien que dans ces conditions, on ne voit pas comment elle peut soutenir que, sur le principe, l’ouvrage n’a pas à être payé ; qu’en l’espèce toujours, l’appelante n’explique pas pour quelles raisons la thèse de l’intimée selon laquelle l’appelante a commandé des conteneurs inadaptés à la trémie de son camion ne pourrait pas être suivie, ni pour quelles raisons il ne lui aurait pas incombé de s’assurer de la compatibilité des objets commandés avec son propre matériel. Se contenter d’évoquer « une disproportion manifeste entre les parties (art. 21 CO) » n’est pas suffisant, sous l’angle des exigences minimales de motivation prévues à l’article 311 al. 1 CPC, ce d’autant que l’appelante n’explique pas pour quelles raisons il faudrait considérer qu’elle aurait été dans une situation de gêne, de légèreté ou d’inexpérience, et encore moins en quoi l’intimée aurait exploité cette situation.
6.7. L’appelante fait valoir qu’elle n’aurait eu aucun intérêt « à disposer du double de conteneurs confirmant ainsi la mise à disposition gratuite des conteneurs F.________ ». Il est admis que la mise à disposition des conteneurs F.________ devait initialement se faire gratuitement et provisoirement, dans l’attente de l’adaptation des conteneurs E.________ ; l’intimée allègue toutefois que l’appelante avait ensuite souhaité conserver les conteneurs F.________ en sus des conteneurs E.________ (v. supra 6.1.a). Cette version des faits a été tenue pour établie par le Tribunal civil, avec raison, pour tous les motifs déjà mentionnés. Si l’appelante n’avait pas eu l’intention d’acquérir 11 conteneurs F.________ à titre onéreux et de manière définitive, on ne s’explique l’existence ni de l’offre du 20 janvier 2017, ni de la confirmation de commande du 23 janvier 2017, ni de la facture du 29 mars 2017, portant toutes sur la fourniture par l’intimée à l’appelante de 11 conteneurs F.________ à titre onéreux et sans limitation dans le temps, et encore moins l’absence au dossier de moyens de preuve (en particulier d’écrits) documentant que l’appelante aurait rapidement réagi à ces écrits de l’adverse partie en lui indiquant qu’il n’avait jamais été convenu qu’elle acquière 11 conteneurs F.________ à titre onéreux. Que l’appelante ait subséquemment décidé une telle acquisition n’a rien d’impossible. Cela peut notamment s’expliquer par une augmentation de son volume de travail (acquisition de nouveaux clients) ou la volonté de proposer une partie de ses conteneurs à la location.
6.8. Les autres griefs se rapportent à des éléments déjà mis en avant dans d’autres parties du mémoire d’appel ; il n’y a pas lieu de répéter ce qui a été dit à ce propos.
IV. Prétentions de l’appelante en lien avec le rejet des prétentions de l’intimée
V. Prétentions de l’appelante en lien avec des prestations de nettoyage de conteneurs
8.1. a) Devant le Tribunal civil, l’appelante a allégué dans sa réponse que les parties étaient convenues que l’intimée mettait un camion-laveur à disposition de l’appelante, « laquelle l’utilisait en assumant les coûts liés au chauffeur et à l’infrastructure nécessaire liés à l’entrepôt et au nettoyage de ce camion » ; que l’intimée avait « ainsi conclu des contrats avec les communes de Y.________ et de X., et même à W. (Genève) et sous-traitait à [l’appelante] » ; que l’intimée avait « facturé et encaissé les prestations effectuées par [l’appelante] auprès des différentes communes, mais sans payer [l’appelante] » ; qu’en rapport avec ces prestations, l’appelante avait envoyé à l’intimée trois factures totalisant 33'683.10 francs (factures no [666] du 30.06.2017 pour 1'456.70 francs, no [777] du 31.07.2017 pour 11'655.60 francs et no 25396 du 30.10.2017 pour 20'570.80 francs), relatives à des prestations effectuées entre le 19 juin et le 19 septembre 2017, que cette dernière n’avait jamais payées.
L’intimée a pour sa part admis dans sa réplique avoir sous-traité à l’appelante des travaux de lavage de conteneurs, mais elle a allégué que l’appelante avait elle-même sous-traité à un tiers cette activité de nettoyage, sans l’en informer préalablement ; que le maître d’ouvrage, à savoir la commune de W.________, s’était plainte des services fournis ; que l’intimée avait réclamé des justificatifs à l’appelante pour cette sous-traitance, à réception des premières factures de cette dernière, et que les renseignements demandés ne lui avaient pas été fournis.
Dans sa duplique, l’appelante a allégué que c’était l’intimée qui lui avait demandé d’intervenir auprès de la commune de W.________ (fait admis par l’adverse partie) ; qu’elle-même avait indiqué à B.________ qu’elle avait un technicien opérateur de libre, mais qu’elle n’avait par contre pas de chauffeur disponible pour cette date-là et qu’elle devait en demander un à une société tierce, ce que C.________ avait accepté (fait contesté par l’adverse partie) ; qu’elle-même avait commencé à faire elle-même les autres lavages « même si le contrat n’était pas finalisé, puisqu’elle était dans cet état d’esprit de collaboration, de bonne foi et de bonne intelligence » et que « malgré l’absence de contrat entièrement défini, [B.] avait passé un contrat pour le lavage de 76 conteneurs enterrés de la Ville de Y. ainsi qu’à X.________ et V.________ ».
b) Le Tribunal civil a retenu que les parties admettaient que B.________ avait sous-traité des travaux de lavage de conteneurs à A.________ ; que lors de son interrogatoire, le représentant de cette dernière avait déclaré : « [e]n ce qui concerne le lavage des containers, nos relations avec B.________ se sont arrêtées brutalement. Il n’y a pas eu de discussion. Nos factures n’ont pas été payées » ; qu’en date du 20 octobre 2017, le mandataire de B.________ avait écrit à celui de A.________ : « [B.] avait en effet convenu de sous-traiter à votre cliente certains travaux de lavage de conteneurs, au moyen d’un camion qu’elle mettait à disposition de celle-ci. Ces travaux étaient chaque fois l’objet d’une mission, donc d’un contrat d’entreprise spécifique et l’on ne saurait y voir un contrat de durée. Ma cliente a appris que votre cliente avait sous-traité ces lavages à un tiers, ce qui était contraire aux accords passés. Elle a réclamé le détail des prestations fournies par votre cliente, en vue de leur facturation ; ces prestations ne lui ont pas été fournies, ce qui ne lui permet pas de facturer ces services ». Considérant que les parties admettaient toutes deux avoir conclu des contrats de sous-traitance ; qu’aucune n’alléguait les termes de ces contrats, ce qui s’expliquait par le fait que selon les titres déposés, elles n’avaient pas encore finalisé les termes de leurs relations contractuelles ; qu’il ressortait d’un courriel de A. du 17 août 2017 que les parties étaient bien en discussion concernant les termes des contrats de sous-traitance, mais qu’elles n’avaient pas encore réglé un élément essentiel de ces contrats, à savoir le prix ; qu’il ressortait du même courriel que A.________ n’était pas certaine qu’elle pourrait exécuter le travail commandé par B.________ ; que A.________ ne prouvait pas avoir effectivement exécuté « la tâche commandée par la demanderesse » ; que par courriels du 28 août 2017, B.________ avait réclamé à A.________ les justificatifs relatifs aux factures des 30 juin et 31 juillet 2017, le Tribunal civil a conclu que A.________ n’avait « pas démontré un accord des parties sur plusieurs éléments figurant dans les factures n° [666], [777] et 25396, notamment sur la mise à disposition d’un manœuvre, les frais de repas ou des forfaits, etc. » et qu’en alléguant lesdites factures, A.________ aurait dû présenter les différents postes, puisque celles-ci ne contenaient pas toutes les informations nécessaires de manière claire et complète ; ces éléments conduisaient au rejet des prétentions de A.________.
8.2. L’appelante reproche au Tribunal civil de ne pas avoir qualifié le contrat et d’avoir retenu à tort que le prix était un élément essentiel du contrat d’entreprise. Elle fait valoir que l’intimée n’avait pas contesté le caractère onéreux du contrat, mais qu’elle s'était limitée à demander les justificatifs pour les factures no [666] et no [777] et que, dans les cas où le prix n’était pas fixé d’avance ou qu’il était fixé approximativement, « [l]e processus de fixation du prix se fonde d'après la valeur du travail et les dépenses de l'entrepreneur (art. 374) et se détermine par les prestations effectuées, les frais évoqués (salaires, matériel, transport, location d'engins, les frais généraux, etc.), les frais effectivement engagés et les prix retenus pour chaque prestations ou matériel ».
Selon l’appelante toujours (passage cité en intégralité et littéralement), « le montant des factures sont dues pour les motifs qui suivent :
[A.] a détaillé les prestations à son allégué 246 et [B.] s'est déterminée et expliquée d'une manière autant vague que laconique ; les déterminations et explications sur l'allégué 246 appartiennent au bloc "243 à 248" qui correspond à tout le sous-chapitre sur les prétentions reconventionnelles liées au camion laveur et sont exprimées par un simple "rapport soit aux pièces, surplus contesté".
Au vu des détails de l'allégué 246, il appartenait à [B.________] de précisément se déterminer et s'expliquer sur chaque élément soulevé (les lieux, les dates, les heures/jours, etc. ?), à tout le moins de préciser quel élément était contesté conformément au fardeau de la contestation.
La conséquence de ce manquement est qu'il faut tenir pour établi les faits contenus dans cet allégué, de sorte que les factures sont dues. En effet, une contestation en bloc est insuffisante, puisque la contestation doit être suffisamment précise et motivée, son degré de détail étant proportionnel à celui des allégations contestées (ATF 144 III 519).
Bien qu'elle connût ainsi les détails, [B.________] n'a pas non plus contesté le prix facturé et, pour les mêmes motifs, le prix doit ainsi être tenu pour établi.
En se fondant sur la Convention collective de travail du secteur du nettoyage pour la Suisse romande (pour la période 2014 - 2017 ; fait notoire facilement accessible, par exemple sur https://www.proprete.ch/images,/cct_romande_2014-2017_-_20131127. pdf), et la grille salariale, on relève que,
· la semaine de travail est de 43 heures, soit 8 heures 36 minutes par jour (art. 10 al. CCT),
· Le tarif journalier facturé a ainsi été de CHF 159.60 et le tarif horaire qui a été facturé à [B.________] est de CHF 18.55, soit correspond à la plus basse rémunération pour des agents d'entretien (cf. annexe 2 CCT, "Grilles des salaires minimaux au 1.1.2017") et inférieur à la plus basse rémunération pour les "nettoyages spécifiques et de chantier".
8.3. Les griefs de l’appelante ne respectent pas sur ce point les exigences minimales de motivation.
8.3.1. En effet, selon l'article 311 al. 1 CPC, il incombe à l’appelant de motiver son appel, y compris lorsqu'il invoque une constatation inexacte des faits (art. 310 let. b CPC). La motivation constitue une condition légale de recevabilité, qui doit être examinée d'office (arrêt du TF du 19.08.2021 [4D_9/2021] cons. 3.3.1). L’appelant doit démontrer le caractère erroné de la motivation de la décision attaquée et son argumentation doit être suffisamment explicite pour que l'instance d'appel puisse la comprendre, ce qui suppose une désignation précise des passages de la décision qu'il attaque et des pièces du dossier sur lesquelles repose sa critique. Même si l'instance d'appel applique le droit d'office (art. 57 CPC), le procès se présente différemment en seconde instance, vu la décision déjà rendue. L'appelant doit donc tenter de démontrer que sa thèse l'emporte sur celle de la décision attaquée. Il ne saurait se borner à simplement reprendre des allégués de fait ou des arguments de droit présentés en première instance, mais il doit s'efforcer d'établir que, sur les faits constatés ou sur les conclusions juridiques qui en ont été tirées, la décision attaquée est entachée d'erreurs. Il ne peut le faire qu'en reprenant la démarche du premier juge et en mettant le doigt sur les failles de son raisonnement. Si la motivation de l'appel est identique aux moyens qui avaient déjà été présentés en première instance, avant la reddition de la décision attaquée, ou si elle ne contient que des critiques toutes générales de la décision attaquée ou encore si elle ne fait que renvoyer aux moyens soulevés en première instance, elle ne satisfait pas aux exigences de l'article 311 al. 1 CPC et l'instance d'appel ne peut entrer en matière (arrêt du TF du 09.09.2024 [4A_439/2023] cons. 4.1.1). En outre, les parties doivent formuler leurs griefs de façon complète dans le délai d’appel ou de réponse à l’appel ; un éventuel second échange d’écritures ou l’exercice d’un droit de réplique ne peut servir à compléter une critique insuffisante ou à formuler de nouveaux griefs (arrêt du TF du 30.08.2022 [4A_621/2021] cons. 3.1).
8.3.2. En l’espèce, l’appelante n’explique pas en quoi le premier juge aurait retenu à tort qu’elle n’était pas parvenue à prouver qu’elle avait effectivement exécuté les prestations faisant l’objet de ses factures nos [666], [777] et 25396, soit quels sont les moyens de preuve qui contredisent cette conclusion. Cette lacune scelle le sort du grief. Alors qu’en rapport avec les factures de l’intimée faisant l’objet des considérants 4, 5 et 6 ci-dessus, on peut se convaincre du contenu de l’accord des parties, du fait que l’intimée a effectivement livré à l’appelante tous les éléments facturés et que l’appelante n’a pas rapidement contesté que l’un ou l’autre des éléments facturés ait correspondu à une prestation effective de l’intimée, la situation est tout autre en rapport avec les factures nos [666], [777] et 25396 de l’appelante, puisqu’on ne peut pas se convaincre du contenu de l’accord des parties (l’appelante admet elle-même que « le contrat n’était pas finalisé », respectivement « l’absence de contrat entièrement défini »), d’une part, et que l’appelante n’a pas été en mesure de fournir à l’intimée les justificatifs réclamés par cette dernière en rapport avec les prestations facturées par l’appelante, d’autre part. à cela s’ajoute encore que l’appelante ne dit pas quel moyen de preuve prouverait son allégué, contesté par l’intimée, selon lequel cette dernière aurait « facturé et encaissé les prestations effectuées par [l’appelante] auprès des différentes communes ». Dans ces conditions, les griefs soulevés ne sont pas propres à modifier le sort de la cause sur ce point.
Par surabondance, non seulement l’allégué 246 dont l’appelante se prévaut ne consiste qu’en l’énoncé de dates et de villes, sans décrire quelles prestations auraient été effectuées, quand et par qui aux dates en question en faveur des villes en question, ce qui parait à première vue insuffisant (cf. ATF 144 III 519, cons. 5.2.1.2 et les arrêts cités ; arrêts du TF du 08.10.2018 [4A_11/2018] cons. 5.2.1.2. et les réf. cit. ; du 22.01.2018 [4A_281/2017] cons. 5 et les arrêts cités), mais cet allégué ne renvoie à aucun moyen de preuve propre à prouver que l’appelante aurait effectivement effectué ou payé des prestations précises correspondant aux éléments faisant l’objet des factures nos [666], [777] et 25396.
Toujours par surabondance, l’appelante ne précise pas, en rapport avec ses factures nos [666], [777] et 25396, quelles sont exactement les prestations qu’elle a effectuées ou payées à des entreprises tierces, ni en quoi ont consisté ses prestations, ce qui permet de fixer la valeur de ces prestations et quelles ont été ses dépenses et ses frais. L’appelante ne prétend pas davantage avoir fourni des allégués et des moyens de preuve sur ces points en première instance. En tout état de cause, si l’appelante avait effectivement fourni des prestations et/ou payé des entreprises tierces en rapport avec les différents postes faisant l’objet de ses factures nos [666], [777] et 25396, elle aurait dû en toute logique être en mesure d’expliquer concrètement ce qu’elle avait fait et/ou payé et de fournir les pièces propres à le prouver.
VI. Frais et dépens
Vu l’ensemble de ce qui précède, l’appel doit être rejeté, dans la mesure de sa recevabilité. L’appelante ne remet en cause les chiffres 4, 5 et 6 du dispositif querellé qu’en rapport avec l’admission de ses griefs au fond. Il n’y a donc pas lieu de revenir sur les frais de première instance.
a) Les frais judiciaires de seconde instance sont arrêtés à 6'700 francs et mis à la charge de l’appelante, qui les a avancés (art. 106 al. 1 CPC).
b) L’appelante doit en outre être condamnée à verser à l’intimée une indemnité de dépens pour la procédure d’appel. L’intimée a renoncé à produire un état de ses honoraires et frais et requis qu'il soit statué sur la base du dossier, tout en faisant valoir que l’ampleur du mémoire d'appel avait nécessité un important travail de rédaction de la réponse, justifiant qu'il soit fait application de l'article 61 al. 1 de la loi fixant le tarif des frais, des émoluments de chancellerie et des dépens en matière civile, pénale et administrative (LTFrais, RSN 164.1).
Les cantons fixent le tarif des frais (art. 96 al. 1 CPC). Selon le droit neuchâtelois, les honoraires sont proportionnés à la valeur litigieuse (art. 58 al. 1 LTFrais) et fixés dans les limites du tarif prévu à l’article 59 LTFrais, en fonction du temps nécessaire à la cause, de sa nature, de son importance, de sa difficulté, du résultat obtenu ainsi que de la responsabilité encourue par le représentant (art. 58 al. 1 LTFrais). Selon l’article 61 LTFrais, dans les causes qui ont nécessité un travail particulier, notamment lorsque les moyens de preuve ont été longs et difficiles à réunir ou à coordonner, que le dossier a pris une ampleur considérable, que les questions de fait ou de droit ont été spécialement compliquées, que le représentant assiste plusieurs parties ou que son client est opposé à plusieurs parties, l'autorité saisie peut accorder des honoraires d'un montant supérieur à celui prévu par le tarif (al. 1). À l’inverse, lorsqu'il y a une disproportion manifeste entre la valeur litigieuse et l'intérêt des parties au procès, ou entre la rémunération due d'après le tarif et le travail effectif du représentant, l'autorité saisie peut ramener les honoraires au‑dessous du minimum prévu par le tarif (al. 2). Les frais de ports, de copies et de téléphone sont calculés selon les frais effectifs ou forfaitairement à raison de 10 % des honoraires (art. 63 LTFrais).
En l’espèce, l’activité du mandataire de l’intimée en appel a consisté essentiellement dans la prise de connaissance du mémoire d’appel de 40 pages, la rédaction d’une réponse de 10 pages, la prise de connaissance du présent arrêt et des entretiens avec sa mandante (explications relatives au contenu de l’appel, à la stratégie de défense en appel et au contenu du présent arrêt). Pour l’ensemble de cette activité et compte tenu aussi de la nature, de l’ampleur et de la difficulté de la cause, l’indemnité de dépens sera arrêtée à 5'500 francs. Cela correspond à plus de 15 heures d’activité au tarif horaire de 300 francs en usage dans le canton (cf. art. 36a LI-CPP par analogie), plus l’indemnité forfaitaire pour les frais et la TVA.
Par ces motifs, LA COUR D'APPEL CIVILE
Rejette l’appel, dans la mesure de sa recevabilité.
Arrête les frais de la procédure d’appel à 6'700 francs et les met à la charge de l’appelante, qui les a avancés.
Condamne l’appelante à verser à l’intimée une indemnité de dépens de 5'500 francs pour la procédure d’appel.
Neuchâtel, le 18 septembre 2025