Sachverhalt:
A. Die X._ AG, ein Unternehmen der Informatikbranche, schloss mit der Bank Y._ (nachfolgend: die Bank) im März 2008 einen Rahmen- und gleichzeitig einen Einzelwerkvertrag ab. Letzterer betraf die Lieferung eines Computersystems (Hard- und Software), für die ein Festpreis von Fr. 2'100'000.-- und als Endabnahmetermin der 30. September 2008 vorgesehen waren. Bei einer um mehr als 30 Tagen verspäteten Endabnahme verpflichtete Art. 3.3.1 des Werkvertrags die Lieferin zur Zahlung einer Konventionalstrafe von maximal 20 % des Festpreises, d.h. Fr. 420'000.--. Für den Fall einer Verspätung von mehr als 60 Tagen hatte sich die Bank das Recht vorbehalten, den Vertrag rückwirkend aufzulösen (Art. 3.3.2 des Werkvertrags), womit u.a. ein Anspruch auf Schadenersatz bis maximal den Festpreis (Art. 8.2.3 des Rahmenvertrags) verbunden war. Die Endabnahme erfolgte erst im September 2009.
B. Für die Steuerperiode 2008 deklarierte die X._ AG einen Gewinn von Fr. 226'566.-- und - nach Verrechnung mit Vorjahresverlusten - einen steuerbaren Reingewinn von Fr. 722.--, bei einem Eigenkapital von Fr. 100'000.--. Dabei nahm sie per 31. Dezember 2008 ertrags- und eigenkapitalmindernd eine Rückstellung von Fr. 400'000.-- für die gemäss dem Werkvertrag mit der Bank drohende Konventionalstrafe vor.
C. Davon abweichend stufte das Kantonale Steueramt Zürich die Rückstellung als geschäftsmässig unbegründet ein und rechnete den entsprechenden Betrag von Fr. 400'000.-- beim steuerbaren Reingewinn (Staats- und direkte Bundessteuer 2008) sowie beim steuerbaren Kapital (Staatssteuer 2008) der X._ AG auf. Diese Einschätzung wurde im Einspracheverfahren bestätigt und danach von den kantonalen Rechtsmittelinstanzen geschützt, zuletzt vom Verwaltungsgericht des Kantons Zürich mit getrennten Urteilen zur Staats- und zur direkten Bundessteuer vom 21. September 2011.
D. Am 21. November 2011 hat die X._ AG Beschwerden in öffentlich-rechtlichen Angelegenheiten beim Bundesgericht eingereicht. Betreffend die Staatssteuer (Verfahren 2C_945/2011) und die direkte Bundessteuer (2C_946/2011) beantragt sie, die verwaltungsgerichtlichen Urteile vom 21. September 2011 aufzuheben. Der steuerbare Reingewinn sei bei der Staats- und der Bundessteuer auf Fr. 700.-- festzusetzen, das für die kantonale Kapitalsteuer massgebliche Eigenkapital auf Fr. 100'000.--.
E. Das Kantonale Steueramt Zürich und das Verwaltungsgericht des Kantons Zürich schliessen auf Abweisung der Beschwerden. Dasselbe beantragt die Eidgenössische Steuerverwaltung bezüglich der direkten Bundessteuer, während sie für die Staats- und Gemeindesteuern auf einen Antrag verzichtet.
Erwägungen:
I. Prozessuales
1. 1.1 Die weitgehend gleich lautenden Beschwerden betreffen dieselben Parteien, richten sich gegen praktisch übereinstimmende Urteile und werfen identische Rechtsfragen auf. Es rechtfertigt sich deshalb, die Verfahren zu vereinigen und die Beschwerden in einem einzigen Urteil zu erledigen (vgl. Art. 71 BGG in Verbindung mit Art. 24 BZP; siehe u.a. BGE 131 V 59 E. 1 S. 60 f. mit Hinweis).
1.2 Die Beschwerden sind zulässig (vgl. Art. 82 ff. BGG in Verbindung mit Art. 146 des Bundesgesetzes vom 14. Dezember 1990 über die direkte Bundessteuer [DBG; SR 642.11] bzw. mit Art. 73 des Bundesgesetzes vom 14. Dezember 1990 über die Harmonisierung der direkten Steuern der Kantone und Gemeinden [StHG; SR 642.14]).
II. Direkte Bundessteuer
2. 2.1 Gemäss Art. 63 Abs. 1 DBG sind Rückstellungen zu Lasten der Erfolgsrechnung zulässig für: (lit. a) im Geschäftsjahr bestehende Verpflichtungen, deren Höhe noch unbestimmt ist; (lit. b) Verlustrisiken, die mit Aktiven des Umlaufvermögens, insbesondere Waren und Debitoren, verbunden sind; (lit. c) andere unmittelbar drohende Verlustrisiken, die im Geschäftsjahr bestehen, sowie (mit gewissen Einschränkungen) künftige Forschungs- und Entwicklungsaufträge (lit. d). Der Rückstellungsbegriff von Art. 63 DBG erfasst damit nebst eigentlichen Rückstellungen (vgl. Art. 669 OR) zusätzlich auch Wertberichtigungen und Rücklagen zu Sonderzwecken.
Echte Rückstellungen im Sinne von lit. a und teilweise lit. c werden vorgenommen für Verbindlichkeiten, meist Schulden, der Unternehmung, die am Ende des Geschäftsjahres bestehen, die aber ihrer Höhe nach noch ungewiss sind oder geschätzt werden müssen. Sie werden als Fremdkapitalposten durch Verbuchung unter den Passiven in der Jahresschlussbilanz zu Lasten der Erfolgsrechnung ausgewiesen. Mit der Rückstellung wird ein Aufwand erfolgswirksam berücksichtigt, der noch nicht zur Ausgabe geworden ist und bei dem ungewiss ist, in welcher Höhe er entsteht. Nach dem Grundsatz der Periodizität ist dieser Aufwand derjenigen Periode zuzuweisen, in der er entstanden ist. Durch die periodengerechte Verbuchung wird die Vermögenslage der Unternehmung am Bilanzstichtag richtig dargestellt. Rückstellungen gehören zum Fremdkapital und vermindern dadurch das Eigenkapital (vgl. zum Ganzen StR 65/2010 965 E. 2.1 mit weiteren Hinweisen).
2.2 Nicht nur die handelsrechtlich vorgeschriebenen, sondern alle geschäftsmässig begründeten Rückstellungen sind steuerlich zuzulassen. Art. 58 Abs. 1 lit. b DBG spricht nämlich von den "geschäftsmässig nicht begründeten Abschreibungen und Rückstellungen", die steuerlich zu korrigieren sind. Die Rückstellungen, die das Handelsrecht vorschreibt (Art. 669 Abs. 1 OR), sind ohnehin geschäftsmässig notwendig. Geschäftsmässig begründet sind Rückstellungen, die unternehmungswirtschaftlich gerechtfertigt sind. Rückstellungen in diesem Sinne werden im Hinblick auf drohende gegenwärtige Verlustgefahren in die Bilanz eingeführt und bringen zum Ausdruck, dass das im Unternehmen gebundene Vermögen nicht als definitiv erworben angesehen werden darf. Es sind Rückstellungen, die gemacht werden müssen, um die Bilanz der Unternehmung nicht unrichtig (zu günstig) erscheinen zu lassen. Die Rückstellung begegnet der Verlustgefahr insofern, als sie verhindert, dass später ein Verlust erscheint, der schon beim Buchabschluss bestanden hat und in diesem früheren Zeitpunkt hätte verbucht werden müssen.
Mit der Rückstellung wird dem laufenden Geschäftsjahr eine als Geschäftsaufwand zu würdigende Verbindlichkeit gewinnmindernd angerechnet, die am Bilanzstichtag zwar tatsächlich oder mindestens wahrscheinlich bestanden hat, aber in ihrer Höhe erst im nächsten oder in einem folgenden Geschäftsjahr geldmässig genau feststeht. Die Ereignisse, welche Ursache eines derartigen tatsächlichen oder wahrscheinlichen, am Bilanzstichtag ungewissen Aufwands sind, müssen im laufenden Geschäftsjahr eingetreten sein. Zudem können Rückstellungen regelmässig nur dann steuerlich anerkannt werden, wenn sie mit sachgerechter Kontierung verbucht und offen ausgewiesen werden (vgl. zum Ganzen StR 65/2010 965 E. 2.2 u. 2.3 mit weiteren Hinweisen).
3. In Anwendung von Art. 63 DBG hat das Verwaltungsgericht hier befunden, dass die von der Beschwerdeführerin im Jahr 2008 vorgenommene Rückstellung nicht geschäftsmässig begründet sei und deshalb beim steuerbaren Ertrag aufgerechnet werden müsse. Dafür hat sich die Vorinstanz im Wesentlichen auf zwei Argumente gestützt, die jedoch nicht zu überzeugen vermögen:
3.1 In erster Linie hat das Verwaltungsgericht hervorgehoben, die Werkbestellerin habe mit Brief vom 22. Dezember 2008 wohl festgehalten, dass die "Endabnahme gescheitert" sei. Dabei habe sie der sich im Lieferverzug befindlichen Beschwerdeführerin aber keineswegs mit dem Vertragsrücktritt oder der Anwendung der Konventionalstrafe gedroht und diese sogar nicht einmal erwähnt. Vielmehr habe sie auf ein bereits für den 8. Januar 2009 geplantes Treffen mit der Lieferin verwiesen und die Dokumentationen/Codes aufgelistet, die für die zu wiederholende Abnahme aufzubereiten seien. Am Bilanzstichtag habe demnach zwar ein gewisses, aber nur geringes Risiko bestanden, dass die Beschwerdeführerin mit Sanktionsansprüchen der Bank konfrontiert werden könnte. Denn der genannte Brief lasse einzig den Schluss zu, dass die Bank am Vertrag auch unter den damaligen schwierigen Verhältnissen habe festhalten wollen.
Es kann wohl sein, dass zum Jahresende 2008 beide Vertragsparteien weiterhin hofften, das Projekt zu einem guten Ende zu bringen. Das war jedoch keineswegs gewiss. Genauso wenig bestand eine bloss geringe Wahrscheinlichkeit, dass die Beschwerdeführerin die an sich bereits einforderbare Konventionalstrafe würde bezahlen müssen. Namentlich konnte es hier nicht darauf ankommen, ob die Werkbestellerin bis Ende des Jahres 2008 mit der Konventionalstrafe gedroht hatte oder nicht, war die Strafe gemäss Einzelvertrag doch nur von der Tatsache der Verspätung abhängig, aber nicht vom Eintritt weiterer Bedingungen, wie z.B. der vormaligen Androhung der Sanktion oder der bereits endgültigen Nichterfüllung des Vertrags. Zudem ging es nicht um den mit einem allfälligen Vertragsrücktritt verbundenen Schadenersatz (obwohl die Verspätung damals schon mehr als 60 Tage betrug), so dass es nicht von Belang war, ob die Werkbestellerin auf jeden Fall am Projekt festhalten wollte. Die Bank brachte in ihrem Brief deutlich zum Ausdruck, die ihr vertraglich zugesicherten Rechte wahren zu wollen, auch wenn sie gleichzeitig Verhandlungen für den Beginn des Folgejahres in Aussicht stellte. Von einem Verzicht der Werkbestellerin auf die ihr eingeräumten Sanktionsansprüche konnte nicht die Rede sein.
Mit der von der Praxis zu Art. 58 und 63 DBG geforderten Wahrscheinlichkeit bestand also für die Beschwerdeführerin das Risiko, die Konventionalstrafe bezahlen zu müssen. Vor diesem Hintergrund erwies sich die getätigte Rückstellung als unternehmenswirtschaftlich gerechtfertigt und geschäftsmässig begründet, gegebenenfalls sogar als handelsrechtlich zwingend: Wird auf das Vorsichtsprinzip (als zentralen Grundsatz ordnungsgemässer Rechnungslegung; vgl. Art. 662a Abs. 2 Ziff. 3 OR) abgestellt, so blieb der Beschwerdeführerin unter den genannten Umständen nichts anderes übrig, als die fragliche Rückstellung in der Bilanz per Ende 2008 gestützt auf Art. 669 Abs. 1 OR erfolgswirksam zu bilden.
3.2 Das Verwaltungsgericht hat sich im Weiteren auf Tatsachenelemente gestützt, die sich nicht im Jahr 2008 ereigneten, sondern erst in den ersten Monaten des nachfolgenden Jahres. Insbesondere kam am 3. Februar 2009 zwischen den Vertragsparteien eine Ergänzungsvereinbarung zustande, in welcher die geschuldeten Leistungen neu und zum Teil erweitert formuliert wurden; die Gesamtvergütung wurde um Fr. 515'000.-- auf nunmehr Fr. 2'615'000.-- erhöht und ein anderer Termin für die Endabnahme vereinbart; die bisherige Regelung der Konventionalstrafe und des Rücktrittsrechts wurde angepasst, aber vom Grundsatz her beibehalten. Das Gericht hat diese Ergänzungsvereinbarung mit folgender Begründung als noch für die Steuerperiode 2008 wesentlich eingestuft: Gemäss bestimmten Lehrmeinungen könnten Umstände, die sich zwar nach dem Bilanzstichtag vom 31. Dezember 2008, aber noch vor dem Bilanzerrichtungstag (vorliegend der 30. April 2009) zugetragen haben, dann berücksichtigt werden, wenn sie in Bezug auf die Posten der vorhergehenden Bilanz "wertaufhellend" (bzw. "werterhellend") seien und Rückschlüsse auf die zu beurteilende Lage am Stichtag ermöglichten. Das sei hier der Fall, würden die genannten Umstände doch zeigen, dass sogar die Werkbestellerin per Ende 2008 nicht daran gezweifelt habe, dass der Vertrag doch noch ausgeführt werden würde.
Diese Argumentation erweist sich jedoch nicht als stichhaltig. Denn im Februar 2009 beschlossen die Vertragsparteien, ihre Beziehung teilweise neu zu festzulegen oder zumindest zu klären. Das lässt aber gerade nicht darauf schliessen, dass die zuvor zwischen den Parteien herrschende Rechtslage klar oder gleichen Inhalts gewesen wäre. Im hier zu beurteilenden Fall vermögen die vom Verwaltungsgericht als "werterhellend" aufgeführten späteren Umstände nicht das bislang Festgehaltene in Frage zu stellen. Die getätigte Rückstellung erwies sich als unternehmenswirtschaftlich gerechtfertigt bzw. als geschäftsmässig begründet.
3.3 Daran ändert auch nichts, dass die Beschwerdeführerin im Laufe der nachfolgenden Periode 2009 ihren Sitz in den steuergünstigeren Kanton Schwyz verlegte; sogenannte Wegzugsbesteuerungen sind seit dem 1. Januar 2001 nicht mehr zugelassen (vgl. StE 2008 B 72.19 Nr. 9 E. 3.2 u. 3.3). Ebenso wenig verstiess die Art und Weise, wie die Beschwerdeführerin die gesamthaft für das vorliegend massgebliche Geschäft erzielten Einnahmen auf die beiden Jahre 2008 und 2009 verteilte, gegen das Periodizitätsprinzip.
III. Kantons- und Gemeindesteuern
4. Die hier für die Festlegung der Ertragssteuer bei der Staatssteuer massgeblichen Bestimmungen (vgl. insb. § 64 Ziff. 2 lit. b des zürcherischen Steuergesetzes vom 5. Juni 1997 [StG/ZH] und Art. 24 Abs. 1 StHG) stimmen mit den einschlägigen Vorschriften zur direkten Bundessteuer überein. Somit muss auch für die Kantons- und Gemeindesteuern gelten, dass die getätigte Rückstellung zum Abzug vom steuerbaren Gewinn der Beschwerdeführerin zuzulassen ist. Vor dem genannten Hintergrund kann die Rückstellung bei der Kapitalsteuer ebenfalls als eigenkapitalmindernd anerkannt werden (vgl. dazu insb. § 79 StG/ZH und Art. 29 StHG).
IV. Kosten und Entschädigung
5. Nach dem Gesagten sind die Beschwerden gutzuheissen und die angefochtenen Urteile aufzuheben. Die Sache ist an das Kantonale Steueramt Zürich zur Neuveranlagung und an das Verwaltungsgericht des Kantons Zürich zur Neuverlegung der Kosten- bzw. Entschädigungsfolgen des kantonalen Verfahrens zurückzuweisen. Im gleichen Sinne wird der Kanton Zürich, der Vermögensinteressen verfolgt, für das Verfahren vor Bundesgericht kosten- und entschädigungspflichtig (vgl. Art. 65 f. u. 68 BGG).
Demnach erkennt das Bundesgericht:
1. Die Verfahren 2C_945/2011 und 2C_946/2011 werden vereinigt.
2. Die Beschwerde in öffentlich-rechtlichen Angelegenheiten betreffend die direkte Bundessteuer (2C_946/2011) wird gutgeheissen, das Urteil des Verwaltungsgerichts des Kantons Zürichs vom 21. September 2011 aufgehoben und der steuerbare Gewinn für die Steuerperiode 2008 mit Fr. 700.-- festgesetzt.
3. Die Beschwerde in öffentlich-rechtlichen Angelegenheiten betreffend die Staats- und Gemeindesteuern (2C_945/2011) wird gutgeheissen, das Urteil des Verwaltungsgerichts des Kantons Zürichs vom 21. September 2011 aufgehoben und der steuerbare Gewinn für die Steuerperiode 2008 mit Fr. 700.-- sowie das steuerbare Eigenkapital mit Fr. 100'000.-- festgesetzt.
4. Die Gerichtskosten von Fr. 4'000.-- werden dem Kanton Zürich auferlegt.
5. Der Kanton Zürich hat die Beschwerdeführerin für das bundesgerichtliche Verfahren mit Fr. 4'000.-- zu entschädigen.
6. Die Sache wird zur Neuverlegung der Kosten- und Entschädigungsfolgen des kantonalen Verfahrens an das Verwaltungsgericht des Kantons Zürich zurückgewiesen.
7. Dieses Urteil wird der Beschwerdeführerin, dem Kantonalen Steueramt Zürich, dem Verwaltungsgericht des Kantons Zürich, 2. Kammer, und der Eidgenössischen Steuerverwaltung schriftlich mitgeteilt.
Lausanne, 12. Oktober 2012
Im Namen der II. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Zünd
Der Gerichtsschreiber: Matter