Sachverhalt:
A.
Mit Urteil vom 7. Februar 2018 erteilte das Bezirksgericht Bülach der B._ GmbH gegenüber der A._ AG in der Betreibung Nr. xxx des Betreibungsamtes U._ provisorische Rechtsöffnung für Fr. 6'480.-- nebst 5 % Zins seit 15. Januar 2017, für die Betreibungskosten sowie Kosten und Entschädigung gemäss diesem Urteil. Mit Verfügung vom gleichen Tag trat das Bezirksgericht auf eine von der A._ AG erhobene Widerklage über Fr. 11'360.90 nicht ein.
B.
Gegen jenes Urteil erhob die A._ AG am 27. Februar 2018 Beschwerde an das Obergericht des Kantons Zürich. Sie verlangte die Aufhebung des Rechtsöffnungsurteils und die Verweigerung der Rechtsöffnung.
Mit Urteil vom 22. März 2018 wies das Obergericht die Beschwerde ab.
C.
Am 14. Mai 2018 hat die A._ AG (Beschwerdeführerin) Beschwerde in Zivilsachen und subsidiäre Verfassungsbeschwerde an das Bundesgericht erhoben. Sie verlangt die Aufhebung des obergerichtlichen Urteils und die Verweigerung der Rechtsöffnung. Allenfalls sei die Sache an das Obergericht zur Neubeurteilung zurückzuweisen.
Das Bundesgericht hat die Akten beigezogen, aber keine Vernehmlassungen eingeholt.

