hD

Income Statement Summary

NWPX Infrastructure (NWPX) quarterly income statement covering the six quarters from December 2024 to June 2026, as reported to the SEC.

  • NWPX Infrastructure reported net sales of $159.48M in the quarter ended June 30, 2026, up 19.7% from $133.18M a year earlier.
  • Gross profit was $34.36M, up 35.5% from $25.36M. That is a gross margin of 21.5%.
  • Operating income was $21.15M, up 59.8% from $13.24M. Operating margin was 13.3%.
  • Net income was $15.83M, up 74.7% from $9.06M. Net margin was 9.9%.
  • Diluted (in dollars per share) was $1.62, up 78% from $0.91.
  • Cost of sales took 78.5% of net sales and selling, General and Administrative Expense 8.3%.

An income statement shows what a company sold and what it cost to run the business, ending with the profit left over.

Figures in USD thousands, except per share data
Jun'26Dec'25Sep'25Jun'25Mar'25Dec'24
Net sales

159,476

125,639

151,067

133,182

116,115

119,627

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Net sales

159,476

125,639

151,067

133,182

116,115

119,627

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Cost of sales

125,117

98,882

118,917

107,817

96,750

97,189

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Cost of sales

125,117

98,882

118,917

107,817

96,750

97,189

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Net sales

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Net sales

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Cost of sales

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Cost of sales

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Gross profit

34,359

26,757

32,150

25,365

19,365

22,438

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Gross profit

34,359

26,757

32,150

25,365

19,365

22,438

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Selling, General and Administrative Expense

13,208

13,729

13,113

12,129

13,796

11,941

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Selling, General and Administrative Expense

13,208

13,729

13,113

12,129

13,796

11,941

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Gain on sale of property

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Gain on sale of property

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Impairment of goodwill

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Impairment of goodwill

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Gain on sale of facilities

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Gain on sale of facilities

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Restructuring expense

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Restructuring expense

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Operating income

21,151

13,028

19,037

13,236

5,569

10,497

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Operating income

21,151

13,028

19,037

13,236

5,569

10,497

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Bargain purchase gain

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Bargain purchase gain

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Other income (expense)

492

-1,807

-3

20

7

74

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Other income (expense)

492

-1,807

-3

20

7

74

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Interest income

156

-

-

1

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Interest income

156

-

-

1

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Interest income

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Interest income

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Interest income

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Interest income

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Interest expense

320

423

788

763

635

911

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Interest expense

320

423

788

763

635

911

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income before income taxes

21,479

10,797

18,246

12,494

4,941

9,660

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income before income taxes

21,479

10,797

18,246

12,494

4,941

9,660

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income before income taxes

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income before income taxes

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income tax expense

5,645

1,918

4,741

3,431

977

-436

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income tax expense

5,645

1,918

4,741

3,431

977

-436

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income (loss) from continuing operations

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income (loss) from continuing operations

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Loss from operations of discontinued operations

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Loss from operations of discontinued operations

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income (loss) from operations of discontinued business

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income (loss) from operations of discontinued business

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Loss from operations of discontinued operations

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Loss from operations of discontinued operations

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Gain on sale of facility

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Gain on sale of facility

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income tax benefit

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Income tax benefit

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Loss on discontinued operations

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Loss on discontinued operations

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Net income

15,834

8,879

13,505

9,063

3,964

10,096

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Net income

15,834

8,879

13,505

9,063

3,964

10,096

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Continuing operations, basic (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Continuing operations, basic (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Discontinued operations, basic (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Discontinued operations, basic (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Net income per share:
Net loss per share (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Net loss per share (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Discontinued operations (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Discontinued operations (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Basic (in dollars per share)

1.64

0.91

1.40

0.91

0.40

1.02

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Basic (in dollars per share)

1.64

0.91

1.40

0.91

0.40

1.02

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Continuing operations, diluted (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Continuing operations, diluted (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Discontinued operations, diluted (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Discontinued operations, diluted (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Discontinued operations (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Discontinued operations (in dollars per share)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Diluted (in dollars per share)

1.62

0.88

1.38

0.91

0.39

1.00

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Diluted (in dollars per share)

1.62

0.88

1.38

0.91

0.39

1.00

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Shares used in per share calculations:
Basic and diluted (in shares)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Basic and diluted (in shares)

-

-

-

-

-

-

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Basic (in shares)

9,638

9,603

9,678

9,882

9,933

9,917

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Basic (in shares)

9,638

9,603

9,678

9,882

9,933

9,917

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Diluted (in shares)

9,791

9,857

9,813

9,961

10,117

10,169

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

Diluted (in shares)

9,791

9,857

9,813

9,961

10,117

10,169

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx

xxxxx