Faits :
A.
A.a. En vue de la vente d'un de ses biens-fonds à un tiers, C._ AG, la propriétaire, a confié à la société B._ AG, à xxx, les travaux de rénovation du bâtiment se trouvant sur ce bien-fonds.
Par contrat d'entreprise du 17 novembre 2015, la société B._ AG, en qualité de maître de l'ouvrage (ci-après: le maître de l'ouvrage ou la défenderesse ou l'intimée), par l'intermédiaire de son architecte (F._ SA) auquel elle avait confié le mandat d'architecture et de direction des travaux, a confié à l'entreprise A._ SA (ci-après: l'entreprise ou la demanderesse ou la recourante), à yyy, les travaux de ramassage, chargement, transport et traitement des déchets du chantier.
L'entreprise a oeuvré sur le chantier dès le 23 juin 2016.
Les représentants du maître de l'ouvrage, soit les employés de son architecte (D._ ou E._), ont validé tous les rapports de travail établis par l'entreprise. Les rapports établis jusqu'au 31 octobre 2016 sont contre-signés; les rapports pour les mois de novembre et décembre ne le sont pas, D._ ayant quitté le service de l'architecte le 16 décembre 2016.
A.b. L'entreprise a émis huit factures, d'un montant total de 168'959 fr. 70.
Le 3 mars 2017, l'architecte a informé l'entreprise qu'il avait donné un ultimatum au maître de l'ouvrage pour qu'il paie la facture du 19 décembre 2016; il a précisé que la dernière facture du 30 décembre 2016 n'avait pas encore été transmise pour traitement.
Le maître de l'ouvrage a payé des acomptes et un dernier montant de 18'000 fr. à fin avril 2017, soit au total 124'712 fr. 60, de sorte que le solde impayé réclamé par l'entreprise s'élève à 44'247 fr.
Les deux factures du 19 décembre et du 30 décembre 2016 s'élèvent, respectivement à 49'846 fr. 95 et à 12'400 fr. 05 (total de 62'247 fr.), de sorte qu'après le paiement de 18'000 fr. par le maître de l'ouvrage à fin avril 2017, c'est mathématiquement le solde de 44'247 fr. (62'247 fr. - 18'000 fr.) qui est litigieux.
B.
B.a. Le 15 septembre 2017, l'entreprise a ouvert action contre la société maître de l'ouvrage devant le Tribunal civil de l'arrondissement de Lausanne, concluant au paiement du montant de 44'247 fr. avec intérêts à 5 % l'an dès le 1er janvier 2017.
Le maître de l'ouvrage a conclu au rejet de la demande.
Une expertise judiciaire a été ordonnée. Dans son rapport du 15 novembre 2018, l'expert a conclu que le montant de 44'247 fr. est justifié et correspond aux travaux exécutés par la demanderesse. La défenderesse a soutenu que l'expert avait outrepassé ses compétences. Elle s'est opposée à tout complément d'expertise.
Par jugement du 23 décembre 2019, le Tribunal civil de l'arrondissement de Lausanne a admis la demande et condamné la défenderesse à payer à la demanderesse le montant de 44'247 fr. avec intérêts à 5 % l'an dès le 1er janvier 2017.
B.b. Saisie d'un appel de la défenderesse, la Cour d'appel civile du Tribunal cantonal vaudois l'a admis et, statuant à nouveau, a rejeté la demande par arrêt du 5 février 2021. Selon elle, la demanderesse n'aurait pas allégué, ni offert de prouver, les travaux litigieux.
C.
Contre cet arrêt, qui lui a été notifié le 11 février 2021, la demanderesse a interjeté un recours en matière civile au Tribunal fédéral le 15 mars 2021, concluant à sa réforme, en substance, en ce sens que sa demande soit admise et la défenderesse condamnée à lui payer le montant de 44'247 fr. avec intérêts à 5 % l'an dès le 1er janvier 2017. Subsidiairement, elle conclut à l'annulation de l'arrêt cantonal et au renvoi de la cause à la cour d'appel pour nouvelle décision dans le sens des considérants. Elle se plaint de faits arbitrairement (sic) omis, d'arbitraire dans l'établissement des faits et l'appréciation des preuves, ainsi que de violation des art. 55 al. 1, 150 al. 1, 221 al. 1 let. d CPC et 8 CC.
La défenderesse intimée conclut au rejet du recours.
La cour cantonale se réfère aux considérants de son arrêt.
Considérant en droit :
1.
Interjeté en temps utile (art. 100 al. 1 et 45 al. 1 LTF), par l'entrepreneur demandeur qui a succombé dans ses conclusions en paiement du prix de l'ouvrage (art. 76 al. 1 LTF), contre une décision finale (art. 90 LTF) prise sur appel par le tribunal supérieur du canton de Vaud (art. 75 LTF), dans une affaire civile (art. 72 al. 1 LTF), dont la valeur litigieuse est supérieure à 30'000 fr. (art. 74 al. 1 let. b LTF), le recours en matière civile est recevable au regard de ces dispositions.
2.
Sous réserve de la violation des droits constitutionnels (art. 106 al. 2 LTF), le Tribunal fédéral applique le droit d'office (art. 106 al. 1 LTF). Il n'est toutefois lié ni par les motifs invoqués par les parties, ni par l'argumentation juridique retenue par l'autorité cantonale; il peut donc admettre le recours pour d'autres motifs que ceux invoqués par le recourant, comme il peut le rejeter en opérant une substitution de motifs (ATF 135 III 397 consid. 1.4 et l'arrêt cité).
3.
La cour cantonale a rejeté la demande de l'entreprise car, même si celle-ci a allégué avoir établi huit factures, elle n'a pas allégué, ni offert de prouver en quoi consistaient les travaux réalisés et à quelle période ils ont été accomplis; quant au maître de l'ouvrage, il a contesté les allégations de manière suffisante; enfin, les faits ressortant de l'expertise ne pourraient être pris en considération, faute d'avoir été allégués (théorie des faits dits exorbitants). L'entreprise recourante invoque la violation des art. 55 al. 1, 150 al. 1, 221 al. 1 let. d CPC, ainsi que 8 CC.
3.1. Conformément à la maxime des débats (art. 55 al. 1 CPC), il incombe aux parties, et non au juge, de rassembler les faits du procès, c'est-à-dire d'alléguer les faits pertinents (fardeau de l'allégation subjectif) et d'offrir les moyens de preuve propres à établir ceux-ci (fardeau de l'administration de la preuve) (ATF 144 III 519 consid. 5.1). En vertu des art. 221 al. 1 let. d et 222 al. 2 CPC, les faits pertinents doivent être allégués en principe dans la demande, respectivement dans la réponse, et ils doivent être suffisamment motivés (charge de la motivation) pour que la partie adverse puisse se déterminer sur eux et que le juge puisse savoir quels sont les faits admis, respectivement les faits contestés sur lesquels des moyens de preuve devront être administrés (art. 150 al. 1 CPC; pour plus de détails, cf. le même arrêt consid. 5.2.1). En vertu des art. 221 al. 1 let. e et 222 al. 2 CPC, les moyens de preuve propres à établir les faits pertinents doivent également y être indiqués. Au regard de la maxime des débats, la personne de l'allégant importe peu: il suffit que les faits fassent partie du cadre du procès pour que le juge puisse en tenir compte. Il n'en demeure pas moins que celui qui supporte le fardeau de la preuve (art. 8 CC) et donc, en principe, le fardeau de l'allégation objectif, a toujours intérêt à alléguer lui-même les faits pertinents, ainsi qu'à indiquer au juge ses moyens de preuve, pour qu'ils fassent ainsi partie du cadre du procès (ATF 143 III 1 consid. 4.1; arrêts 4A_560/2020 du 27 septembre 2021 consid. 5.1.1 et 5.1.2; 4A_288/2018 du 29 janvier 2019 consid. 3.1.2; 4A_11/2018 du 8 octobre 2018 consid. 6.1, non publié in ATF 144 III 519; 4A_559/2016 du 18 janvier 2017 consid. 3.1; 4A_555/2015 du 18 mars 2016 consid. 2.3; 4A_566/2015 du 8 février 2016 consid. 4.2.1).
3.2. En ce qui concerne l'allégation d'une facture (ou d'un compte), le demandeur doit en principe en alléguer les différents postes dans sa demande. La jurisprudence admet toutefois qu'il n'y indique que le montant total lorsqu'il peut se référer à, et produire, une pièce qui contient toutes les informations nécessaires de manière claire et complète, au point que l'exigence de la reprise du détail de la facture dans les allégués de la demande n'aurait pas de sens. Il ne suffit pourtant pas que la pièce produite contienne, sous une forme ou sous une autre, lesdites informations. Leur accès doit être aisé et aucune marge d'interprétation ne doit subsister (ATF 144 III 519 consid. 5.2.1.2; arrêts 4A_535/2018 du 3 juin 2019 consid. 4.2.1; 4A_281/2017 du 22 janvier 2018 consid. 5, spéc. 5.3).
Aussi, en présence de différentes factures, le demandeur peut se contenter d'alléguer celles-ci avec référence aux pièces qu'il produit à leur appui si leur contenu est détaillé et explicite.
3.3. Le défendeur doit contester les faits dans sa réponse (art. 222 al. 2, 2e phrase, CPC). Si, en principe, il peut se contenter de contester les faits allégués par le demandeur, il doit, dans certaines circonstances exceptionnelles, concrétiser sa contestation (charge de la motivation de la contestation), de façon que le demandeur puisse savoir quels allégués précis sont contestés et, partant, puisse faire administrer la preuve dont le fardeau lui incombe; plus les allégués du demandeur sont motivés, plus les exigences de contestation de ceux-ci par le défendeur sont élevées.
Ainsi, en présence de différentes factures, alléguées avec référence aux pièces produites dont le contenu est détaillé et explicite, il appartient au défendeur d'indiquer quelles factures et précisément quelles positions de la facture il conteste, à défaut de quoi la facture ou la position sera censée admise et n'aura donc pas à être prouvée (art. 150 al. 1 CPC; ATF 144 III 519 consid. 5.2.2.3; 117 II 113 consid. 2; arrêts 4A_535/2018 précité consid. 4.2.2; 4A_281/2017 précité consid. 5.3; cf. DANIEL BRUGGER, Der Verweis auf Beilagen in Rechtsschriften, RSJ 2019 p. 533 ss).
3.4.
3.4.1. En l'espèce, la demanderesse a allégué dans sa demande huit factures, en mentionnant leur numéro, leur date et leur montant, ainsi que le montant total dû (allégué 11), et elle a produit ces factures sous pièces 7 à 14, comme moyens de preuve. Elle a également allégué que, puisque la défenderesse avait payé des acomptes de 124'712 fr. 60, le solde qui lui restait dû était de 44'247 fr. (allégué 12). Enfin, elle a allégué et produit à l'appui de chacune de ces factures les rapports de travail correspondants (plusieurs pour chaque facture), validés par la défenderesse (allégué 14) (art. 105 al. 2 LTF).
C'est à raison que l'entreprise recourante reproche à la cour cantonale d'avoir fait porter son examen sur huit factures, qu'elle n'aurait pas alléguées, ni offert de prouver. En effet, bien que la défenderesse ait contesté en bloc toutes les factures, il ressort de ses allégués propres qu'elle en a en réalité admis et acquitté six, ne contestant pas les travaux effectués du 1er juin au 1er novembre 2016 (art. 105 al. 2 LTF).
A l'issue de l'échange d'écritures, seules deux factures (N° 16-0876 et N° 16-1018) demeuraient litigieuses et devaient être prouvées (art. 150 al. 1 CPC). Quant au solde de 44'247 fr., on ne peut suivre la cour cantonale qui estime qu'il n'est pas aisément accessible: en effet, après le paiement de 18'000 fr. par le maître de l'ouvrage à fin avril 2017, c'est mathématiquement le solde de 44'247 fr. (49'846 fr. 95 + 12'400 fr. 05 - 18'000 fr.) qui est demeuré litigieux. En l'absence de tout grief, il n'y a pas lieu de se prononcer sur le point de savoir sur laquelle de ces deux factures le montant de 18'000 fr. doit être imputé.
3.4.2. En ce qui concerne la facture du 19 décembre 2016 (N° 16-0876) du montant de 49'846 fr. 95, la demanderesse en a allégué le montant, a produit sa facture de 5 pages et 31 rapports de travail y relatifs (pièce 12 et annexes). Cette facture concerne les travaux effectués par l'entreprise durant le mois de novembre 2016. Elle détaille, par jour de travail, trois ou quatre positions et le montant dû pour chacune, avec indication de la quantité et du prix unitaire, lesquelles correspondent aux rapports établis pour chaque jour de travail. C'est à tort que la cour cantonale a considéré, dans sa motivation concernant en bloc les huit factures, que la demanderesse ne l'avait pas alléguée valablement. Il s'agit manifestement d'une facture détaillée et explicite et il y a lieu d'examiner si le montant en est dû.
La défenderesse a contesté cette facture en faisant valoir qu'en novembre 2016, les travaux de rénovation de l'immeuble étaient terminés. Ce faisant, elle conteste que la demanderesse ait effectué des travaux en novembre 2016. La cour cantonale ne s'étant pas prononcée sur ce point, il y a lieu d'y suppléer en se basant sur les faits constatés dans l'arrêt cantonal.
3.4.2.1. Selon l'arrêt attaqué, les représentants du maître de l'ouvrage ont validé tous les rapports de travail établis par la demanderesse (p. 5 3e par.). Or, la défenderesse intimée ne taxe pas cette constatation d'arbitraire, se limitant à se prévaloir d'un défaut d'allégation de la part de la demanderesse, lequel vient d'être rejeté. Dès lors que les déclarations du représentant, comme ce qu'il savait ou devait savoir, doivent être imputées au représenté conformément à l'art. 32 al. 1 CO (ATF 140 III 86 consid. 4.1; arrêts 4A_76/2019 du 15 juillet 2020 consid. 5.1; 4A_562/2019 du 10 juillet 2020 consid. 4), ce que semble ignorer l'intimée, il en découle que la validation des rapports de travail par les employés de l'architecte était imputable au maître de l'ouvrage, que ces rapports sont par conséquent censés acceptés par celui-ci et, avec eux, le montant de la facture correspondante (art. 150 al. 1 CPC). Il n'est en effet pas invoqué par le maître de l'ouvrage que la facture ne reprendrait pas fidèlement les rapports de travail.
3.4.2.2. Par ailleurs, il ressort des faits constatés, d'une part, que D._, qui s'occupait de la surveillance des travaux pour l'architecte qui représentait le maître de l'ouvrage, a, dans un SMS du 16 décembre 2016, validé les rapports de travail de novembre en répondant à la demanderesse: " c'est ok pour moi. Envois la facture à E._ " (SMS produit en annexe à la pièce 12); d'autre part, il en ressort également que ledit E._, chef de projet auprès de l'architecte, a donné un ultimatum au maître de l'ouvrage le 3 mars 2017 pour qu'il paie deux factures, dont la N° 16-0876 (p. 7 in fine). Les rapports ont donc bien été validés par ces deux employés de l'architecte, validation qui est imputable au maître de l'ouvrage.
3.4.3. Quant à la seconde facture litigieuse du 30 décembre 2016 (N° 16-1018) d'un montant de 12'400 fr. 05, elle a été alléguée; dite facture au contenu détaillé est produite sous pièce 13 et elle est accompagnée de huit rapports de travail. Elle concerne les travaux effectués par l'entreprise du 1er au 16 décembre 2016.
Comme la précédente facture, celle-ci détaille aussi, par jour de travail, trois ou quatre positions et le montant dû pour chacune, avec indication de la quantité et du prix unitaire, lesquelles correspondent aux rapports établis pour chaque jour de travail. C'est à tort que la cour cantonale a considéré, dans sa motivation concernant en bloc les huit factures, que la demanderesse ne l'avait pas alléguée valablement. Il s'agit manifestement d'une facture détaillée et explicite et il y a lieu d'examiner si le montant en est dû.
La défenderesse a fait valoir le même motif que pour la précédente facture, contestant tous les travaux à compter du mois de novembre 2016. La cour cantonale ne s'étant pas prononcée sur ce point, il y a lieu d'y suppléer en se basant sur les faits constatés dans l'arrêt cantonal.
3.4.3.1. Or, comme pour la précédente facture, on constate que l'arrêt attaqué retient que les représentants du maître de l'ouvrage ont validé tous les rapports de travail établis par la demanderesse, même si seuls ceux concernant la période jusqu'au 31 octobre 2016 ont été contresignés (p. 5 3e par.), et que la défenderesse intimée n'a pas soulevé d'arbitraire à cet égard dans sa réponse. Il s'ensuit que les rapports de travail ont été acceptés et que cette acceptation est imputable au maître de l'ouvrage.
3.4.3.2. Par ailleurs, il ressort du témoignage du représentant de l'architecte E._, chargé du projet, qu'il a " validé tous les rapports de travail établis par la demanderesse avec l'intention de négocier la facture finale sur les dernières prestations effectuées en décembre 2016 " et qu'il a indiqué que le nombre de m3 de déchets évacués pourrait être critiqué, mais qu'" il était peu probable que la demanderesse ait gonflé le nombre d'heures effectuées, puisque D._ était présent et contrôlait tout " (p. 5-6). Il en découle que le nombre d'heures a été admis par l'architecte représentant du maître de l'ouvrage. Faute de contestation motivée de la défenderesse, que ce soit en procédure cantonale ou dans sa réponse au présent recours, le nombre de m3 de déchets évacués facturés doit également être considéré comme admis.
4.
En conclusion, le recours doit être admis et la défenderesse doit être condamnée à payer à la demanderesse le montant de 44'247 fr. avec les intérêts réclamés, ceux-ci ne faisant l'objet d'aucun grief.
Il s'ensuit qu'il est superflu d'examiner les autres griefs des parties.
Les frais judiciaires et les dépens doivent être mis à la charge de la partie intimée qui succombe (art. 66 al. 1 et 68 al. 1 et 2 LTF).
La cause sera renvoyée à la cour cantonale pour nouvelle décision sur les frais et dépens des instances cantonales.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis et l'arrêt attaqué est réformé en ce sens que la demande est admise et la défenderesse condamnée à payer à la demanderesse le montant de 44'247 fr. avec intérêts à 5 % l'an dès le 1er janvier 2017.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de l'intimée.
3.
L'intimée versera à la recourante un montant de 2'500 fr. à titre de dépens.
4.
La cause est renvoyée à la cour cantonale pour nouvelle décision sur les frais et dépens des instances cantonales.
5.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Cour d'appel civile.
Lausanne, le 21 décembre 2021
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Hohl
La Greffière : Raetz