Erwägungen:
1.
Die Beschwerde erreicht den Streitwert für eine Beschwerde in Zivilsachen nicht (<ref-law>). Die Beschwerdeführerin sieht jedoch eine Rechtsfrage von grundsätzlicher Bedeutung (<ref-law>) darin, unter welchen Voraussetzungen ein Rechtsöffnungstitel vorliege und ob die von der B._ GmbH (Beschwerdegegnerin) vorgelegten Unterlagen als Rechtsöffnungstitel gelten. Eine Rechtsfrage von grundsätzlicher Bedeutung ist nur zurückhaltend anzunehmen. Sie liegt vor, wenn ein allgemeines und dringendes Interesse besteht, dass eine umstrittene Frage höchstrichterlich geklärt wird, um eine einheitliche Anwendung und Auslegung des Bundesrechts herbeizuführen und damit eine erhebliche Rechtsunsicherheit auszuräumen (<ref-ruling> E. 1 S. 165; <ref-ruling> E. 1.2 S. 161; <ref-ruling> E. 1.3 S. 503; <ref-ruling> E. 1.1 S. 582 f.; je mit Hinweisen). Soweit es hingegen lediglich um die Anwendung von Grundsätzen der Rechtsprechung auf den Einzelfall geht, handelt es sich nicht um eine Rechtsfrage von grundsätzlicher Bedeutung (BGE <ref-ruling> E. 1.3 S. 503 mit Hinweisen). So verhält es sich im vorliegenden Fall, wie sich bereits aus der Bezugnahme der Beschwerdeführerin auf die von der Beschwerdegegnerin vorgelegten Unterlagen ergibt. Es geht einzig um deren Auslegung im konkreten Fall und um die Anwendung von etablierten Rechtsprechungsgrundsätzen.
Die Beschwerde in Zivilsachen ist damit unzulässig und die Eingabe ist als subsidiäre Verfassungsbeschwerde zu behandeln. In einer Verfassungsbeschwerde kann nur die Verletzung verfassungsmässiger Rechte gerügt werden (<ref-law>). Verfassungsrügen müssen gemäss dem strengen Rügeprinzip von Art. 117 i.V.m. <ref-law> in der Beschwerde präzise vorgebracht und begründet werden. Dies bedeutet, dass anhand der Erwägungen des angefochtenen Entscheids klar und detailliert darzulegen ist, inwiefern verfassungsmässige Rechte verletzt worden sein sollen (<ref-ruling> E. 3.1 S. 399; <ref-ruling> E. 2.4 S. 368).
2.
Als Rechtsöffnungstitel reichte die Beschwerdegegnerin eine Offerte vom 26. September 2016 ein, worin sie der Beschwerdeführerin die Erstellung von Baugesuchsplänen für einen Dachstockausbau zu einem Fixpreis von Fr. 6'480.-- (Fr. 6'000.-- zuzüglich Fr. 480.-- MwSt.) angeboten hatte. Die Beschwerdeführerin hat die Offerte am 11. Oktober 2016 unterzeichnet.
Vor Obergericht machte die Beschwerdeführerin geltend, das Zahlungsversprechen unterstehe einer Suspensivbedingung. Die volle Entschädigung werde erst fällig, wenn die Pläne von den Behörden genehmigt würden. Das Bauamt habe die Pläne jedoch zurückgewiesen. Das Obergericht hat dazu erwogen, in der Offerte sei unter "Zahlung" angegeben:
"10 Tage rein netto, nach Abschluss des Projektes. Wir erlauben uns, bei Auftragsbeginn und je nach Projektfortschritt entsprechende Akontorechnungen auszustellen. Diese Akontorechnungen werden bei der Schlussabrechnung mitberücksichtigt und verrechnet."
Handschriftlich seien die Zahl "10" durch "30" überschrieben und folgende Ergänzungen angefügt worden:
"1 30 % nach beauftragung 2 30 % ca in der Mitte 3 40 % nach einreichung der Baueingabe mit bestätigung der einreichung zu 100 %"
Das Obergericht hat diese Vereinbarungen nach dem Vertrauensprinzip ausgelegt. Mit den handschriftlichen Ergänzungen würden Zeitpunkt und Umfang der Akontozahlungen genauer definiert. Mit "Abschluss des Projektes" im Vordruck könne nur der Abschluss des offerierten Projektes der Planerstellung gemeint sein. Ob mit der handschriftlichen Ergänzung "einreichung der Baueingabe" und "bestätigung der einreichung" der Abschlusszeitpunkt geändert und nach hinten verschoben worden sei, könne mangels Relevanz offenbleiben. Der Unterschied betrage nur einen Tag, denn die Beschwerdeführerin habe der Beschwerdegegnerin am 15. Dezember 2016 bestätigt, die Pläne erhalten zu haben und dass sie sie am Folgetag mit dem Bauamt besprechen werde, was zwingend heisse, dass sie diese dann eingereicht habe. Die Beschwerdeführerin habe nicht geltend gemacht, die Besprechung oder Einreichung sei nicht erfolgt. In den handschriftlichen Änderungen und im Vordruck bestünden hingegen nicht die geringsten Anhaltspunkte dafür, dass für die Zahlungspflicht die Pläne zusätzlich von der Baubehörde noch genehmigt worden sein müssten.
Das Obergericht hat sodann festgehalten, die Beschwerdegegnerin habe der Beschwerdeführerin mit Rechnung vom 3. April 2017 einen Betrag von Fr. 7'290.-- verrechnet und diesen Betrag in der Folge auch betrieben. Der Einwand der Beschwerdeführerin, dass die Beschwerdegegnerin für diesen Betrag keine Schuldanerkennung habe, sei zwar richtig, jedoch irrelevant, denn sie verlange Rechtsöffnung nur für den Betrag von Fr. 6'480.--. Für diesen Betrag bestehe mit der unterzeichneten Offerte ein Rechtsöffnungstitel. Der Betrag sei klar ausgewiesen und als Fixpreis vereinbart. Dass die Beschwerdegegnerin (in der genannten Rechnung) noch Mehr- und Minderleistungen abgerechnet habe, ändere nichts daran, dass die Beschwerdeführerin den Fixpreis akzeptiert habe. Dem Rechtsöffnungstitel als zweiseitigem Vertrag hätte die Beschwerdeführerin die Einwendung des nicht bzw. nicht gehörig erfüllten Vertrags entgegenhalten können. Die Beschwerdeführerin beanstande jedoch die bezirksgerichtliche Erwägung nicht konkret, wonach sie dies nicht getan habe, weil sie keine Mängelrüge erhoben habe.
3.
3.1. Die Beschwerdeführerin wirft dem Obergericht eine Verletzung der Begründungspflicht im Zusammenhang mit ihrem Einwand vor, der Betrag sei erst geschuldet, wenn die Pläne von den Behörden genehmigt worden seien. Das Obergericht habe sich mit der lapidaren Feststellung begnügt, dass Anhaltspunkte dafür fehlen würden.
Diese Rüge trifft nicht zu. Das Obergericht hat sich vielmehr ausführlich mit dem Einwand der Beschwerdeführerin befasst (vgl. oben E. 2). Dass die Beschwerdeführerin das obergerichtliche Auslegungsergebnis nicht teilt, beschlägt nicht die Begründungspflicht als Teilgehalt des Anspruchs auf rechtliches Gehör (<ref-law>; vgl. dazu <ref-ruling> E. 5.2 S. 236; <ref-ruling> E. 5.1 S. 237; <ref-ruling> E. 3.2.4 S. 41; je mit Hinweisen).
3.2. Die Beschwerdeführerin wirft dem Obergericht Willkür bei der Auslegung vor. Sie hält ihre Lesart (Abschluss des Projekts bzw. Zahlungspflicht erst bei Genehmigung der Pläne durch die Behörden) als die für sie einzig sinnvolle, was auch der Beschwerdegegnerin erkennbar gewesen sei. Nur Pläne, die genehmigt worden seien, hätten für sie einen Mehrwert.
Willkürlich ist ein Entscheid nach konstanter Praxis nicht schon dann, wenn eine andere Lösung ebenfalls als vertretbar oder gar zutreffender erscheint. Willkür in der Rechtsanwendung liegt nur vor, wenn der angefochtene Entscheid offensichtlich unhaltbar ist, mit der tatsächlichen Situation in klarem Widerspruch steht, eine Norm oder einen unumstrittenen Rechtsgrundsatz krass verletzt oder in stossender Weise dem Gerechtigkeitsgedanken zuwiderläuft; dabei ist erforderlich, dass der Entscheid nicht nur in der Begründung, sondern auch im Ergebnis willkürlich ist (<ref-ruling> E. 2.1 S. 18 f. mit Hinweisen). Entsprechendes gilt auch für die Willkür bei der Sachverhaltsfeststellung (<ref-ruling> E. 2.3 S. 266; <ref-ruling> E. 3.1 S. 178; je mit Hinweisen).
Die Beschwerdeführerin trägt nichts vor, was die Auslegung des Obergerichts als willkürlich erweisen könnte. Sie beschränkt sich vielmehr auf die Darstellung ihrer eigenen Rechtsauffassung. Insbesondere kann sie aus dem in die gedruckte Offerte eingefügten handschriftlichen Passus "nach einreichung der Baueingabe mit bestätigung der einreichung zu 100 %" nichts zu ihren Gunsten ableiten. Die Einreichung der Baueingabe ist offenkundig nicht dasselbe wie die Genehmigung der Baueingabe, und was eine Bestätigung der Einreichung zu 100 % sein soll, bleibt unklar. Auch aus ihrem E-Mail vom 15. Dezember 2016 kann sie nichts ableiten. Es ist unklar, auf welches Aktenstück sie sich bezieht. Sofern sie sich auf dasjenige E-Mail vom 15. Dezember 2016 bezieht, welches vom Obergericht erwähnt und behandelt worden ist (act. 3/4; oben E. 2), so findet sich darin entgegen ihren Behauptungen keine Textstelle, wonach nun die Rückmeldung der Baubehörden abgewartet werden müsse.
3.3. Die Beschwerdeführerin macht ausserdem geltend, sie habe die Einrede der Schlechterfüllung erhoben. Die gegenteilige Erwägung des Obergerichts sei aktenwidrig. Die damals nicht anwaltlich vertretene Beschwerdeführerin habe vor Bezirksgericht Widerklage erhoben. Aus der Begründung der Widerklageforderung sei ersichtlich, dass sie der Beschwerdegegnerin Schlechterfüllung vorwerfe.
Die Ausführungen über den angeblichen Inhalt der Begründung der Widerklage finden im angefochtenen Urteil keine Stütze. Mangels genügender Willkürrüge sind diese Behauptungen über den prozessualen Sachverhalt unzulässig und unbeachtlich. Die Beschwerdeführerin übergeht sodann, dass ihr das Obergericht vorgehalten hat, diesen Punkt in der kantonalen Beschwerde nicht genügend begründet, d.h. sich mit den bezirksgerichtlichen Erwägungen nicht genügend auseinandergesetzt zu haben.
Die Beschwerdeführerin macht schliesslich geltend, das Obergericht habe selber festgehalten, dass die Beschwerdegegnerin Minderleistungen abgerechnet habe. Die Beschwerdegegnerin habe somit selber anerkannt, nicht alle vertraglich vereinbarten Leistungen erbracht zu haben.
Die Beschwerdeführerin setzt sich auch in diesem Zusammenhang nicht damit auseinander, dass sie in ihrer Beschwerde an das Obergericht nicht konkret auf das Thema der Schlechterfüllung (bzw. die entsprechenden bezirksgerichtlichen Erwägungen) eingegangen ist. Darüber hilft unter dem Gesichtswinkel des Willkürverbots nicht hinweg, dass das Obergericht selber festgehalten hat, die Beschwerdegegnerin habe Mehr- und Minderleistungen abgerechnet. Es ist nämlich nichts darüber festgestellt, wie sich diese Mehr- und Minderleistungen genau zur Offerte, zum darin vorgesehenen Leistungsumfang und zum darin als solchen bezeichneten Fixpreis verhalten. Insbesondere behauptet die Beschwerdeführerin selber nicht, die Beschwerdegegnerin hätte - entgegen dem von ihr vorgelegten Rechtsöffnungstitel - anerkannt, nicht den vollen darin vereinbarten Betrag von Fr. 6'480.-- zugute zu haben.
3.4. Die Beschwerde ist folglich abzuweisen, soweit auf sie eingetreten werden kann.
4.
Bei diesem Ausgang des Verfahrens trägt die Beschwerdeführerin die Gerichtskosten (<ref-law>).

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird als subsidiäre Verfassungsbeschwerde entgegengenommen.
2.
Die Verfassungsbeschwerde wird abgewiesen, soweit darauf einzutreten ist.
3.
Die Gerichtskosten von Fr. 2'500.-- werden der Beschwerdeführerin auferlegt.
4.
Dieses Urteil wird den Parteien und dem Obergericht des Kantons Zürich, I. Zivilkammer, schriftlich mitgeteilt.
Lausanne, 6. März 2019
Im Namen der II. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Das präsidierende Mitglied: Escher
Der Gerichtsschreiber: Zingg