
218 P.3d 1115 (2009)
Kent LAMBERT, Complainant-Appellant,
v.
RITTER INAUGURAL COMMITTEE, INC. and Bill Ritter for Governor, Respondents-Appellees.
No. 08CA1784.
Colorado Court of Appeals, Div. V.
September 3, 2009.
*1117 Hackstaff Gessler LLC, Scott E. Gessler, Mario D. Nicolais II, Denver, CO, for Complainant-Appellant.
Hill & Robbins, P.C., John F. Walsh, Jennifer H. Hunt, Ingrid C. Barrier, Denver, CO, for Respondent-Appellee Ritter Inaugural Committee, Inc.
Isaacson Rosenbaum P.C., Mark G. Grueskin, Blain D. Myhre, Denver, CO, for Respondent-Appellee Bill Ritter for Governor.
Opinion by Judge RICHMAN.
Kent Lambert appeals the order of the administrative law judge (ALJ) dismissing, under C.R.C.P. 12(b)(5), his claims alleging campaign finance violations against Bill Ritter for Governor (the Candidate Committee) and Ritter Inaugural Committee, Inc. (the Inaugural Committee) and the separate order awarding attorney fees against him. We reverse the order dismissing the claims, vacate the order awarding attorney fees, and remand this matter to the ALJ for further proceedings.

I. Background
Governor Bill Ritter was elected on November 7, 2006. As the authorized candidate committee for Ritter's campaign, the Candidate Committee was subject to campaign finance laws, including applicable contribution limits and disclosure requirements. See Colo. Const. art. XXVIII, §§ 2(3), 3 & 7; §§ 1-45-101 to -118, C.R.S.2008. The Inaugural Committee, a nonprofit corporation established on the day after the election to finance inaugural ceremonies, was allegedly subject to other campaign finance rules. See, e.g., Colo. Const. art. XXVIII, §§ 2(12)(a) (definition of "political committee") & 3(4) (requirements pertaining to corporations and labor organizations).
Kent Lambert initiated this action on April 21, 2008, pursuant to article XXVIII, section 9(2)(a) of the Colorado Constitution, which provides that "[a]ny person who believes that a violation of [specified campaign finance laws] has occurred may file a written complaint with the secretary of state no later than one hundred eighty days after the date of the alleged violation." Lambert alleged that (1) both committees violated campaign contribution limits, (2) the Inaugural Committee illegally contributed to the Candidate *1118 Committee, (3) the Candidate Committee failed to report all of its contributions, and (4) the Inaugural Committee failed to comply with registration and reporting obligations.
In support of his allegations, Lambert attached to his complaint a report on the Inaugural Committee's expenses, prepared at the request of the Inaugural Committee, by the consulting firm Patten, MacPhee & Associates, Inc. (the Patten Report). Lambert alleged that the Patten Report showed that both committees had violated campaign finance laws, and he requested that fines be assessed against them. See Colo. Const. art. XXVIII, § 10(1) ("Any person who violates any provision of this article relating to contribution or voluntary spending limits shall be subject to a civil penalty of at least double and up to five times the amount contributed, received, or spent in violation of the applicable provision of this article."); see also § 1-45-103.7(7)(b), C.R.S.2008 (same effect).
According to the Patten Report, the Inaugural Committee hired the Patten firm to inspect its financial records to determine the extent to which Inaugural Committee funds may have been used to pay the expenses of the Candidate Committee. The Patten Report states that the Inaugural Committee raised more than $1.1 million from private donations and ticket sales to inaugural events. Exhibit G to the report lists over $217,000 in expenditures by the Inaugural Committee which "appear to be related to payment of the Campaign's expenses." Lambert alleged that such expenditures were unlawful excess contributions in violation of article XXVIII, section 3(1)(a)(I) (first claim for relief) and unlawful corporate contributions in violation of section 3(4) (second claim for relief) and that the failures to report constituted violations of the reporting requirements of section 1-45-108, C.R.S.2008 (third and fourth claims for relief).
However, according to the Patten Report, all of the expenditures identified on Exhibit G were made more than 180 days before Lambert filed his complaint on April 21, 2008. Accordingly, the ALJ concluded, and it is not disputed on appeal, that any claims pertaining to these expenditures on Exhibit G were time barred by the constitutional provision requiring that complaints regarding campaign finance violations be filed no later than 180 days after the date of an alleged violation. See Colo. Const. art. XXVIII, § 9(2)(a).
Of the total expenditures by the Inaugural Committee, the Patten Report separately identifies and lists on Exhibit H $107,894.25 in payments made to Greg Kolomitz (Ritter's campaign manager, who also managed the Inaugural Committee's day-to-day operations), Solutions West (Kolomitz's consulting firm), and Sheila MacDonald (a principal of Solutions West). The Patten Report states that "the frequency and magnitude of [the payments on Exhibit H] go beyond our understanding of the amounts that were to be paid by the Inaugural Committee for their services." Exhibit H classifies these payments to Kolomitz, his firm, and his employee into three categories: "inaugural expense," "campaign expense," and "Kolomitz/ Solutions West." Five of the payments listed on Exhibit H, totaling $21,292.45, are classified as "campaign expense" and are listed on Exhibit G. None of these five payments occurred within 180 days of Lambert's complaint.
The only payment made by the Inaugural Committee within 180 days preceding the filing of Lambert's complaint is a payment of $350 made to Kolomitz on October 24, 2007, exactly 180 days before Lambert filed his complaint. The Patten Report does not list this $350 payment as a campaign expense on Exhibit G, and it does not classify the payment as either a "campaign expense" or "inaugural expense" on Exhibit H, placing it under the category of "Kolomitz/ Solution West."
Lambert's amended complaint was referred to the Office of Administrative Courts and assigned to an ALJ. See Colo. Const. art. XXVIII, § 9(2)(a). Both committees filed motions to dismiss. The ALJ construed the Patten Report as part of the complaint and determined that it did not support, but rather contradicted, Lambert's allegations. Relying on the Patten Report, the ALJ concluded that the contents of the report do not support the allegation that the $350 payment was "related to the Governor's campaign" *1119 and found that the payment "was not for campaign related activities." The ALJ also concluded that even if it was related to a campaign expense, the payment "in and of itself, does not violate any contribution limit." She thus dismissed the first claim for relief on these alternative grounds.
Having found that the October 24, 2007 payment was not a campaign-related expense, the ALJ dismissed the second and third claims for relief because none of the contributions which give rise to the claims occurred within 180 days before the filing of the complaint. The ALJ also concluded that any report due from the Inaugural Committee, as alleged in the fourth claim for relief, would have to have been filed by October 15, 2007, and Lambert's complaint was also untimely as to any registration or reporting violations that preceded that date. Accordingly, the ALJ granted the committees' motions to dismiss and awarded attorney fees under section 1-45-111.5(2), C.R.S.2008, finding that the complaint lacked substantial justification. In a subsequent order, the ALJ awarded $8,598 to the Inaugural Committee and $10,137.50 to the Candidate Committee as attorney fees and costs. This appeal followed.

II. Standard of Review
"On appellate review, we accept an ALJ's factual findings unless they are clearly erroneous or unsupported by evidence in the record." Colo. Educ. Ass'n v. Rutt, 184 P.3d 65, 77 (Colo.2008). A ruling on a motion to dismiss is a question of law we review de novo. Akin v. Four Corners Encampment, 179 P.3d 139, 143 (Colo.App.2007). We apply the same standards as the trial court or, in this case, the ALJ. W. Innovations, Inc. v. Sonitrol Corp., 187 P.3d 1155, 1158 (Colo. App.2008). Thus, in evaluating a C.R.C.P. 12(b)(5) motion, we may consider only those matters stated in the complaint and must accept all allegations of material fact as true, viewing the allegations in the light most favorable to the plaintiff. Coors Brewing Co. v. Floyd, 978 P.2d 663, 665 (Colo.1999). "Such motions `are viewed with disfavor, and a complaint is not to be dismissed unless it appears beyond doubt that the plaintiff cannot prove facts in support of the claim that would entitle the plaintiff to relief.'" Id. (quoting Dorman v. Petrol Aspen, Inc., 914 P.2d 909, 911 (Colo.1996)).
Generally, on a C.R.C.P. 12(b)(5) motion, whether a complaint states a claim must be determined solely from the complaint itself. Stauffer v. Stegemann, 165 P.3d 713, 716 (Colo.App.2006). "However, when ... the plaintiff attaches documents to the complaint, the court may consider those documents in ruling on a motion to dismiss." Id. "Further, a trial court is not required to accept legal conclusions or factual claims at variance with the express terms of documents attached to the complaint." Id.

III. Analysis

A. Excess Contributions
Lambert argues that dismissal of his amended complaint is error because when viewed in the light most favorable to him, the facts alleged state a claim that the Inaugural Committee's $350 payment to Kolomitz on October 24, 2007 was an illegal contribution to the Candidate Committee. We agree that dismissal of the complaint was error.
The contribution limit for any one person or political committee to a gubernatorial candidate committee at the time of the 2006 Ritter campaign was $1,050. See Colo. Const. art. XXVIII, § 3(1)(a)(I) & (13); Secretary of State Rules Concerning Campaign and Political Finance Rule 12.3, 8 Code Colo. Regs. 1505-6 (Inflationary Adjustments to Contribution and Voluntary Spending Limits). Lambert alleges that following the 2006 election, the Inaugural Committee exceeded the contribution limit by contributing nearly $300,000 to the Candidate Committee during 2006 and 2007. The amended complaint specifically alleges that the "final contribution by the Ritter Inaugural Committee, Inc., took place on [October 24, 2007], in the form of a payment to the Ritter for Governor's campaign manager, Greg Kolomitz."[1]
*1120 The ALJ described this allegation as "generally" averring that the $350 payment was made to Kolomitz for campaign-related activities but concluded that none of the specific allegations in the complaint, or the incorporated documents, linked or connected that specific payment with campaign activities. Further, the ALJ noted that the Patten Report "excludes [this payment] as reimbursement for campaign expenses." Thus, she determined that a conflict existed between the complaint's general allegations about the October 24, 2007 payment and the findings about the payment in the Patten Report. Reasoning that Lambert "cannot have it both ways" and relying on Stauffer v. Stegemann, 165 P.3d 713 (Colo.App.2006), the ALJ concluded that she need not consider the allegations of the complaint as true and view them in a light most favorable to Lambert where the allegations conflicted with the express terms of the attached documents. The ALJ thus concluded that the amended complaint failed to allege an unlawful contribution within the 180-day time period.
We conclude that the ALJ's finding that the $350 payment was not for a campaign-related expense is unsupported by evidence in the record, and we disagree with the conclusions reached by the ALJ for the reasons that follow.

1. The Patten Report Is Not Determinative
First, we are not persuaded that the "express terms" of the Patten Report contradict Lambert's allegation that the $350 payment constituted an illegal contribution. Id. at 716. The report did not include the payment on the list of more than $217,000 of expenditures identified on Exhibit G as Candidate Committee expenses, but this omission is not dispositive. The report, applying the standard of "with a reasonable degree of professional certainty," identifies instances where the Inaugural Committee paid expenses for the Candidate Committee; it does not purport to identify every such instance.
Moreover, as noted, the Patten Report purports to identify "campaign-related expenditures." The Patten Report does not define the term "campaign-related expenditure," and we decline to infer that the term is the equivalent of the term "contribution," which is constitutionally defined, as relevant here, as "[a] ny payment made to a third party for the benefit of any candidate committee." Colo. Const. art. XXVIII, § 2(5)(a)(II). Thus, it is not clear that the Patten Report states a conclusion contrary to the allegations of the complaint, and therefore the holding of Stauffer does not apply here.
Furthermore, although Exhibit H of the Patten Report characterized some of the payments to Kolomitz, either in whole or in part, as either inaugural expenses or campaign expenses, most of the payments were not characterized at all, including the $350 payment on October 24, 2007.
Finally, although the Patten Report is attached to Lambert's amended complaint, the pleading does not expressly incorporate the report, but rather references it with the citation "See Exhibit 1."
Therefore, the Patten Report does not support the conclusion that the $350 payment could not have been a contribution, as defined by the Colorado Constitution, simply because the report did not identify it as a Candidate Committee expense "with a reasonable degree of professional certainty."

2. The Complaint Alleges an Excess Contribution
Independent of the Patten Report, the allegations of the amended complaint state a claim that the Inaugural Committee made a "contribution" to the Candidate Committee on October 24, 2007 in the form of a $350 payment to Kolomitz. The Inaugural Committee contends that Lambert's allegation as to the $350 payment is merely conclusory and lacks factual support.
We disagree that this allegation is mere speculation. The committees acknowledge that substantial payments to Kolomitz were "campaign-related." Viewing the facts stated in the Patten Report and the allegations in the amended complaint in the light most *1121 favorable to Lambert, the Inaugural Committee made contributions which "far exceed[ed] the contributions limits set forth in [section] 3(1)(a)(I)"even though those contributions occurred more than 180 days before the complaint was filed. Although the $350 payment ultimately may not be shown to be a contribution as defined in the constitution, given the history of campaign-related payments to Kolomitz, the claim that this specific payment was a contribution is not merely conclusory and does not lack factual support. Thus, Lambert's allegation as to the $350 payment rises above the speculative level, and under the "no set of facts" standard, the allegation that the payment constituted a contribution to the Candidate Committee plausibly supports a legal claim for relief. Under C.R.C.P. 12(b)(5), these allegations state a claim.
We conclude that Lambert has adequately alleged that the $350 payment on October 24, 2007, when aggregated with previous payments, violated the contribution limit of section 3.

3. The 180-Day Limit Does Not Bar a Claim Based on the $350 Payment
The ALJ also concluded that even if the $350 payment were a campaign-related expense, the payment "in and of itself" did not violate the contribution limit of $1,050. However, we conclude that the ALJ erroneously interpreted the application and interplay of the constitutional provision limiting contributions, article XXVIII, section 3, and the provision establishing the time limit for filing a complaint, article XXVIII, section 9(2)(a).
"We review de novo the interpretation of a constitutional provision." Patterson Recall Comm., Inc. v. Patterson, 209 P.3d 1210, 1214 (Colo.App.2009). We seek to ascertain intent, starting with the plain language of the provision and giving the words their ordinary meaning. Id. Also, "we interpret constitutional provisions as a whole and attempt to harmonize all of the contained provisions." Bruce v. City of Colorado Springs, 129 P.3d 988, 992 (Colo.2006).
By its plain language, article XXVIII, section 3(1) unambiguously prohibits "aggregate contributions" to any one gubernatorial candidate committee for a primary or a general election in excess of the stated contribution limit of $500, adjusted for inflation: "[N]o candidate committee shall accept from any one person, aggregate contributions for a primary or a general election in excess of [stated] amounts." Governor Ritter ran in a primary and a general election; therefore, the effective contribution limit applicable to the Candidate Committee was $1,050. See § 1-45-103.7(3), C.R.S.2008 (candidate committee may accept aggregate contributions up to the contribution limit for both the primary and general elections). Article XXVIII, section 9(2)(a) requires that a complaint be filed no later than 180 days "after the date of the alleged violation."
The ALJ reasoned that the 180-day time limit in § 9(2)(a) would be rendered meaningless if aggregate contributions could include individual contributions which were made more than 180 days before the complaint was filed. Although acknowledging that this interpretation would allow shrewd contributors to avoid the contribution limits of section 3 by timing contributions 180 days apart, the ALJ cited Common Sense Alliance v. Davidson, 995 P.2d 748, 755 (Colo.2000), for the proposition that courts are not in a position to eliminate loopholes in voter-approved campaign laws.
However, we conclude that the 180-day limit for filing a complaint and the provision prohibiting aggregated contributions in excess of the limit can be harmonized to give effect to each in a manner consistent with the intent behind Colorado's campaign finance scheme. See Bruce, 129 P.3d at 992.
A complaint alleging that a contribution exceeds the applicable limit, either on its own or when aggregated with previous contributions, must be filed within 180 days of that excess contribution. The fact that the limit may have been exceeded by a contribution more than 180 days earlier does not bar a complaint as to a later contribution that also exceeds the limit. However, the complaint is only timely as to those excess contributions which occurred within the preceding 180 days, and the relief available under section 10(1), Colo. Const. art. XXVIII, or section *1122 1-45-103.7(7)(b), C.R.S.2008, is limited to those excess contributions as to which the complaint is timely.
To hold otherwise would mean that an excess contribution complaint would have to be filed within 180 days of either a single contribution in excess of the limit or aggregated contributions exceeding the limit and all made within the previous 180 days. Such an interpretation would effectively "reset" the contribution limit of section 3 after 180 days and allow a candidate committee to accept with impunity an amount equal to the contribution limit every 180 days. We conclude that such interpretations of these provisions would be absurd because they would significantly undermine the contribution limits stated in the state constitution.
To give effect to both the contribution limit in section 3 and the time limit in section 9(2)(a), we hold that a complaint may seek relief only as to contributions whichstanding alone or aggregatedexceed the limit and are made within the preceding 180-day period, and that the relief available under section 10(1) and section 1-45-103.7(7)(b) is limited to those contributions to which the complaint is timely.
We clarify our meaning by way of example: After a contributor makes a $1,050 contribution to a gubernatorial candidate committee, if he or she contributes even another $1 within the same election cycle, the $1 contribution would constitute an excess contribution under section 3(1)(a). Thus, even if 180 days had passed since the original $1050 contribution, relief could be sought as to the $1 contribution, and the 180-day time limitation of section 9(2)(a) would begin to run from the date of the $1 contribution.
The outcome would be the same if the previous contributions had already exceeded $1,050. In other words, the 180-day limit in section 9(2)(a) begins to run each time a contributioneither independently or when aggregated with previous contributionsexceeds the limit proscribed in section 3.
Therefore, we reverse the ALJ's dismissal of Lambert's first claim for relief. Lambert has stated a claim that the $350 payment on October 24, 2007 could have been an illegal campaign contribution which the Inaugural Committee would be liable for making and the Candidate Committee would be liable for accepting. Whether such payment was in fact an illegal contribution as defined in the state constitution must be determined in further proceedings, and any relief allowed in such proceedings under article XXVIII, section 10(1) and section 1-45-103.7(7)(b) is limited to the one $350 contribution.

B. Inaugural Committee's Contributions as a Corporation
Lambert argues that the Inaugural Committee violated article XXVIII, section 3(4), which prohibits a corporation from making a contribution to a candidate committee unless it establishes "a political committee or small donor committee [to] accept contributions or dues from employees, officeholders, shareholders, or members." Having erroneously concluded that the payments identified as campaign-related in the Patten Report were the only contributions to the Candidate Committee that the Inaugural Committee allegedly made, the ALJ erroneously determined that the section 3(4) claim was time barred. Because Lambert stated a claim as to the $350 payment, we reverse the ALJ's dismissal of this claim and remand for further proceedings.

C. Candidate Committee's Failure to File Reports
Lambert's amended complaint alleged that the Candidate Committee violated section 1-45-108, C.R.S.2008, because it failed to report the $350 payment to Kolomitz as a contribution in its January 15, 2008 report. Having erroneously concluded that Lambert failed to allege facts sufficient to show that the $350 payment could have been a contribution, the ALJ concluded that the Candidate Committee had no obligation to disclose it. We therefore reverse the dismissal of this claim and remand for further proceedings.


*1123 D. Inaugural Committee's Failure to File Reports and to Register as a Political Committee
Lambert's amended complaint alleges that the Inaugural Committee also violated section 1-45-108 because it acted as a "political committee" by having "accepted or made contributions or expenditures in excess of $200 to support or oppose the nomination or election of one or more candidates." Colo. Const. art. XXVIII, § 2(12)(a); § 1-45-103(14), C.R.S.2008. The ALJ assumed without deciding that the Inaugural Committee met the definition of a political committee, but concluded that Lambert's reporting claims against it were time barred. We conclude that the record is insufficient to determine whether or not the Inaugural Committee (1) met the constitutional definition of a political committee, (2) had a duty under section 1-45-108 and the accompanying regulations found at 8 Code Colo. Regs. 1505-6 to report the $350 payment as a contribution, or (3) had a duty to register and report its activities regardless of the legal status of the $350 payment. We therefore reverse this ruling and remand for further proceedings.

IV. Conclusion
The ALJ awarded attorney fees to the committees on the grounds that Lambert's claims "lacked substantial justification" within the meaning of section 1-45-111.5, C.R.S. 2008. Because we have determined that dismissal of Lambert's claims was improper, the attorney fees award cannot stand.
The ALJ's order dismissing each of Lambert's claims is reversed, the order awarding attorney fees is vacated, and the case is remanded for further proceedings consistent with this opinion.
Judge GRAHAM and Judge HAWTHORNE concur.
NOTES
[1]  The parties and the ALJ acknowledge that Lambert's amended complaint contained a typographical error, and the order of the ALJ assumes the sufficiency of the date allegation for purposes of the ruling appealed here.
