Faits :
A.
A.a. A._ et Z._ détenaient chacun 50% de la société à responsabilité limitée B._ Sàrl, dotée d'un capital social de 22'000 fr. et statutairement destinée à l'exploitation d'un bureau d'architecture ainsi qu'à l'acquisition de biens immobiliers.
Le 22 avril 2010, les deux associés ont signé une convention datée du 20 avril en vertu de laquelle Z._ vendait ses parts sociales à A._. Dans le préambule de cet accord, il était précisé que le premier acceptait de céder au second ses parts à leur valeur « nominative» [sic] de 11'000 fr. à condition de pouvoir «récupérer un montant» sur les travaux de sous-traitance en cours; le «montant total» était d'environ 240'000 fr., «avec une part admise estimative de 150'000 fr. pour le résultat à partager des villas de P1._ à xxx (VD) ».
L'article 1 de la convention énonçait le «détail des sommes à récupérer (sous forme de travaux en sous-traitance de la société X._ Sàrl) », société dont Z._ était l'associé gérant. Y figuraient les postes suivants :
«1) Enquête immeuble...* Frs 37'600,-
2) Enquête immeuble rue...* Frs 35'000,-
3) Enquête immeuble et villas P2._ (...) * Frs 35'000,-
4) Enquête immeuble (...) (solde) Frs 5'000,-
5) Chantier (...) ** Frs 10'000,-
6) Rachat des part sociales Z._
société B._ Sàrl par A._ Frs 11'000,-
7) Solde (...) Immeuble** Frs 10'000,-
8) 50% du résultat de l'opération les villas de
P1._ estim. Frs 75'000,-
(hors honoraires architecte B._ Sàrl) ***
9) Augmentation de 20'000 fr. pour Z._
(diminution de 20'000 fr. pour A._)
du résultat des villas de P1._ en
compensation du manque à gagner Z._
sur les honor.
Frs 20'000,-
Total général estimatif (résultat P1._ non connu) arr.
[= arrondi, réd.] Frs 240'000,-
* Pour autant que l'on encaisse la facture par dossier de l'enquête (permis de construire et financement), sinon au prorata du montant encaissé, 54 % pour X._ Sàrl et 46 % A._+ B._ Sàrl.
** Pour autant que l'on encaisse le montant sinon au prorata du montant encaissé.
*** A._ s'engage à transmettre une comptabilité détaillée pour la promotion afin de fournir une parfaite transparence du résultat (hors honoraires dont le solde est à B._ Sàrl pour frais de fonctionnement).»
A.b. La promotion relative à la villa P2._ (ci-après: la promotion P2._, cf. art. 1 ch. 3 de la convention du 20 avril 2010) n'a pas abouti. La municipalité a refusé d'accorder le permis de construire par décision du 23 août 2010. Il avait été convenu avec le client concerné qu'une rétribution n'interviendrait qu'en cas d'aboutissement du projet.
A.c. Le 27 mars 2012, Z._ (l'associé sortant) a adressé à A._ (l'associé restant) un courrier dans lequel il indiquait avoir reçu 184'600 fr. entre le 15 juillet 2010 et ce jour. Il rappelait qu'en application de leur convention du 20 avril 2010, un total de 240'000 fr. devait lui être payé, de sorte qu'il subsistait un solde de 55'400 fr. en sa faveur. Concernant la promotion P2._, l'associé sortant demandait «pour l'instant» 17'500 fr., soit 50% de 35'000 fr., «indépendamment de l'obtention du permis de construire» qui n'était pas de son ressort. Aussi invitait-il l'associé restant à lui verser impérativement la somme de 37'900 fr. [55'400 fr. - 17'500 fr., réd.] dans un délai de dix jours. Il requérait en outre les comptes détaillés de la promotion... (ci-après: la promotion P1._; cf. art. 1 ch. 8 de la convention), «y compris [l]es honoraires d'architecte et bénéfice», afin qu'il puisse les analyser.
L'associé restant a répondu comme il suit, par missive du 10 avril 2012:
(...) En résumé, en relation avec la convention que nous avons signée le 20 avril 2010, tous les points ont été réglés, à l'exception du point 8 « 50% du résultat de l'opération des villas de P1._, estimation (c'est nous qui soulignons) Chf 75'000.- (hors honoraires architecte B._ Sàrl). Montants reçus à ce jour: Chf 57'500.- ce qui représente une différence par rapport aux estimations de Chf 17'500.-. Sur cette somme, il te reviendrait encore un montant estimatif (non vérifié) de Chf 12'500.- pour autant que les impôts acceptent 1) le principe d'une réalisation d'un chiffre d'affaires et 2) que tu sois un sous-traitant, afin que le cas échéant, je puisse soustraire tes prestations à mon chiffre d'affaires, selon les termes de notre accord.
Le problème aujourd'hui est que les impôts ne l'entendent pas de cette oreille et voudraient me faire payer à hauteur d'environ Chf 65'000.- le bénéfice du terrain qui est selon eux de Chf 200'000.- et dont tu as reçu 50% (Chf 100'000.-) en plus de notre convention de partage! Si cela restait en l'état, je pourrais effectivement déduire de mon chiffre d'affaires les Chf 100'000.- qui t'ont été versés début 2010, mais devrais m'acquitter des impôts y relatifs, donc le résultat serait: Z._ 100'000.- / A._ 35'000.- sur un résultat qui devrait être de 50-50.
A ce jour, un recours a été déposé par ma fiduciaire sans garantie de succès. [...]»
B.
B.a. Par requête de conciliation du 27 avril 2012, l'associé sortant (Z._) et sa société (X._ Sàrl) ont assigné l'associé restant (A._) devant le Tribunal civil de l'arrondissement de La Broye et du Nord vaudois.
B.b. Le 9 mai 2012, l'associé restant a transmis au conseil des demandeurs une comptabilité détaillée de la promotion P1._, établie par sa fiduciaire. Ce décompte indiquait notamment que les «honoraires à partager» étaient de 340'000 fr. (soit 170'000 fr. pour chaque associé) et qu'au total, l'associé sortant avait droit à 170'423 fr. 77. Figurait ensuite la rubrique suivante:
«Paiements à Z._ (et à X._ Sàrl) 167'500.00 (y compris part terrain, CHF 100'000.-, versé le 7.1.2010, avant la convention) ».
B.c. La conciliation ayant échoué, l'associé sortant et sa société ont déposé le 12 septembre 2012 une demande en paiement dont la conclusion était libellée ainsi:
(...) le défendeur, A._, est le débiteur des demandeurs X._ Sàrl et Z._, personnellement, solidairement, respectivement pour la part dévolue à chacun, que justice dira, d'un montant de CHF 37'900.- (...), avec intérêt à 5% dès le 5 avril 2012, et lui en doit prompt paiement.»
Les demandeurs réservaient leurs prétentions relatives au solde dû sur la promotion P2._, par 17'500 fr., ainsi que sur la promotion P1._, leurs prétentions allant en réalité «bien au-delà» du montant dont ils exigeaient ici le paiement (all. 15-16). De leur point de vue, un montant de 80'000 fr. au moins était encore dû pour la promotion P1._ (all. 31).
L'associé restant a conclu au rejet de la demande, tout en offrant de verser 2'923 fr. 77 à titre de solde pour la promotion P1._.
B.d. En cours d'instance, une expertise a été mise en oeuvre. Un expert-comptable (...) a été désigné en qualité d'expert principal, tandis qu'un architecte (...) était nommé sous-expert.
Concernant la promotion P1._, l'expert-comptable a retenu une marge bénéficiaire de 300'847 fr. 53. Pour déterminer la part revenant à l'associé sortant et à sa société, il s'est fondé sur un décompte établi par B._ Sàrl le 20 juin 2012 (annexe II de son rapport), sur lequel est indiqué qu'un montant de 100'000 fr. a été versé à Z._, respectivement à A._, le 7 janvier 2010. L'expert s'est aussi référé à un avis de débit du 7 janvier 2010 (pièce 103) attestant que le compte de l'associé sortant a été crédité de 100'000 fr. (2 x 50'000 fr.) avec la mention «paiement suite à la vente des 4 villas à xxx (VD) ». Après avoir déduit de la participation au bénéfice les montants déjà touchés, y compris lesdits 100'000 fr., l'expert a conclu que les demandeurs avaient obtenu un trop-perçu de 7'076 fr. 23, si bien que l'associé restant ne leur devait aucun montant du chef de la promotion P1._.
Quant au sous-expert architecte, il a estimé que le bénéfice était d'au moins 310'000 fr. Il a par ailleurs confirmé que les 184'600 fr. versés aux demandeurs correspondaient aux promotions mentionnées à l'art. 1 de la convention du 20 avril 2010, sans tenir compte de la promotion P1._.
Les experts se sont également prononcés sur les honoraires d'architecte en lien avec cette promotion.
B.e. Par jugement du 3 juillet 2017, le Tribunal civil a condamné l'associé restant à verser aux demandeurs, solidairement entre eux, la somme de 37'900 fr., soit 20'400 fr. plus intérêts à 5% l'an dès le 5 avril 2012 et 17'500 fr. plus intérêts à 5% l'an dès le 12 septembre 2012.
En substance, le Tribunal a jugé que les demandeurs ne pouvaient émettre aucune prétention du chef de la promotion P2._ dès lors que ce projet n'avait manifestement pas abouti; aucun élément concret n'établissait que l'associé restant aurait perçu une quelconque rémunération.
Quant à la promotion P1._, le Tribunal a suivi le sous-expert architecte qui estimait la marge bénéficiaire à 310'000 fr. au moins. Il a jugé qu'il n'y avait pas à retrancher les 100'000 fr. que l'associé sortant avait touchés le 7 janvier 2010, car ce versement était antérieur à la convention qui ne le mentionnait pas. Si les parties avaient souhaité en tenir compte, elles l'auraient mentionné explicitement dans la convention.
Le Tribunal a dès lors admis la demande en paiement de 37'900 fr. Concernant le dies a quo de l'intérêt moratoire, il a retenu deux dates distinctes pour tenir compte du fait que le courrier du 27 mars 2012 valait mise en demeure à raison de 20'400 fr. seulement pour la promotion P1._; le solde de 17'500 fr. avait été réclamé au titre de la promotion P2._ qui ne fondait aucune prétention. Pour le départ de l'intérêt afférent à ce solde, la demande en justice était déterminante.
B.f. L'associé restant a déféré cette décision à la Cour d'appel civile du Tribunal cantonal vaudois, laquelle a rejeté son appel par arrêt du 13 juin 2018, pour des motifs qui seront évoqués ci-dessous dans la mesure nécessaire.
C.
L'associé restant (ci-après: le recourant) a saisi le Tribunal fédéral d'un recours en matière civile concluant à ce que la demande déposée le 12 septembre 2012 soit rejetée «au bénéfice de l'offre formulée en procédure».
L'autorité précédente s'est référée à son jugement.
L'associé sortant et sa société (ci-après: les intimés) ont conclu au rejet du recours.
Le recourant a répliqué, suscitant une duplique des intimés.
Considérant en droit :
1.
Les conditions de recevabilité du recours en matière civile sont réalisées sur le principe, notamment celles afférentes à la valeur litigieuse minimale de 30'000 fr. (art. 74 al. 1 let. b LTF) et au délai de recours (art. 46 al. 1 let. b et art. 100 al. 1 LTF).
2.
2.1. Le recours peut être formé pour violation du droit fédéral, notion qui inclut le droit constitutionnel (art. 95 let. a LTF; ATF 135 III 670 consid. 1.4).
Le Tribunal fédéral applique le droit d'office (art. 106 al. 1 LTF). Les motifs invoqués par les parties ne le lient pas plus que l'argumentation juridique retenue par l'autorité cantonale. Il peut donc admettre le recours pour d'autres raisons que celles invoquées par le recourant, comme il peut le rejeter en opérant une substitution de motifs (ATF 140 III 86 consid. 2 p. 89; 135 III 397 consid. 1.4). Eu égard, toutefois, à l'exigence de motivation qu'impose l'art. 42 al. 2 LTF, sous peine d'irrecevabilité (art. 108 al. 1 let. b LTF), l'autorité de céans n'examine d'ordinaire que les griefs invoqués, sauf en cas d'erreurs juridiques manifestes (ATF 140 III 115 consid. 2 p. 116). Une exigence de motivation accrue prévaut pour la violation des droits constitutionnels tels que la prohibition de l'arbitraire (art. 9 Cst.). Selon le principe d'allégation, le recourant doit indiquer quel droit ou principe constitutionnel a été violé, en expliquant de façon circonstanciée en quoi consiste la violation (art. 106 al. 2 LTF; ATF 134 II 244 consid. 2.2; 133 II 396 consid. 3.2).
2.2. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF). Il ne peut rectifier ou compléter les constatations de l'autorité précédente que si elles sont manifestement inexactes ou découlent d'une violation du droit au sens de l'art. 95 LTF (art. 105 al. 2 LTF). «Manifestement inexactes» signifie «arbitraires» au sens de l'art. 9 Cst. (ATF 140 III 115 consid. 2 p. 117; 135 III 397 consid. 1.5).
La critique de l'état de fait est soumise au principe de l'allégation évoqué ci-dessus (ATF 140 III 264 consid. 2.3 p. 266 et les références). La partie qui entend attaquer les faits retenus par l'autorité précédente doit donc expliquer clairement et de manière circonstanciée en quoi ces conditions seraient réalisées (ATF 140 III 16 consid. 1.3.1 p. 18 et les références).
L'appréciation des preuves est entachée d'arbitraire lorsque le juge s'est manifestement mépris sur le sens et la portée d'un moyen de preuve, lorsqu'il a omis, sans raison sérieuse, de tenir compte d'un moyen important propre à modifier la décision attaquée, ou encore lorsqu'il a tiré des déductions insoutenables à partir des éléments recueillis. L'arbitraire ne résulte pas du seul fait qu'une autre solution serait concevable, voire préférable (ATF 136 III 552 consid. 4.2).
3.
A ce stade, le recourant se limite à soulever les griefs suivants: la demande devrait être rejetée à concurrence de 17'500 fr. dès lors que ce montant est réclamé au titre de la promotion P2._, dont il est acquis qu'elle ne fonde aucune prétention. De toute façon, un autre motif commanderait de rejeter intégralement la demande: il faudrait en effet suivre l'avis exprimé par l'expert-comptable et déduire de la part du «résultat de l'opération (...) P1._» revenant à l'associé sortant les 100'000 fr. versés à celui-ci le 7 janvier 2010.
C'est le lieu d'examiner successivement ces deux questions.
4.
4.1. A l'appui de son premier grief, le recourant plaide que la convention du 20 avril 2010 «régl[ait] séparément plusieurs rapports de compte» et «a ainsi fait naître plusieurs prétentions distinctes». A son sens, les intimés ont exercé un cumul objectif d'actions, émettant d'une part une prétention de 17'500 fr. pour la promotion P2._, d'autre part une prétention partielle de 20'400 fr. pour le résultat de la promotion P1._. La première prétention se révélant infondée, les juges vaudois auraient dû rejeter la demande à hauteur de 17'500 fr. En allouant néanmoins 37'900 fr. pour la seconde prétention, ils auraient «modifi[é] de manière occulte l'objet du procès» en augmentant l'action partielle et «vid[é] de [leur] sens les règles relatives à la délimitation du procès».
4.2.
4.2.1. L'autonomie privée qui caractérise le droit des obligations trouve son prolongement en procédure civile dans le principe de disposition. Les parties décident de l'introduction d'un procès et en définissent librement l'objet, en indiquant ce qu'elles entendent réclamer ou reconnaître. Elles peuvent notamment cumuler plusieurs prétentions fondées sur des complexes de fait différents (cumul objectif d'actions, art. 90 CPC) ou ne faire valoir qu'une partie de leur prétention divisible (action partielle, art. 86 CPC). La conséquence principale du principe de disposition est exprimée à l'art. 58 al. 1 CPC: le tribunal ne peut accorder à une partie ni plus, ni autre chose que ce qui est demandé, ni moins que ce qui est reconnu par la partie adverse. En d'autres termes, le juge est lié par les conclusions des parties (ATF 141 III 596 consid. 1.4.5 p. 605; arrêts 4A_54/2017 du 29 janvier 2018 consid. 1.3.1 et 6.1; 4A_534/2018 du 17 janvier 2019 consid. 5.2; LAURENT GROBÉTY, Le cumul objectif d'actions en procédure civile suisse, 2018, n° 68 et les réf. citées).
Les parties doivent formuler des conclusions précises et déterminées, qui puissent être reprises dans le dispositif de jugement en cas d'admission de la demande (ATF 142 III 102 consid. 5.3.1 p. 107). Cette exigence découle notamment du principe de disposition (cf. arrêt 4A_686/2014 du 3 juin 2015 consid. 4.3.1; cf. aussi arrêt 4A_103/2008 du 7 juillet 2008 consid. 10.1; CHRISTOPH HURNI, in Berner Kommentar, 2012, n° 36 ad art. 58 CPC; BAUMGARTNER ET ALII, Schweizerisches Zivilprozessrecht, 10 e éd. 2018, § 33 n. 67). Le juge ne pouvant pas statuer ultra ou extra petita, il doit connaître exactement les limites dans lesquelles s'inscrira le dispositif de jugement (HURNI, ibidem).
Si le juge est lié par les conclusions des parties, encore faut-il préciser qu'il peut être amené à statuer sur la base de conclusions implicites (cf. FABIENNE HOHL, Procédure civile, tome I, 2e éd. 2016, nos 1200-1202 et les arrêts cités).
4.2.2. Lorsque la demande tend à l'allocation de divers postes d'un dommage, le tribunal n'est lié que par le montant total réclamé, si bien qu'il peut allouer davantage pour un des éléments du dommage et moins pour un autre, sans pour autant enfreindre la maxime de disposition (ATF 123 III 115 consid. 6d p. 119; arrêt 4A_642/2017 du 12 novembre 2018 consid. 7.2.3). Les limites dans lesquelles ce type de compensation peut être opéré doivent être fixées de cas en cas, sur le vu des différentes prétentions formulées par le demandeur (ATF 119 II 396 consid. 2). Ce procédé de compensation (ou de vases communicants) est notamment admis entre les différents postes du dommage - tort moral compris - découlant de lésions corporelles consécutives à un accident (ATF 143 III 254 consid. 3.3 in fine p. 258; 63 II 339 consid. 4 p. 346); il n'y a là qu'un seul objet de litige, reposant sur un complexe de faits unique (ATF 143 III 254 consid. 3.6 p. 260).
Lorsque le client d'une banque réclame à celle-ci une somme d'argent globale dans ses conclusions, en alléguant deux postes de dommage fondés d'une part sur des prétendus manquements de la banque en lien avec l'achat de parts d'un fonds de placement, d'autre part sur des opérations de la banque effectuées sans l'autorisation du client, le juge n'est lié que par le montant global sur lequel porte l'objet du litige. Ainsi, constatant que le premier poste se révèle infondé, le juge peut, dans les limites de ladite somme globale, allouer au demandeur un montant supérieur à celui indiqué dans ses allégués relatifs au second poste, selon ce qu'impose le droit matériel applicable d'office (arrêt précité 4A_54/2017 consid. 6.3).
4.2.3. D'après une jurisprudence récente, lorsque le demandeur intente une action partielle en paiement d'une somme d'argent dans laquelle il réunit plusieurs prétentions fondées sur des complexes de fait distincts (cumul objectif d'actions), il est désormais dispensé d'indiquer dans sa demande l'ordre d'examen et/ou l'étendue de chacune des prétentions (ATF 144 III 452 consid. 2.4 p. 460). Auparavant, cette indication avait été prescrite au nom du principe de précision des conclusions (ATF 142 III 683 consid. 5.4); le Tribunal fédéral y a toutefois renoncé, dans un revirement de jurisprudence motivé en particulier par le fait qu'il est difficile pour le demandeur de pronostiquer si le juge dénombrera un ou plusieurs objet (s) de litige dans l'action dont il est saisi (ATF 144 III 452 consid. 2.4 p. 460).
Selon des commentateurs de cet arrêt, l'auteur d'une action partielle qui veut obtenir un examen de toutes les prétentions invoquées serait bien avisé d'indiquer tout de même un ordre d'examen et/ou l'étendue de chaque prétention (RUSSENBERGER/WOHLGEMUTH, PJA 2018 1410; FRANÇOISE BASTONS BULLETTI, in CPC online, Newsletter du 4 octobre 2018, ad arrêt 4A_442/2017). Il est même suggéré au demandeur de prendre des conclusions subsidiaires pour s'assurer d'obtenir l'entier du montant réclamé, nonobstant le rejet de certaines prétentions (BASTONS BULLETTI, ibidem).
4.3. Se prévalant de la jurisprudence désormais révolue (ATF 142 III 683 précité), le recourant a commencé par dénoncer l'imprécision des conclusions des intimés et l'irrecevabilité de leur demande. Econduit par l'autorité précédente, il a renoncé à ce moyen. Désormais, il soutient en substance que les intimés ont cumulé deux actions en paiement et que le procédé des vases communicants (consid. 4.2.2 supra) ne saurait s'appliquer; l'action relative à la promotion P1._ serait ainsi plafonnée à 20'400 fr.
Il n'en est rien. La cour vaudoise a relevé que les intimés avaient réclamé un montant global dans leur conclusion, sans y apporter d'autre spécification. Elle a aussi argué du fait que les intimés s'étaient réservé le droit d'augmenter leur conclusion en fonction du résultat de la promotion P1._, dont ils avaient allégué qu'elle devait leur procurer au moins 80'000 fr.; or, ils n'avaient pas modifié leur conclusion après que les expertises eurent pourtant retenu pour ladite opération un montant largement supérieur à l'estimation de la convention du 20 avril 2012 [recte: 2010]. Comme il avait en outre été établi que la promotion P2._ ne justifiait aucune prétention, la cour vaudoise en a déduit que la conclusion en paiement de la somme de 37'900 fr. ne concernait que la promotion P1._ (arrêt attaqué, p. 13).
Le recourant objecte en substance que les intimés ne pouvaient pas modifier l'objet du procès après le dépôt des expertises et qu'ils ne l'ont pas fait, persistant jusque dans leurs plaidoiries à réclamer 17'500 fr. pour la promotion P2._. Il n'en demeure pas moins qu'on peut légitimement retenir, en tant que de besoin, une conclusion subsidiaire implicite visant à ce que le montant articulé dans les allégués pour le poste concernant cette promotion soit reporté sur l'autre poste invoqué à l'appui de la demande (promotion P1._), dans l'hypothèse où les juges ne retiendraient aucun montant du chef du premier poste.
Il est patent que dans ces circonstances, les juges vaudois n'ont pas enfreint le principe de disposition en allouant la totalité de la conclusion pécuniaire (37'900 fr.) en lien avec la promotion P1._, alors que le poste afférent à la promotion P2._ se révélait infondé. En conséquence, point n'est besoin de disserter sur des questions sans incidence sur l'issue de la cause, telle celle ayant trait au nombre d'objet (s) en litige.
Le premier grief doit ainsi être rejeté.
5.
5.1. Dans son second grief, le recourant dénonce un établissement des faits manifestement inexact, respectivement contraire au droit. Il reproche aux juges cantonaux de ne pas avoir suivi l'expert-comptable, qui a déduit 100'000 fr. du «résultat» de la promotion P1._ revenant à l'associé sortant.
5.2. Le raisonnement de la Cour d'appel vaudoise peut se résumer ainsi:
- il faut interpréter la convention du 20 avril 2012 [recte: 20 avril 2010] à la lumière du courrier du 10 avril 2012 (let. A.c supra), dont il ressort de manière univoque que le «bénéfice du terrain» - soit les 100'000 fr. versés à l'associé sortant le 7 janvier 2010 - doit être distingué du «résultat de l'opération des villas de P1._» mentionné à l'art. 1 chiffre 8 de la convention. Dans ce courrier, l'associé restant mentionne que l'associé sortant et sa société auraient déjà perçu 57'500 fr. sur les 75'000 fr. envisagés dans la convention à titre de participation au résultat de l'opération, sans mentionner ni tenir compte du montant perçu pour le bénéfice du terrain. Il précise ensuite que le montant de 100'000 fr. relatif au bénéfice du terrain a été perçu par l'associé sortant en sus de la convention, si bien que ce montant ne saurait être déduit de la part du bénéfice revenant aux demandeurs;
- L'expert-comptable s'est fondé sur un décompte établi par B._ Sàrl le 20 juin 2012, sur lequel est indiqué qu'un montant de 100'000 fr. a été versé à Z._, respectivement à A._, le 7 janvier 2010. L'expert s'est également référé à un avis de débit du 7 janvier 2010 (pièce 103), selon lequel le compte de Z._ a été crédité de deux versements de 50'000 fr. avec les communications «paiement suite à la vente des 4 villas à xxx (VD) ». Toutefois, l'expert-comptable n'a pas tenu compte des explications données par A._ dans son courrier du 10 avril 2012, dont la teneur est claire. Cet élément justifie de s'écarter de l'expertise comptable sur ce point. A cela s'ajoute que si les parties avaient voulu tenir compte du montant de 100'000 fr. versé antérieurement pour le bénéfice du terrain, elles l'auraient explicitement mentionné dans la convention (arrêt attaqué, p. 15 s.).
5.3. Ce faisant, l'autorité précédente a procédé à une interprétation subjective de la volonté des parties, en déterminant ce qu'elles entendaient par «résultat de l'opération des villas de P1._» à l'art. 1 ch. 8 de leur convention. A ainsi été tranchée une question de fait (cf. ATF 144 III 93 consid. 5.2.2). Or, cette appréciation des preuves, qui ne porte pas sur une question nécessitant en soi des connaissances spéciales, est exempte d'arbitraire.
Dans la mesure où le recourant se borne à renvoyer à son mémoire d'appel ainsi qu'à l'expertise comptable et à son annexe II, le procédé n'est pas admissible (cf. ATF 133 II 396 consid. 3.2 in fine p. 400). Par ailleurs, il tente vainement de substituer son appréciation à celle des juges d'appel en s'appuyant spécialement sur un lapsus calami de l'arrêt attaqué, lequel indique par inadvertance manifeste que la convention entre associés a été conclue le 20 avril 20 12 au lieu du 20 avril 20 10. L' erratum apparaît à d'autres endroits de l'arrêt; il ressort toutefois clairement de l'état de fait - conforme aux pièces du dossier - et de l'exposé chronologique des événements que la convention datée du 20 avril 2010 a été signée le 22 avril 2010 et qu'elle était ainsi antérieure au courrier du 10 avril 2012.
Le recourant objecte que les intimés n'ont pas allégué ni invoqué l'existence de plusieurs rapports de compte concernant la promotion P1._, qui commanderaient de distinguer entre le bénéfice du terrain et le sort des autres opérations. De même, ils n'auraient jamais allégué ni prétendu que le montant de 100'000 fr. évoqué dans le courrier litigieux correspondrait au versement du 7 janvier 2010.
Le recourant tente vainement de placer le débat sur le terrain du cadre des allégués. En réalité, il s'en prend derechef à l'appréciation des preuves qui a conduit les juges à s'écarter de l'avis exprimé par l'expert-comptable. Celui-ci a fait sien le point de vue selon lequel le versement de 100'000 fr. effectué le 7 janvier 2010 devait être considéré comme un acompte sur la «marge bénéficiaire» du projet P1._ (rapport d'expertise, p. 11), tout en précisant que ce point, notamment, divisait les parties (rapport d'expertise, p. 14). Les juges vaudois ont constaté que l'expert n'avait pas tenu compte des explications figurant dans le courrier du 10 avril 2012 - omission que le recourant ne conteste pas en soi - et ont jugé que celles-ci contredisaient l'analyse de l'expert - dans une appréciation qui n'a rien d'insoutenable, les explications de la cour cantonale étant suffisamment éloquentes à cet égard. Par surabondance, on relèvera que la correspondance entre le versement de 100'000 fr. «début 2010» qu'évoque cette missive et le versement du 7 janvier 2010 résulte déjà du décompte fourni le 9 mai 2012 (let. B.b supra), l'expert-comptable ayant lui-même lié le versement du 7 janvier 2010 à la promotion P1._.
5.4. Le recourant limite son attaque à la prise en compte des 100'000 fr. versés le 7 janvier 2010. A défaut d'autres griefs, il n'y a pas à discourir plus avant de la présente cause (cf. supra consid. 2.1).
6.
Pour les motifs qui précèdent, le recours doit être rejeté. En conséquence, le recourant supportera les frais judiciaires (art. 66 al. 1 LTF). Il versera aux intimés, créanciers solidaires, une indemnité de 2'500 fr. pour leurs frais d'avocat (art. 68 al. 1 et 2 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge du recourant.
3.
Le recourant versera aux intimés, créanciers solidaires, une indemnité de 2'500 fr. à titre de dépens.
4.
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 29 août 2019
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La présidente: Kiss
La greffière: Monti