Revenue from Contracts with Customers
We recognize revenue for services and products under revenue contracts as our obligations to either perform services or deliver or sell products under the contracts are satisfied. A performance obligation is a promise in a contract to transfer a distinct good or service to the customer. A contract’s transaction price is allocated to each distinct performance obligation in the contract and is recognized as revenue when, or as, the performance obligation is satisfied. Our revenue contracts in scope under ASC 606 primarily have a single performance obligation. The evaluation of when performance obligations have been satisfied and the transaction price that is allocated to our performance obligations requires significant judgment and assumptions, including our evaluation of the timing of when control of the underlying good or service has transferred to our customers and the relative stand-alone selling price of goods and services provided to customers under contracts with multiple performance obligations. Actual results can vary from those judgments and assumptions. We do not have any material contracts with multiple performance obligations or under which we receive material amounts of non-cash consideration.
The majority of our revenue agreements are in scope under ASC 606 and the remainder of our revenue comes from contracts that contain nonmonetary exchanges or leases in the scope of ASC 845 and ASC 842, respectively. See Note 11 for a detail of disaggregated revenue.
Payment terms and conditions vary by contract type, although terms generally include a requirement of payment within 10 to 60 days. In instances where the timing of revenue recognition differs from the timing of invoicing, we have determined our contracts generally do not include a significant financing component. The primary purpose of our invoicing terms is to allow customers to secure the right to reserve the product or storage capacity to be received or used at a later date, not to receive financing from our customers or to provide customers with financing.
We report taxes collected from customers and remitted to taxing authorities, such as sales and use taxes, on a net basis. We include amounts billed to customers for shipping and handling costs in revenues in our consolidated statements of operations.
Water Solutions Performance Obligations
Within the Water Solutions segment, revenue is disaggregated into two primary revenue streams that include service revenue and commodity sales revenue. For contracts involving disposal services, we accept produced water and solids for disposal at our facilities. The determination of transaction price, which is generally considered to be variable, under these contracts involves significant judgment as it is dependent upon the amount of volume of produced water or solids that are delivered to us by the customer over the term of the contract and the fees charged per barrel, which can either be a fixed amount per barrel or variable due to changes in inflation or other factors. Under certain contracts, the customer has committed to delivering to us a minimum volume of produced water over a specified time period. If the customer does not deliver the committed volumes, we receive a shortfall fee. At each reporting period, we make a determination as to the likelihood of earning this fee. We recognize revenue from these contracts when (i) actual volumes are received; and (ii) when the likelihood of a customer exercising its remaining rights to make up the deficient volumes under minimum volume commitments becomes remote (also known as the breakage model).
For all of our disposal contracts within the Water Solutions segment, revenue will be recognized over time utilizing the output method based on the volume of produced water or solids we accept from the customer. For contracts that involve the sale of recovered crude oil and reuse, recycled and brackish non-potable water, we will recognize revenue at a point in time, based on when control of the product is transferred to the customer.
Crude Oil Logistics Performance Obligations
Within the Crude Oil Logistics segment, revenue is disaggregated into two primary revenue streams that include revenue from the sale of commodities and service revenue. For sales of commodities, we are obligated to deliver a predetermined amount of crude oil, primarily on a month-to-month basis, to our customers. For these types of agreements, revenue is recognized at a point in time based on when the crude oil is delivered and control is transferred to the customer.
For revenue received from services rendered, we are obligated to provide throughput services to move crude oil via pipeline or railcar or to provide terminal maintenance services. In either case, the obligation is satisfied over time utilizing the output method based on each volume of crude oil that is moved from the origination point to the final destination or based on the passage of time.
Liquids Logistics Performance Obligations
Within the Liquids Logistics segment, revenue is disaggregated into two primary revenue streams that include revenue from the sale of commodities and service revenue. For sales of commodities, we are obligated to deliver a specified amount of product over a specified period of time. For these types of agreements, revenue is recognized at a point in time based on when the product is delivered and control is transferred to the customer.
For revenue received from services rendered, we offer a variety of services which include: (i) railcar transportation services; (ii) transloading services; and (iii) logistics services. We are obligated to provide these services over a predetermined period of time. All revenue from services is recognized over time utilizing the output method based on volumes stored or moved.
Remaining Performance Obligations
Most of our service contracts are such that we have the right to consideration from a customer in an amount that corresponds directly with the value to the customer of our performance completed to date. Therefore, we utilized the practical expedient in ASC 606-10-55-18 under which we recognize revenue in the amount to which we have the right to invoice. Applying this practical expedient, we are not required to disclose the transaction price allocated to remaining performance obligations under these contracts. The following table summarizes the amount and timing of revenue recognition for such contracts at March 31, 2026 (in thousands):
| | | | | |
| Year Ending March 31, | |
| 2027 | $ | 139,773 | |
| 2028 | 116,139 | |
| 2029 | 110,823 | |
| 2030 | 94,528 | |
| 2031 | 64,966 | |
| Thereafter | 46,353 | |
| Total | $ | 572,582 | |
Many agreements are short-term in nature with a contract term of one year or less. For those contracts, we utilized the practical expedient in ASC 606-10-50 that exempts us from disclosure of the transaction price allocated to remaining performance obligations if the performance obligation is part of a contract that has an original expected duration of one year or less. Additionally, for our product sales contracts, we have elected the practical expedient set out in ASC 606-10-50-14A, which states that we are not required to disclose the transaction price allocated to remaining performance obligations if the variable consideration is allocated entirely to a wholly unsatisfied performance obligation. Under these agreements, each unit of product represents a separate performance obligation and therefore future volumes are wholly unsatisfied and disclosure of transaction price allocated to remaining performance obligations is not required. Under product sales contracts, the variability arises as both volume and pricing (typically index-based) are not known until the product is delivered.
Contract Assets and Liabilities
Amounts owed from our customers under our revenue contracts are typically billed as the service is being provided on a monthly basis and are due within 1-30 days of billing, and are classified as accounts receivable on our consolidated balance sheets. Under certain of our contracts, we recognize revenues in excess of billings, referred to as contract assets, within prepaid expenses and other current assets in our consolidated balance sheets. Accounts receivable from contracts with customers are presented within accounts receivable and accounts receivable-affiliates in our consolidated balance sheets.
Under certain of our contracts, we may be entitled to receive payments in advance of satisfying our performance obligations under the contract. We recognize a liability for these payments in excess of revenue recognized, referred to as deferred revenue or contract liabilities, within advance payments received from customers in our consolidated balance sheets. Our deferred revenue primarily relates to:
•Prepayments. Some revenue contracts contain prepayment provisions within our Liquids Logistics segment. In some cases, we also receive prepayments from customers purchasing commodities, which allows the customer to secure the right to receive their requested volumes in a future period. Revenue from these contracts is initially deferred, thus creating a contract liability.
•Contracts with variable volumes and pricing. As described above in our Water Solutions segment, we revise the estimate of variable consideration at each reporting period. As the actual amount billed and received from the customer may differ from the amount of revenue recognized, a contract asset or liability is recorded.
•Capital reimbursements. Certain contracts in our Water Solutions segment require that our customers reimburse us for capital expenditures related to the construction of long-lived assets, such as water gathering pipelines, booster stations and custody transfer points, utilized to provide services to them under the revenue contracts. Because we consider these amounts as consideration from customers associated with ongoing services to be provided to customers, we defer these upfront payments in deferred revenue and recognize the amounts in revenue over the life of the associated revenue contract as the performance obligations are satisfied under the contract.
The following tables summarize the balances of our contract assets and liabilities at the dates indicated:
| | | | | | | | | | | | | | | | | | | | |
| | March 31, |
| | 2026 | | 2025 | | 2024 |
| | (in thousands) |
| Accounts receivable from contracts with customers (1) | | $ | 465,003 | | | $ | 294,378 | | | $ | 336,948 | |
| Contract assets (current) | | $ | 5,201 | | | $ | 512 | | | $ | — | |
| | | | | | | | |
| Contract liabilities at March 31, 2024 | | $ | 16,933 | |
| Payment received and deferred | | 49,787 | |
| Payment recognized in revenue | | (57,293) | |
| Liabilities held for sale (2) | | (259) | |
| Contract liabilities at March 31, 2025 | | 9,168 | |
| Payment received and deferred | | 19,953 | |
| Payment recognized in revenue | | (15,153) | |
| | |
| Contract liabilities at March 31, 2026 | | $ | 13,968 | |
(1) Amounts do not include assets classified as either held for sale or discontinued operations within our March 31, 2025 consolidated balance sheet (see Note 18).
(2) Relates to contract liabilities classified as held for sale for the sale of a portion of our Liquids Logistics segment (see Note 18).
Costs to Obtain a Contract with a Customer
Recoverable incremental costs incurred to obtain long-term contracts are capitalized. Incremental costs are costs that would not have been incurred if the contract was not obtained and consist primarily of sales commissions. Costs that are not incremental are expensed as incurred. These capitalized costs are amortized on a systematic basis that is consistent with the pattern of transfer of products or services over the life of the contract. For contracts in which the amortization period is one year or less, the incremental cost is not capitalized and the amount is expensed as incurred.
As of March 31, 2026, $27.2 million of capitalized costs to obtain contracts with customers is included within other noncurrent assets in the consolidated balance sheet. During the year ended March 31, 2026, $0.7 million of amortization expense related to the costs was recorded within operating expense in the consolidated statement of operations.