Faits :
A.
B._ est titulaire de la raison individuelle C._, dont le but est l'importation et l'exportation de fruits et légumes.
Le 18 novembre 2015, en exécution d'un contrat de vente conclu la même année avec A._ SA (ci-après: l'acheteuse), B._ (ci-après: le vendeur) a livré trente-trois palettes d'oranges d'un poids total de 21'000 kg. Le prix convenu était de 69 centimes par kilogramme, soit 14'490 fr. au total.
Après le déchargement de deux ou trois palettes d'oranges, l'acheteuse a décidé d'effectuer un premier contrôle par sondage de leur qualité à l'aide d'un réfractomètre, en présence du vendeur. Puis, son chef des achats a goûté les oranges livrées et constaté qu'elles étaient très acides. Estimant que la qualité des fruits ne correspondait pas à celle qui avait été convenue, il a fait cesser le déchargement et a refusé la livraison. Aucun bulletin de livraison n'a été signé par les parties.
Comme le vendeur n'avait pas de dépôt, l'acheteuse a accepté, à bien plaire, de stocker les agrumes pour une courte durée, mais au plus tard jusqu'au 30 novembre 2015. Le vendeur pouvait accéder en tout temps au local pour disposer de sa marchandise.
Le 18 novembre 2015, le vendeur s'est rendu auprès de l'acheteuse pour prélever un échantillon des fruits litigieux en vue d'une analyse. Celle-ci a révélé que le taux de sucre correspondait à 10,1 g pour 100 g de jus d'oranges ( rapport de D._ AG).
Le 9 décembre 2015, par l'intermédiaire de son assurance de protection juridique, l'acheteuse a imparti au vendeur un délai jusqu'au 11 décembre pour venir chercher les oranges encore stockées dans ses locaux, à défaut de quoi elle se réservait le droit de lui réclamer les frais de stockage et/ou de destruction de la marchandise.
Le 22 décembre 2015, elle lui a adressé une facture d'un montant de 3'240 fr., dont le libellé était le suivant: «stockage 30 jours, évacuation de 30 palettes d'oranges & manutention». Cette facture est restée impayée malgré une mise en demeure.
B.
Le 25 septembre 2017, au terme d'une procédure de conciliation infructueuse, B._ a saisi le Tribunal d'arrondissement de Lausanne d'une demande tendant au paiement par A._ SA de 14'490 fr. avec intérêts.
Reconventionnellement, l'acheteuse a conclu au paiement par le vendeur de 3'240 fr. plus intérêts au titre des frais de stockage des oranges.
Par jugement du 17 janvier 2019, le Président du Tribunal civil de l'arrondissement de Lausanne a rejeté la demande du vendeur et la demande reconventionnelle de l'acheteuse. Interprétant l'accord des parties selon le principe de la confiance, il a considéré qu'elles s'étaient entendues pour que la qualité des oranges soit suffisante pour permettre à l'acheteuse de commercialiser leur jus. Le vendeur devait en effet savoir que l'acheteuse produisait du jus de fruit dans un but commercial dans la mesure où, selon le site internet de cette dernière, ce produit figurait parmi ceux qu'elle vendait et qu'elle avait pour but, inscrit au registre du commerce, la distribution de produits alimentaires. Ayant pour but l'import-export de fruits et légumes et étant actif depuis plus d'une année au moment des faits, le vendeur devait connaître l'existence de normes qualitatives nationales et internationales relatives aux fruits, en particulier à la production de jus de fruit; il devait prévoir que l'acheteuse souhaiterait respecter ces normes afin d'être en mesure de commercialiser ses produits. Les oranges livrées n'étaient dès lors pas conformes à l'accord intervenu, de sorte que l'acheteuse avait à bon droit refusé la livraison et résolu le contrat. S'agissant de la conclusion reconventionnelle, le juge a estimé que l'acheteuse n'avait pas établi avoir supporté des frais, si bien qu'elle ne pouvait prétendre à un dédommagement.
Par arrêt du 20 décembre 2019, la Cour d'appel civile du Tribunal cantonal vaudois a admis l'appel interjeté par le vendeur et condamné l'acheteuse à lui verser la somme de 14'490 fr. avec intérêts à 5% l'an dès le 18 décembre 2015. Il sera revenu sur les motifs de cet arrêt dans les considérants en droit.
C.
A._ SA exerce un recours constitutionnel subsidiaire. Elle conclut principalement au rejet de la demande en paiement, subsidiairement à l'annulation de l'arrêt et au renvoi de l'affaire aux juges de première ou de seconde instance pour nouvelle décision, et encore plus subsidiairement, à la réforme de l'arrêt attaqué en ce sens qu'elle soit condamnée à verser au vendeur 13'123 fr.80 avec intérêts, représentant le montant de 14'490 fr. sous déduction du prix de trois palettes d'oranges que le vendeur aurait prétendument prélevées sur celles qui étaient stockées chez l'acheteuse (1'366 fr.20).
B._ conclut à ce que le recours soit déclaré irrecevable en raison de son but dilatoire, ou rejeté intégralement. Par ailleurs, il demande à être mis au bénéfice de l'assistance judiciaire.
La recourante a répliqué spontanément, pour maintenir ses conclusions, suscitant une duplique de l'intimé qui en a fait de même.
Pour sa part, la cour cantonale se réfère aux considérants de son arrêt.
Par ordonnance présidentielle du 24 février 2020, l'effet suspensif a été conféré au recours, à la requête de la recourante.
Considérant en droit :
1.
Le recours en matière civile n'étant pas ouvert faute d'une valeur litigieuse suffisamment élevée (art. 74 al. 1 let. a LTF), le recourant forme un recours constitutionnel subsidiaire (art. 113 LTF).
Interjeté par la partie qui a succombé dans ses conclusions libératoires et qui a donc qualité pour recourir (art. 115 LTF), le recours est dirigé contre un arrêt final (art. 90 et 117 LTF), rendu par un tribunal supérieur statuant sur recours en dernière instance cantonale (art. 75 et 114 LTF). Au surplus, il a été déposé en temps utile (art. 100 al. 1 et art. 117 LTF) et sous la forme requise par la loi (art. 119 et 42 LTF).
Il peut dès lors être entré en matière, sous réserve de la recevabilité des griefs particuliers.
2.
Comme son intitulé l'indique, le recours constitutionnel subsidiaire peut être formé uniquement pour violation des droits constitutionnels (art. 116 LTF), dont la garantie contre l'arbitraire au sens de l'art. 9 Cst. Le Tribunal fédéral n'examine que les griefs expressément soulevés et motivés conformément au principe d'allégation (art. 106 al. 2 et art. 117 LTF). Le recourant doit indiquer quel droit ou principe constitutionnel a été violé par l'autorité précédente et dans quelle mesure, en présentant une argumentation claire et circonstanciée; des critiques purement appellatoires ne sont pas admissibles (ATF 143 II 283 consid. 1.2.2 p. 286; 142 III 364 consid. 2.4 p. 368; 139 I 229 consid. 2.2 p. 232; 134 II 244 consid. 2.2 p. 246).
Au surplus, le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 118 al. 1 LTF). Il peut rectifier ou compléter les constatations de cette dernière si les faits ont été établis en violation de droits constitutionnels (art. 118 al. 2 LTF en lien avec l'art. 116 LTF). La critique de l'état de fait est ainsi soumise au principe strict de l'allégation (ATF 140 III 264 consid. 2.3 p. 266 et les références).
3.
Il résulte des faits souverainement constatés par la cour cantonale que la recourante a résolu le contrat de vente en raison de la qualité des oranges qui lui avaient été livrées.
Contrairement au premier juge, l'autorité précédente a considéré qu'il n'existait aucun accord sur la qualité des oranges livrées. Il n'était pas déterminant, dans le cadre d'une interprétation des manifestations de volonté réciproques fondée sur le principe de la confiance, que le vendeur ne se soit pas renseigné sur l'activité de l'acheteuse en parcourant son site internet ou en consultant le registre du commerce: ces consultations ne lui auraient pas permis de savoir si les oranges à livrer étaient destinées à la production de jus de fruit ou non, au vu des différentes activités et des multiples produits proposés par l'acheteuse, notamment les salades de fruits. En outre, l'expérience de l'acheteuse était manifestement plus grande que celle du vendeur, dès lors que la première nommée était active dans le domaine de l'exportation et de la distribution de produits alimentaires depuis 2002, alors que le vendeur n'était actif dans l'import-export de fruits et légumes que depuis 2014. Il n'était pas non plus possible de déduire du seul prix convenu que les agrumes commandés étaient destinés à la fabrication de jus de fruit. L'acheteuse n'établissait nullement le prix qui correspondrait à une quantité équivalente d'oranges destinées à un autre usage. Il ne suffisait pas non plus à l'acheteuse de prétendre, en appel, que les autres produits qu'elle commercialisait ne contiendraient pas d'orange, à tout le moins pas comme matière première. Ceci n'était corroboré ni par son but statutaire, ni par son site internet sur lequel figurait notamment, sous l'intitulé «prêt à manger, frais et naturel», la mention «Freshoranges». Il apparaissait d'ailleurs, sur ce site, que la société «est principalement une entreprise de production et de transformation de produits naturels ultra-frais & convenience food comme par exemple jus de fruit, salades de fruits, yogourts combinés, wraps, bagels et autres produits prêts-à-manger et prêts-à-l'emploi». Elle ne commercialisait donc pas exclusivement du jus d'orange.
Indépendamment de l'accord des parties, les oranges livrées devaient avoir les qualités attendues de bonne foi (art. 197 al. 1 CO), à savoir les propriétés qui en permettaient une utilisation normale eu égard à la catégorie à laquelle elles appartenaient. Comme les parties n'avaient pas prévu explicitement l'usage auquel la chose était destinée, la valeur Brix minimale applicable aux jus de fruit à base de concentré (11,2 pour les oranges selon l'ordonnance du DFI sur les boissons du 16 décembre 2016 [RS 817.022.12]) n'était pas déterminante. Selon l'acheteuse d'ailleurs, la valeur Brix n'était pas pertinente pour apprécier la qualité des oranges, au contraire du rapport sucre/acidité. Les oranges ayant en définitive été données par l'acheteuse à une association caritative, il apparaissait qu'elles étaient propres à la consommation, voire à un usage normal. Active depuis 2002 dans le domaine des produits alimentaires, l'acheteuse n'avait pas demandé à tester ou à goûter un échantillon des oranges avant de se faire livrer le lot entier, alors même qu'il existe différentes sortes d'oranges destinées à de multiples usages. Elle avait ainsi fait preuve de légèreté alors qu'elle avait des attentes spécifiques quant au ratio sucre/acidité, non spécifiées à son cocontractant. Il n'était ni allégué ni démontré que le vendeur aurait eu une attitude contraire à la bonne foi, notamment en omettant de détromper l'acheteuse alors qu'il savait ou aurait dû savoir qu'elle était dans l'erreur quant aux qualités de la marchandise livrée. Par conséquent, le vendeur avait bien livré une marchandise conforme aux qualités qui pouvaient être attendues de bonne foi.
4.
4.1. La recourante reproche aux juges cantonaux d'avoir appliqué arbitrairement les art. 55 et 150 CPC, ce qui les aurait conduit à constater les faits de manière arbitraire (art. 9 Cst.).
À ses dires, elle a allégué en procédure que les oranges commandées étaient destinées à la fabrication de jus. L'intimé aurait ainsi dû contester de manière détaillée cet allégué précis et indiquer explicitement que le contrat ne portait pas sur des oranges à jus. Or, il s'est borné à une contestation en bloc. En considérant que l'intimé avait valablement contesté le fait selon lequel le contrat portait sur des oranges destinées à la production de jus, la cour cantonale aurait gravement violé les règles relatives au fardeau de la contestation. Faute de contestation suffisante, elle aurait dû tenir le fait allégué pour constant, sous peine d'arbitraire dans l'établissement des faits.
4.1.1. Une décision est arbitraire, et partant contraire à l'art. 9 Cst., lorsqu'elle viole gravement une norme ou un principe juridique clair et indiscuté, ou contredit d'une manière choquante le sentiment de la justice et de l'équité. Le Tribunal fédéral ne s'écarte de la solution retenue par l'autorité cantonale de dernière instance que si sa décision apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motifs objectifs ou en violation d'un droit certain (ATF 144 III 145 consid. 2; 136 III 552 consid. 4.2).
Lorsque la maxime des débats est applicable (art. 55 al. 1 CPC; Verhandlungsmaxime; massima dispositiva), il incombe aux parties, et non au juge, de rassembler les faits du procès. Les parties doivent alléguer les faits sur lesquels elles fondent leurs prétentions (fardeau de l'allégation subjectif; subjektive Behauptungslast; onere di allegazione), produire les moyens de preuve qui s'y rapportent ( Beweisführungslast; onere di deduzione delle prove) (art. 55 al. 1 CPC) et contester les faits allégués par la partie adverse ( Bestreitungslast; onere di contestazione), le juge ne devant administrer les moyens de preuve que sur les faits pertinents et contestés (art. 150 al. 1 CPC) (ATF 144 III 519 consid. 5.1 p. 522).
En matière de constatations de fait et d'appréciation des preuves, le Tribunal fédéral n'intervient, du chef de l'art. 9 Cst., que si le juge du fait n'a manifestement pas compris le sens et la portée d'un moyen de preuve, a omis sans raisons objectives de tenir compte des preuves pertinentes ou a effectué, sur la base des éléments recueillis, des déductions insoutenables (ATF 140 III 264 consid. 2.3 p. 265; 137 III 226 consid. 4.2; 136 III 552 consid. 4.2; 134 V 53 consid. 4.3; 133 II 249 consid. 1.4.3; 129 I 8 consid. 2.1).
4.1.2. La destination des oranges commandées - en faire du jus de fruit - est un fait dont l'acheteuse entendait tirer un droit (art. 8 CC). Il lui appartenait donc de l'alléguer de manière suffisamment précise et le vendeur pouvait en principe se contenter de le contester (cf. ATF 144 III 519 consid. 5.2.1.1 p. 522 s. et consid. 5.2.2.2 p. 524).
L'allégué n° 19 de la réponse de l'acheteuse est rédigé comme suit: «S uite à plusieurs visites spontanées du représentant de la société (vende resse), une commande d'oranges à jus sous conditions de qualité a été passée». Le vendeur a simplement contesté cet allégué.
La cour cantonale pouvait sans arbitraire retenir sur cette base que l'intimé n'avait pas admis que les oranges commandées étaient destinées à la fabrication de jus. En présence d'un allégué manquant de concision, l'intimé n'avait en tout cas pas à motiver d'emblée sa contestation (cf. ATF 144 III 519 consid. 5.2.2.3 p. 524). Compte tenu de la détermination du vendeur, c'est la recourante qui devait exposer de manière plus détaillée le contenu de l'allégation de chacun des faits contestés, de façon à permettre au juge d'administrer les preuves nécessaires pour les élucider et appliquer la règle de droit matériel au cas particulier (cf. ATF 144 III 519 consid. 5.2.1.1 p. 523 et l'arrêt cité). Par ailleurs, l'intimé n'a pas admis le fait litigieux à un autre stade de la procédure. A ce propos, la recourante pose des conjectures impropres à démontrer un quelconque arbitraire en imaginant ce que l'intimé aurait fait valoir dans ses écritures s'il avait réellement ignoré la destination des oranges voulue par sa cocontractante.
Comme l'allégué correspondant avait été contesté, il appartenait à l'acheteuse de démontrer que les oranges commandées étaient destinées à la fabrication de jus. Or, la recourante ne prétend pas avoir apporté cette preuve, à tout le moins pas directement. Il faudrait, d'après elle, la déceler au travers de la manière dont le vendeur s'est comporté. Selon elle, le fait qu'il ait spontanément fait mesurer le taux de sucre/acidité des oranges après avoir voulu les livrer et avoir essuyé un refus de l'acheteuse constituerait un aveu. Il s'agit là à nouveau d'une pure hypothèse.
Dans un ultime argument, la recourante prétend que si «la destination des oranges avait été valablement contestée par l'intimé, (elle) aurait apporté les moyens de preuve permettant de prouver qu'il s'agissait d'oranges à jus», en particulier en «prouv (ant) que les oranges du calibre de celles qui ont été livrées (petit calibre entre 100 et 150 gr / pièce) sont exclusivement propres à la production de jus à l'exclusion d'autres préparations alimentaires». Il suffit de rappeler à cet égard que l'argument tiré du calibrage des fruits livrés - invoqué pour la première fois dans la réponse à l'appel - a été écarté par la cour cantonale, dans la mesure où les faits correspondants auraient dû être allégués en première instance.
En conclusion, il n'y a nul arbitraire dans la constatation des faits évoqués ci-dessus, pas plus que dans l'application des art. 55 et 150 CPC, dont la recourante serait fondée à se plaindre.
4.2. La recourante invoque également une violation de son droit d'être entendue. A cet égard, la simple citation de l'art. 29 al. 2 Cst. ne permet pas de discerner précisément de quoi la recourante se plaint. Le grief est irrecevable (cf. consid. 2 supra).
5.
La recourante se plaint d'arbitraire dans la constatation des faits (art. 9 Cst.) sur un autre point.
Elle affirme que, le 21 novembre 2018 (recte: 2015), le vendeur a fait charger, pour son compte, trois palettes d'oranges, soit 1'980 kg pour l'un de ses clients en les prélevant sur celles qui étaient stockées chez elle et en déduit que sa dette vis-à-vis du vendeur devrait être diminuée du prix correspondant.
Selon la recourante, l'intimé aurait contesté en bloc l'allégué 33 de sa réponse. Le Tribunal fédéral ne discerne aucune démonstration d'arbitraire dans cette phrase sibylline.
En outre, la recourante prétend laconiquement que l'intimé n'aurait pas contesté, dans son mémoire d'appel, le chargement de ces trois palettes, alors que le premier juge aurait admis que ces dernières avaient été retirées du stock par le vendeur sur la foi des déclarations de deux témoins. D'où le reproche adressé aux juges cantonaux qui auraient constaté, contre toute évidence, que ce chargement n'avait pas eu lieu.
La cour cantonale a considéré qu'il n'était pas établi que le vendeur ait fait charger, pour son compte, trois palettes d'oranges, soit 1'980 kg pour l'un de ses clients. Les témoignages de deux employés de la recourante qui s'étaient contentés de répondre «c'est exact» à la question correspondant à l'allégué 33 de la réponse - contesté par le vendeur - ne revêtaient pas une force probante suffisante. L'on ignorait tout des conditions de cette hypothétique transaction (prix de vente effectif, destinataire, etc.) qui n'avait pas été instruite plus avant.
La recourante méconnaît que la cour d'appel peut revoir librement l'appréciation des faits sur la base des preuves administrées en première instance, ce à quoi elle s'est employée en la circonstance. Le Tribunal fédéral ne décèle aucun arbitraire dans l'usage qu'elle a fait de ce pouvoir. Certes, il est curieux que, dans son appel, l'intimé n'ait pas thématisé le point relatif au chargement en question. Cela étant, sachant que l'intimé persistait à réclamer l'entier du prix de vente correspondant à la marchandise livrée à l'acheteuse, il n'apparaît pas arbitraire de considérer que ce chargement demeurait contesté.
6.
Sur le vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable.
Les frais judiciaires seront mis à la charge de la recourante, qui versera à l'intimé une indemnité de dépens (art. 66 al. 1 et art. 68 al. 1 et 2 LTF).
La demande d'assistance judiciaire de l'intimé devient ainsi sans objet, étant précisé que la recourante sera selon toute probabilité en mesure de payer à son adverse partie les dépens auxquels celle-ci a droit.
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 2'000 fr. sont mis à la charge de la recourante.
3.
La recourante versera à l'intimé une indemnité de 2'500 fr. à titre de dépens.
4.
La demande d'assistance judiciaire de l'intimé est sans objet.
5.
Le présent arrêt est communiqué aux mandataires des parties et à la Cour d'appel civile du Tribunal cantonal du canton de Vaud.
Lausanne, le 5 août 2020
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann