Box 12 entry

The letter code of a Box 12 entry (values like C, D, DD, W), verbatim uppercase as printed in the vertical 'Code' rail of the blank form or at the left edge of the register column '12 See Instrs. for Box 12'. Identifies the row — Box 12 rows are aligned by this code at eval time, not by position.

Box 12 code

Dollar amount printed beside the Box 12 code in any printed slot: '12a See instructions for box 12', '12b', '12c', or '12d' on the IRS blank, or in the register column '12 See Instrs. for Box 12'. JSON number exactly as printed; null if a code prints with no amount.

Box 12 amount

Box 14 entry

Text label of a box '14 Other' entry, verbatim as printed, e.g. RISDI on this wave. Identifies the row — Box 14 rows are aligned by this description at eval time, not by position.

Box 14 description

Dollar amount printed beside the description in box '14 Other'. JSON number exactly as printed; null if a description prints with no amount.

Box 14 amount

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 1 of the two printed 'boxes 15-20' entry rows).

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 1 of the two printed 'boxes 15-20' entry rows).

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

17 State income tax

18 Local wages, tips, etc.

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 1 of the two printed 'boxes 15-20' entry rows).

20 Locality name

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

17 State income tax

Amount in box '18 Local wages, tips, etc.' - the LOCAL wages column, distinct from box '16 State wages, tips, etc.' (do not copy the state amount here). Null when box 18 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

18 Local wages, tips, etc.

Amount in box '19 Local income tax' - the LOCAL tax column, distinct from box '17 State income tax' (do not copy the state amount here). Null when box 19 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

20 Locality name

Box 'a Employee's social security number'. These copies print a masked value, often with overstruck characters. Policy: if the last four digits are legibly printed (e.g. 'XXX-XX-9186'), return 'XXX-XX-' plus those digits; if the tail is fully masked/overstruck, return exactly 'XXX-XX-XXXX' (canonical 4-X form) - do NOT try to count the struck-out X characters. Null only if box a is entirely absent.

a Employee’s social security number

Box 'b Employer identification number (EIN)'; the register variant caption under letter b reads 'identification number'. The employer federal EIN verbatim as printed, keeping the hyphen, e.g. 05-0517079.

b Employer identification number (EIN)

First line of box 'c Employer’s name, address, and ZIP code' — the employer name only, verbatim as printed, e.g. PASCOAG UTILITY DISTRICT.

c Employer name

The lines of box 'c Employer’s name, address, and ZIP code' after the employer name — street or PO box, then city, state and ZIP, verbatim. Join printed lines with comma + space, e.g. PO BOX 107, PASCOAG RI 02859.

c Employer address and ZIP code

The 'Void' checkbox printed beside box d. A mark (X or similar) INSIDE the box counts; the box outline alone is not a mark. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

Void checkbox

Employee full name as printed. Blank form boxes: 'e Employee’s first name and initial', 'Last name', 'Suff.'; the register variant prints the name as the first line of the combined block 'e Employee’s name, address, and ZIP code'. Keep middle initial and any suffix verbatim, e.g. JENNA M ANTHONY.

Employee address: box 'f Employee’s address and ZIP code' on the blank form; the register variant prints it as the lines after the name inside the combined block 'e Employee’s name, address, and ZIP code'. Join printed lines with comma + space — street, then city, state and ZIP, verbatim, e.g. 221 EMERSON RD, HARRISVILLE RI 02830.

f Employee address and ZIP code

Box '1 Wages, tips, other compensation'. Dollar amount as a JSON number, exactly as printed (this register prints plain decimals such as 40093.72 — no thousands separators or dollar signs); null if the box is blank.

1 Wages, tips, other compensation

Box '2 Federal income tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

2 Federal income tax withheld

Box '3 Social security wages'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

3 Social security wages

Box '4 Social security tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

4 Social security tax withheld

Box '5 Medicare wages and tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

5 Medicare wages and tips

Box '6 Medicare tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

6 Medicare tax withheld

Box '7 Social security tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

7 Social security tips

Box '8 Allocated tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

8 Allocated tips

Box '10 Dependent care benefits'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

10 Dependent care benefits

Box '11 Nonqualified plans'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

11 Nonqualified plans

Box 12 coded amounts. The blank form prints four slots '12a See instructions for box 12', '12b', '12c', '12d', each with a vertical 'Code' rail; the register variant prints a single column headed '12 See Instrs. for Box 12' with one code letter and amount per line. One row per printed code entry, in print order; null if this copy prints no Box 12 entries.

12 Box 12 coded amounts

'13 Statutory employee' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Statutory employee

'Retirement plan' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Retirement plan

'Third-party sick pay' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Third-party sick pay

'Subtotal' checkbox in the box-13 grid (register variant only). Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Subtotal (register variant only)

Box '14 Other' — employer-defined deductions and benefits, e.g. RISDI on this wave. One row per printed description and amount pair, in print order; null if box 14 is blank.

14 Other

The first printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 1

The second printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 2

Box 'd Control number' - the FIRST printed line only (e.g. '0012-0012N426'). Verbatim.

Control Number Line 1

Box 'd Control number' - the SECOND printed line only (e.g. '0000000165-ELECTR'), the register sequence/type line. Verbatim; null if the box prints a single line.

Control Number Line 2

Form W-2 Wage and Tax Statement (2020)

1445 SPRING LAKE ROAD, HARRISVILLE RI 02830

RISDI

* **2 Federal income tax withheld**: 6548.45

* **4 Social security tax withheld**: 4723.58

RISDI


Box 12 entry

The letter code of a Box 12 entry (values like C, D, DD, W), verbatim uppercase as printed in the vertical 'Code' rail of the blank form or at the left edge of the register column '12 See Instrs. for Box 12'. Identifies the row — Box 12 rows are aligned by this code at eval time, not by position.

Box 12 code

Dollar amount printed beside the Box 12 code in any printed slot: '12a See instructions for box 12', '12b', '12c', or '12d' on the IRS blank, or in the register column '12 See Instrs. for Box 12'. JSON number exactly as printed; null if a code prints with no amount.

Box 12 amount

Box 14 entry

Text label of a box '14 Other' entry, verbatim as printed, e.g. RISDI on this wave. Identifies the row — Box 14 rows are aligned by this description at eval time, not by position.

Box 14 description

Dollar amount printed beside the description in box '14 Other'. JSON number exactly as printed; null if a description prints with no amount.

Box 14 amount

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 1 of the two printed 'boxes 15-20' entry rows).

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 1 of the two printed 'boxes 15-20' entry rows).

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

17 State income tax

18 Local wages, tips, etc.

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 1 of the two printed 'boxes 15-20' entry rows).

20 Locality name

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

17 State income tax

Amount in box '18 Local wages, tips, etc.' - the LOCAL wages column, distinct from box '16 State wages, tips, etc.' (do not copy the state amount here). Null when box 18 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

18 Local wages, tips, etc.

Amount in box '19 Local income tax' - the LOCAL tax column, distinct from box '17 State income tax' (do not copy the state amount here). Null when box 19 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

20 Locality name

Box 'a Employee's social security number'. These copies print a masked value, often with overstruck characters. Policy: if the last four digits are legibly printed (e.g. 'XXX-XX-9186'), return 'XXX-XX-' plus those digits; if the tail is fully masked/overstruck, return exactly 'XXX-XX-XXXX' (canonical 4-X form) - do NOT try to count the struck-out X characters. Null only if box a is entirely absent.

a Employee’s social security number

Box 'b Employer identification number (EIN)'; the register variant caption under letter b reads 'identification number'. The employer federal EIN verbatim as printed, keeping the hyphen, e.g. 05-0517079.

b Employer identification number (EIN)

First line of box 'c Employer’s name, address, and ZIP code' — the employer name only, verbatim as printed, e.g. PASCOAG UTILITY DISTRICT.

c Employer name

The lines of box 'c Employer’s name, address, and ZIP code' after the employer name — street or PO box, then city, state and ZIP, verbatim. Join printed lines with comma + space, e.g. PO BOX 107, PASCOAG RI 02859.

c Employer address and ZIP code

The 'Void' checkbox printed beside box d. A mark (X or similar) INSIDE the box counts; the box outline alone is not a mark. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

Void checkbox

Employee full name as printed. Blank form boxes: 'e Employee’s first name and initial', 'Last name', 'Suff.'; the register variant prints the name as the first line of the combined block 'e Employee’s name, address, and ZIP code'. Keep middle initial and any suffix verbatim, e.g. JENNA M ANTHONY.

e Employee name (first name and initial, last name, suffix)

Employee address: box 'f Employee’s address and ZIP code' on the blank form; the register variant prints it as the lines after the name inside the combined block 'e Employee’s name, address, and ZIP code'. Join printed lines with comma + space — street, then city, state and ZIP, verbatim, e.g. 221 EMERSON RD, HARRISVILLE RI 02830.

f Employee address and ZIP code

Box '1 Wages, tips, other compensation'. Dollar amount as a JSON number, exactly as printed (this register prints plain decimals such as 40093.72 — no thousands separators or dollar signs); null if the box is blank.

1 Wages, tips, other compensation

Box '2 Federal income tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

2 Federal income tax withheld

Box '3 Social security wages'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

3 Social security wages

Box '4 Social security tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

4 Social security tax withheld

Box '5 Medicare wages and tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

5 Medicare wages and tips

Box '6 Medicare tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

6 Medicare tax withheld

Box '7 Social security tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

7 Social security tips

Box '8 Allocated tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

8 Allocated tips

Box '10 Dependent care benefits'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

10 Dependent care benefits

Box '11 Nonqualified plans'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

11 Nonqualified plans

Box 12 coded amounts. The blank form prints four slots '12a See instructions for box 12', '12b', '12c', '12d', each with a vertical 'Code' rail; the register variant prints a single column headed '12 See Instrs. for Box 12' with one code letter and amount per line. One row per printed code entry, in print order; null if this copy prints no Box 12 entries.

12 Box 12 coded amounts

'13 Statutory employee' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Statutory employee

'Retirement plan' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Retirement plan

'Third-party sick pay' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Third-party sick pay

'Subtotal' checkbox in the box-13 grid (register variant only). Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Subtotal (register variant only)

Box '14 Other' — employer-defined deductions and benefits, e.g. RISDI on this wave. One row per printed description and amount pair, in print order; null if box 14 is blank.

14 Other

The first printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 1

The second printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 2

Box 'd Control number' - the FIRST printed line only (e.g. '0012-0012N426'). Verbatim.

Control Number Line 1

Box 'd Control number' - the SECOND printed line only (e.g. '0000000165-ELECTR'), the register sequence/type line. Verbatim; null if the box prints a single line.

Control Number Line 2

Form W-2 Wage and Tax Statement (2020)

RISDI

* **b Employer's identification number**: 05-0517079

* **2 Federal income tax withheld**: 3757.04

* **4 Social security tax withheld**: 3276.56

RISDI


Box 12 entry

The letter code of a Box 12 entry (values like C, D, DD, W), verbatim uppercase as printed in the vertical 'Code' rail of the blank form or at the left edge of the register column '12 See Instrs. for Box 12'. Identifies the row — Box 12 rows are aligned by this code at eval time, not by position.

Box 12 code

Dollar amount printed beside the Box 12 code in any printed slot: '12a See instructions for box 12', '12b', '12c', or '12d' on the IRS blank, or in the register column '12 See Instrs. for Box 12'. JSON number exactly as printed; null if a code prints with no amount.

Box 12 amount

Box 14 entry

Text label of a box '14 Other' entry, verbatim as printed, e.g. RISDI on this wave. Identifies the row — Box 14 rows are aligned by this description at eval time, not by position.

Box 14 description

Dollar amount printed beside the description in box '14 Other'. JSON number exactly as printed; null if a description prints with no amount.

Box 14 amount

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 1 of the two printed 'boxes 15-20' entry rows).

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 1 of the two printed 'boxes 15-20' entry rows).

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

17 State income tax

18 Local wages, tips, etc.

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 1 of the two printed 'boxes 15-20' entry rows).

20 Locality name

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

17 State income tax

Amount in box '18 Local wages, tips, etc.' - the LOCAL wages column, distinct from box '16 State wages, tips, etc.' (do not copy the state amount here). Null when box 18 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

18 Local wages, tips, etc.

Amount in box '19 Local income tax' - the LOCAL tax column, distinct from box '17 State income tax' (do not copy the state amount here). Null when box 19 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

20 Locality name

Box 'a Employee's social security number'. These copies print a masked value, often with overstruck characters. Policy: if the last four digits are legibly printed (e.g. 'XXX-XX-9186'), return 'XXX-XX-' plus those digits; if the tail is fully masked/overstruck, return exactly 'XXX-XX-XXXX' (canonical 4-X form) - do NOT try to count the struck-out X characters. Null only if box a is entirely absent.

a Employee’s social security number

Box 'b Employer identification number (EIN)'; the register variant caption under letter b reads 'identification number'. The employer federal EIN verbatim as printed, keeping the hyphen, e.g. 05-0517079.

b Employer identification number (EIN)

First line of box 'c Employer’s name, address, and ZIP code' — the employer name only, verbatim as printed, e.g. PASCOAG UTILITY DISTRICT.

c Employer name

The lines of box 'c Employer’s name, address, and ZIP code' after the employer name — street or PO box, then city, state and ZIP, verbatim. Join printed lines with comma + space, e.g. PO BOX 107, PASCOAG RI 02859.

c Employer address and ZIP code

The 'Void' checkbox printed beside box d. A mark (X or similar) INSIDE the box counts; the box outline alone is not a mark. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

Void checkbox

Employee full name as printed. Blank form boxes: 'e Employee’s first name and initial', 'Last name', 'Suff.'; the register variant prints the name as the first line of the combined block 'e Employee’s name, address, and ZIP code'. Keep middle initial and any suffix verbatim, e.g. JENNA M ANTHONY.

Employee address: box 'f Employee’s address and ZIP code' on the blank form; the register variant prints it as the lines after the name inside the combined block 'e Employee’s name, address, and ZIP code'. Join printed lines with comma + space — street, then city, state and ZIP, verbatim, e.g. 221 EMERSON RD, HARRISVILLE RI 02830.

f Employee address and ZIP code

Box '1 Wages, tips, other compensation'. Dollar amount as a JSON number, exactly as printed (this register prints plain decimals such as 40093.72 — no thousands separators or dollar signs); null if the box is blank.

1 Wages, tips, other compensation

Box '2 Federal income tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

2 Federal income tax withheld

Box '3 Social security wages'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

3 Social security wages

Box '4 Social security tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

4 Social security tax withheld

Box '5 Medicare wages and tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

5 Medicare wages and tips

Box '6 Medicare tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

6 Medicare tax withheld

Box '7 Social security tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

7 Social security tips

Box '8 Allocated tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

8 Allocated tips

Box '10 Dependent care benefits'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

10 Dependent care benefits

Box '11 Nonqualified plans'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

11 Nonqualified plans

Box 12 coded amounts. The blank form prints four slots '12a See instructions for box 12', '12b', '12c', '12d', each with a vertical 'Code' rail; the register variant prints a single column headed '12 See Instrs. for Box 12' with one code letter and amount per line. One row per printed code entry, in print order; null if this copy prints no Box 12 entries.

12 Box 12 coded amounts

'13 Statutory employee' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Statutory employee

'Retirement plan' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Retirement plan

'Third-party sick pay' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Third-party sick pay

'Subtotal' checkbox in the box-13 grid (register variant only). Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Subtotal (register variant only)

Box '14 Other' — employer-defined deductions and benefits, e.g. RISDI on this wave. One row per printed description and amount pair, in print order; null if box 14 is blank.

14 Other

The first printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 1

The second printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 2

Box 'd Control number' - the FIRST printed line only (e.g. '0012-0012N426'). Verbatim.

Control Number Line 1

Box 'd Control number' - the SECOND printed line only (e.g. '0000000165-ELECTR'), the register sequence/type line. Verbatim; null if the box prints a single line.

Control Number Line 2

Form W-2 Wage and Tax Statement (2020)

35 ROGER WILLIAMS DR, GREENVILLE RI 02828

RISDI

| d Control number0012-0012N4260000000165-ELECTR
b Employer's identification number05-0517079
13 Statutory employee \[ ] Retirement plan \[x] Third-party sick pay \[ ] Subtotal \[ ]
12 See...

...CTR
a Employee's social security numberXXX-XX-XXXX14 OtherRISDI 939.9016 State wages, tips, etc.76502.34 | Void
a Employee's social security numberXXX-XX-XXXX14 OtherRISDI 939.9016 State wages...

...
8 Allocated tips
11 Nonqualified plans
20 Locality name | 2 Federal income tax withheld12738.24
4 Social security tax withheld4992.75
6 Medicare tax withheld1167.66
8 Allocate...

...name, address, and ZIP codePASCOAG UTILITY DISTRICTPO BOX 107PASCOAG RI 028593 Social security wages80528.20<br/>e Employee's name, address, and ZIP codeDOUGLAS A MENARD35 ROGER WILLIAMS DRGREENVILLE...

.../>19 Local income tax | 1 Wages, tips, other compensation76502.34
4 Social security tax withheld4992.75
5 Medicare wages and tips80528.20
8 Allocated tips
11 Nonqualified plans
20...

...al income tax withheld12738.24
4 Social security tax withheld4992.75
6 Medicare tax withheld1167.66
8 Allocated tips
11 Nonqualified plans
20 Locality name |

for Box 12C 223.02D 4025.86 Employer's state ID No.05051707900 | d Control number0012-0012N4260000000165-ELECTR<br/>a Employee's social security numberXXX-XX-XXXX14 OtherRISDI 939.9016 State wages, ti...

for Box 12C 223.02D 4025.86 15 StateRI | d Control number0012-0012N4260000000165-ELECTR
b Employer's identification number05-0517079
13 Statutory employee \[ ] Retirement plan \[x] Third-party...

...umber0012-0012N4260000000165-ELECTR
a Employee's social security numberXXX-XX-XXXX14 OtherRISDI 939.9016 State wages, tips, etc.76502.34 | Void
a Employee's social security numberXXX-XX-XXXX14...

RISDI

...tate ID No.05051707900 | d Control number0012-0012N4260000000165-ELECTR
a Employee's social security numberXXX-XX-XXXX14 OtherRISDI 939.9016 State wages, tips, etc.76502.34 | Void
a Employee's...

...me, address, and ZIP codeDOUGLAS A MENARD35 ROGER WILLIAMS DRGREENVILLE RI 02828 17 State income tax3086.61 | c Employer's name, address, and ZIP codePASCOAG UTILITY DISTRICTPO BOX 107PASCOAG RI 02859...


Box 12 entry

The letter code of a Box 12 entry (values like C, D, DD, W), verbatim uppercase as printed in the vertical 'Code' rail of the blank form or at the left edge of the register column '12 See Instrs. for Box 12'. Identifies the row — Box 12 rows are aligned by this code at eval time, not by position.

Box 12 code

Dollar amount printed beside the Box 12 code in any printed slot: '12a See instructions for box 12', '12b', '12c', or '12d' on the IRS blank, or in the register column '12 See Instrs. for Box 12'. JSON number exactly as printed; null if a code prints with no amount.

Box 12 amount

Box 14 entry

Text label of a box '14 Other' entry, verbatim as printed, e.g. RISDI on this wave. Identifies the row — Box 14 rows are aligned by this description at eval time, not by position.

Box 14 description

Dollar amount printed beside the description in box '14 Other'. JSON number exactly as printed; null if a description prints with no amount.

Box 14 amount

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 1 of the two printed 'boxes 15-20' entry rows).

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 1 of the two printed 'boxes 15-20' entry rows).

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

17 State income tax

18 Local wages, tips, etc.

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 1 of the two printed 'boxes 15-20' entry rows).

20 Locality name

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

17 State income tax

Amount in box '18 Local wages, tips, etc.' - the LOCAL wages column, distinct from box '16 State wages, tips, etc.' (do not copy the state amount here). Null when box 18 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

18 Local wages, tips, etc.

Amount in box '19 Local income tax' - the LOCAL tax column, distinct from box '17 State income tax' (do not copy the state amount here). Null when box 19 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

20 Locality name

Box 'a Employee's social security number'. These copies print a masked value, often with overstruck characters. Policy: if the last four digits are legibly printed (e.g. 'XXX-XX-9186'), return 'XXX-XX-' plus those digits; if the tail is fully masked/overstruck, return exactly 'XXX-XX-XXXX' (canonical 4-X form) - do NOT try to count the struck-out X characters. Null only if box a is entirely absent.

a Employee’s social security number

Box 'b Employer identification number (EIN)'; the register variant caption under letter b reads 'identification number'. The employer federal EIN verbatim as printed, keeping the hyphen, e.g. 05-0517079.

b Employer identification number (EIN)

First line of box 'c Employer’s name, address, and ZIP code' — the employer name only, verbatim as printed, e.g. PASCOAG UTILITY DISTRICT.

c Employer name

The lines of box 'c Employer’s name, address, and ZIP code' after the employer name — street or PO box, then city, state and ZIP, verbatim. Join printed lines with comma + space, e.g. PO BOX 107, PASCOAG RI 02859.

c Employer address and ZIP code

The 'Void' checkbox printed beside box d. A mark (X or similar) INSIDE the box counts; the box outline alone is not a mark. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

Void checkbox

Employee full name as printed. Blank form boxes: 'e Employee’s first name and initial', 'Last name', 'Suff.'; the register variant prints the name as the first line of the combined block 'e Employee’s name, address, and ZIP code'. Keep middle initial and any suffix verbatim, e.g. JENNA M ANTHONY.

Employee address: box 'f Employee’s address and ZIP code' on the blank form; the register variant prints it as the lines after the name inside the combined block 'e Employee’s name, address, and ZIP code'. Join printed lines with comma + space — street, then city, state and ZIP, verbatim, e.g. 221 EMERSON RD, HARRISVILLE RI 02830.

f Employee address and ZIP code

Box '1 Wages, tips, other compensation'. Dollar amount as a JSON number, exactly as printed (this register prints plain decimals such as 40093.72 — no thousands separators or dollar signs); null if the box is blank.

1 Wages, tips, other compensation

Box '2 Federal income tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

2 Federal income tax withheld

Box '3 Social security wages'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

3 Social security wages

Box '4 Social security tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

4 Social security tax withheld

Box '5 Medicare wages and tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

5 Medicare wages and tips

Box '6 Medicare tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

6 Medicare tax withheld

Box '7 Social security tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

7 Social security tips

Box '8 Allocated tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

8 Allocated tips

Box '10 Dependent care benefits'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

10 Dependent care benefits

Box '11 Nonqualified plans'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

11 Nonqualified plans

Box 12 coded amounts. The blank form prints four slots '12a See instructions for box 12', '12b', '12c', '12d', each with a vertical 'Code' rail; the register variant prints a single column headed '12 See Instrs. for Box 12' with one code letter and amount per line. One row per printed code entry, in print order; null if this copy prints no Box 12 entries.

12 Box 12 coded amounts

'13 Statutory employee' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Statutory employee

'Retirement plan' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Retirement plan

'Third-party sick pay' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Third-party sick pay

'Subtotal' checkbox in the box-13 grid (register variant only). Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Subtotal (register variant only)

Box '14 Other' — employer-defined deductions and benefits, e.g. RISDI on this wave. One row per printed description and amount pair, in print order; null if box 14 is blank.

14 Other

The first printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 1

The second printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 2

Box 'd Control number' - the FIRST printed line only (e.g. '0012-0012N426'). Verbatim.

Control Number Line 1

Box 'd Control number' - the SECOND printed line only (e.g. '0000000165-ELECTR'), the register sequence/type line. Verbatim; null if the box prints a single line.

Control Number Line 2

Form W-2 Wage and Tax Statement (2020)

RISDI

* **c Employer's name, address, and ZIP code**: PASCOAG UTILITY DISTRICTPO BOX 107PASCOAG RI 02859

* **e Employee's name, address, and ZIP code**: CHRISTOPHER J PICCARDI142 EAST AVEHARRISVILLE RI 02830

* **1 Wages, tips, other compensation**: 97344.08

* **2 Federal income tax withheld**: 16438.94

* **3 Social security wages**: 100371.74

* **4 Social security tax withheld**: 6223.05

* **5 Medicare wages and tips**: 100371.74

RISDI


Box 12 entry

The letter code of a Box 12 entry (values like C, D, DD, W), verbatim uppercase as printed in the vertical 'Code' rail of the blank form or at the left edge of the register column '12 See Instrs. for Box 12'. Identifies the row — Box 12 rows are aligned by this code at eval time, not by position.

Box 12 code

Dollar amount printed beside the Box 12 code in any printed slot: '12a See instructions for box 12', '12b', '12c', or '12d' on the IRS blank, or in the register column '12 See Instrs. for Box 12'. JSON number exactly as printed; null if a code prints with no amount.

Box 12 amount

Box 14 entry

Text label of a box '14 Other' entry, verbatim as printed, e.g. RISDI on this wave. Identifies the row — Box 14 rows are aligned by this description at eval time, not by position.

Box 14 description

Dollar amount printed beside the description in box '14 Other'. JSON number exactly as printed; null if a description prints with no amount.

Box 14 amount

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 1 of the two printed 'boxes 15-20' entry rows).

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 1 of the two printed 'boxes 15-20' entry rows).

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 1 of the two printed 'boxes 15-20' entry rows).

17 State income tax

18 Local wages, tips, etc.

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 1 of the two printed 'boxes 15-20' entry rows).

20 Locality name

Box '15 State' — the two-letter state abbreviation of the single printed state row, verbatim, e.g. RI. This copy prints one state row only; a multi-state W-2 (a second row in boxes 15-20) is out of scope for this schema version. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 State

Box 15 'Employer’s state ID number' (the register variant caption reads 'state ID No.'). The state identification number verbatim as printed, keeping leading zeros, e.g. 05051707900. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

15 Employer’s state ID number

Box '16 State wages, tips, etc.' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

16 State wages, tips, etc.

Box '17 State income tax' for the single printed state row. Dollar amount as a JSON number, exactly as printed; null if the box is blank. (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

17 State income tax

Amount in box '18 Local wages, tips, etc.' - the LOCAL wages column, distinct from box '16 State wages, tips, etc.' (do not copy the state amount here). Null when box 18 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

18 Local wages, tips, etc.

Amount in box '19 Local income tax' - the LOCAL tax column, distinct from box '17 State income tax' (do not copy the state amount here). Null when box 19 is blank, as it is on all RI register docs. (row 2 of the two printed 'boxes 15-20' entry rows).

19 Local income tax

Box '20 Locality name' for the single printed state row, verbatim as printed; null if the box is blank (blank on all wave docs). (row 2 of the two printed 'boxes 15-20' entry rows). The employer-reference register variant prints only one row - null there.

20 Locality name

Box 'a Employee's social security number'. These copies print a masked value, often with overstruck characters. Policy: if the last four digits are legibly printed (e.g. 'XXX-XX-9186'), return 'XXX-XX-' plus those digits; if the tail is fully masked/overstruck, return exactly 'XXX-XX-XXXX' (canonical 4-X form) - do NOT try to count the struck-out X characters. Null only if box a is entirely absent.

a Employee’s social security number

Box 'b Employer identification number (EIN)'; the register variant caption under letter b reads 'identification number'. The employer federal EIN verbatim as printed, keeping the hyphen, e.g. 05-0517079.

b Employer identification number (EIN)

First line of box 'c Employer’s name, address, and ZIP code' — the employer name only, verbatim as printed, e.g. PASCOAG UTILITY DISTRICT.

c Employer name

The lines of box 'c Employer’s name, address, and ZIP code' after the employer name — street or PO box, then city, state and ZIP, verbatim. Join printed lines with comma + space, e.g. PO BOX 107, PASCOAG RI 02859.

c Employer address and ZIP code

The 'Void' checkbox printed beside box d. A mark (X or similar) INSIDE the box counts; the box outline alone is not a mark. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

Void checkbox

Employee full name as printed. Blank form boxes: 'e Employee’s first name and initial', 'Last name', 'Suff.'; the register variant prints the name as the first line of the combined block 'e Employee’s name, address, and ZIP code'. Keep middle initial and any suffix verbatim, e.g. JENNA M ANTHONY.

Employee address: box 'f Employee’s address and ZIP code' on the blank form; the register variant prints it as the lines after the name inside the combined block 'e Employee’s name, address, and ZIP code'. Join printed lines with comma + space — street, then city, state and ZIP, verbatim, e.g. 221 EMERSON RD, HARRISVILLE RI 02830.

f Employee address and ZIP code

Box '1 Wages, tips, other compensation'. Dollar amount as a JSON number, exactly as printed (this register prints plain decimals such as 40093.72 — no thousands separators or dollar signs); null if the box is blank.

1 Wages, tips, other compensation

Box '2 Federal income tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

2 Federal income tax withheld

Box '3 Social security wages'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

3 Social security wages

Box '4 Social security tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

4 Social security tax withheld

Box '5 Medicare wages and tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

5 Medicare wages and tips

Box '6 Medicare tax withheld'. Dollar amount as a JSON number, exactly as printed; null if the box is blank.

6 Medicare tax withheld

Box '7 Social security tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

7 Social security tips

Box '8 Allocated tips'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

8 Allocated tips

Box '10 Dependent care benefits'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

10 Dependent care benefits

Box '11 Nonqualified plans'. Dollar amount as a JSON number, exactly as printed; null if the box is blank (printed but typically empty on this wave).

11 Nonqualified plans

Box 12 coded amounts. The blank form prints four slots '12a See instructions for box 12', '12b', '12c', '12d', each with a vertical 'Code' rail; the register variant prints a single column headed '12 See Instrs. for Box 12' with one code letter and amount per line. One row per printed code entry, in print order; null if this copy prints no Box 12 entries.

12 Box 12 coded amounts

'13 Statutory employee' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Statutory employee

'Retirement plan' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Retirement plan

'Third-party sick pay' checkbox in the box-13 grid. Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Third-party sick pay

'Subtotal' checkbox in the box-13 grid (register variant only). Two-state policy: true ONLY if a mark is printed inside the box; false otherwise (unmarked, or this checkbox not printed on this copy). Never return null for this field.

13 Subtotal (register variant only)

Box '14 Other' — employer-defined deductions and benefits, e.g. RISDI on this wave. One row per printed description and amount pair, in print order; null if box 14 is blank.

14 Other

The first printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 1

The second printed entry row of boxes '15 State' through '20 Locality name'. Null when this row is entirely blank or not printed.

State/Local Row 2

Box 'd Control number' - the FIRST printed line only (e.g. '0012-0012N426'). Verbatim.

Control Number Line 1

Box 'd Control number' - the SECOND printed line only (e.g. '0000000165-ELECTR'), the register sequence/type line. Verbatim; null if the box prints a single line.

Control Number Line 2

Form W-2 Wage and Tax Statement (2020)

RISDI

* **b Employer's identification number**: 05-0517079

* **2 Federal income tax withheld**: 5679.00

* **4 Social security tax withheld**: 3110.01

RISDI


BrokerageConsolidated1099

Schema for a US brokerage consolidated 1099 / composite tax statement. Bundles 1099-DIV / 1099-INT / 1099-B / 1099-OID / 1099-MISC for one account-year. The long-doc list is the 1099-B per-lot Proceeds From Broker and Barter Exchange transactions section. Doc-type taxonomy: (1) filled per-recipient composite statement = extract everything; (2) pure-explainer guide PDF with no recipient header = all fields null/[]; (3) guide PDF with an embedded sample composite inside = extract from the embedded sample as if it were a real composite.

One per-lot row from the official 1099-B 'Proceeds From Broker and Barter Exchange Transactions' section. Do NOT include rows from a 'Year-End Summary' / 'Realized Gain or (Loss)' supplemental section even when the same security appears there — those are issuer-supplemental rollups and the PDF itself usually says 'this information is not provided to the IRS'. Do NOT emit Security Subtotal / Sale Date Total / Total Short-Term / Total Long-Term / category-total rows as lots.

Which 1099-B section this row appears under. One of: 'short_term_covered' (Box A, basis reported to IRS), 'short_term_noncovered' (Box B), 'short_term_noncovered_no_basis' (Box B, basis missing), 'long_term_covered' (Box D, basis reported), 'long_term_noncovered' (Box E, basis NOT reported), 'long_term_noncovered_no_basis' (Box E, basis missing), 'undetermined' (Box C or F, holding period unknown). Map source phrasings: 'Short-Term Transactions for Which Basis Is Reported' / 'Box A' -> short_term_covered; 'Box B' short-term -> short_term_noncovered; 'Box D' -> long_term_covered; 'Box E' -> long_term_noncovered. Do NOT confuse with the holding_period or basis_reporting_status separate fields (those split this enum into two axes for users who want them separately).

Holding period axis derived from section_category. One of: 'short_term', 'long_term', 'undetermined'. Mirrors the section header's 'Short-Term' / 'Long-Term' / 'Holding Period Unknown' label.

Basis-reporting axis derived from section_category. One of: 'basis_reported_to_irs' (Box A or D), 'basis_not_reported_to_irs' (Box B or E with basis shown), 'basis_missing' (Box B or E with basis blank or '—'). The 1099-B section header indicates this.

Which Form 8949 box the section header instructs the taxpayer to use. One letter: A, B, C, D, E, F. From phrasings like 'report on Form 8949, Part I, with Box A checked' (A); 'Box B checked' (B); 'Part II ... Box D checked' (D). Strip the word 'Box' and any 'checked' qualifier.

Disposition/transaction type as printed in the 'Disposition Transaction' / 'Action' / leftmost column, or as a short code right after the CUSIP. Pershing-style long-form values: 'SELL', 'BUY TO COVER', 'SHORT SELL', 'REDEEM', 'TENDER', 'MERGER', 'CALLED', 'MATURED', 'Sale'. Schwab-style short codes (1–2 letters appended to or right of the CUSIP): 'S' = Sale, 'SS' = Short Sale, 'R' = Redemption, 'P' = Principal Payment, 'C' = Cancellation/Conversion, 'MT' = Maturity. Extract VERBATIM (preserve case/length as printed). Return null if no action column or code is present. Do NOT confuse with section_category (covered/noncovered) or with state-code letters that appear in a separate 'State' field.

Security or property description for this lot as printed in 'Description (Box 1a)' or '1a-Description of property'. Common label aliases: 'Description (Box 1a)', '1a-Description of property/CUSIP/Symbol', 'Security Description', '8-Description'. Extract VERBATIM as printed — preserve casing, spacing, trailing qualifiers like 'CALLED', 'MATURED', 'DUE mm/dd/yy', and section subtitle ('SAMPLE CORP BOND CALLED', not 'SAMPLE CORP BOND'). STRIP any leading quantity number that some brokers (Schwab) inline in the description column. STRIP a trailing CUSIP-or-Symbol substring that some brokers concatenate ('SAMPLE CORP / CUSIP: 68075N103 / Symbol: OPK' → 'SAMPLE CORP'). STRIP markdown formatting artifacts ('**', '*', leading/trailing '_' underscores). When a security has a description sub-header above several lot rows (Pershing layout), COPY the sub-header description into every lot row. Do NOT confuse with section banners ('Short-Term Transactions for Which Basis Is Reported') — those are section_category, not description. Do NOT confuse with subtotal/total row labels.

9-character CUSIP identifier for the security. Sources: 'CUSIP', 'CUSIP Number', 'CUSIP:', '1b CUSIP', or right-aligned next to security_description. Extract ONLY the CUSIP portion — if printed as '30246XXXX / Symbol: XXYY' or '30246XXXX/XXYY', extract '30246XXXX' (the 9-character CUSIP standard). Preserve masked digits as printed (e.g. '30246XXXX' if X's are in the source). For Schwab statements that print the ticker symbol on the line below the CUSIP, do NOT merge them. Return null if no CUSIP printed. CUSIPs apply to ALL lot rows under the same security-description group header — copy onto every lot.

Stock ticker symbol when printed alongside or below the CUSIP (Schwab format: 'XXYY' / 'ABCXX' / 'OPK' on the line below the CUSIP). Extract VERBATIM (uppercase as printed). Some brokers do not print a symbol separately — return null in that case. Do NOT include the CUSIP here; that's a separate field.

Quantity of shares / units / par value sold for this lot. Source columns: 'Quantity (Box 1a)', 'Quantity', '1e Quantity sold', 'Quantity Sold'. Numeric; strip commas; preserve decimals as printed (e.g. 100.0000, 26.8200, 5952.00, 5000.0000). If the broker (Schwab) inlines quantity in the description column like '5,952 SAMPLE CORP', extract '5952' here. If 'VARIOUS' appears, that's a Sale-Date-Total aggregator row — skip the row entirely. Return null only if the lot row truly has no printed quantity.

Date the security was acquired (1099-B Box 1b). Sources: 'Date Acquired (Box 1b)', '1b-Date acquired', 'Date of acquisition'. Format VERBATIM as printed (e.g. '01/01/20XX', '04/01/12', '12/09/16'). May literally be 'VARIOUS' or 'Various' when multiple acquisition dates roll up to one disposition — preserve as-is. May be BLANK on Box B / Box E noncovered lots where the broker doesn't know the acquisition date — return null (do NOT drop the lot just because date_acquired is null). May be printed as '––' / '—' / 'Not Provided' / 'NOT PROVIDED' on no-basis lots — these also map to null. Do NOT confuse with date_sold (sister column) or with the statement preparation date in the header. **Schwab layout convention**: when the per-lot row spans two physical lines, the TOP physical line carries date_acquired (the '1b–Date of acquisition' header is stacked above '1a–Date of sale'). When only ONE line shows a date for a lot, that date goes in date_acquired ONLY if context makes acquisition the natural read; otherwise it goes in date_sold and date_acquired is null.

Sale or disposition date (1099-B Box 1c). Sources: 'Date Sold or Disposed (Box 1c)', '1c-Date sold or disposed', 'Date of sale or exchange', '1a–Date of sale or exchange'. Format VERBATIM as printed (e.g. '06/01/20XX', '04/01/23', '04/08/12'). Do NOT reformat. Do NOT incorporate 'Net proceeds' annotations that may appear under the date. **Schwab layout convention**: when the per-lot row spans two physical lines, the BOTTOM physical line carries date_sold (the '1a–Date of sale or exchange' header is stacked below '1b–Date of acquisition'). This is the inverse of the Pershing convention where the sale date is typically on the same line as the disposition action.

Gross or net proceeds for this lot (1099-B Box 1d). Sources: 'Proceeds (Box 1d)', '1d-Proceeds', 'Sales price of stocks, bonds, etc.', '2a-Sales price'. Numeric USD; strip '$', commas; preserve sign (parentheses or trailing minus = negative); preserve cents. Strip footnote-marker asterisks ('100.00*' → 100.00). Do NOT confuse with cost_basis (immediately to the right) or with Security Subtotal / Sale Date Total / category-total rows.

Cost or other basis (1099-B Box 1e). Sources: 'Cost or Other Basis (Box 1e)', '1e-Cost or other basis', '3-Cost or other basis'. Numeric USD; strip '$', commas. May be null/blank legitimately on Box B / Box E noncovered lots where the broker doesn't report basis — return null (do NOT compute it yourself). May literally read 'Missing' / 'Not Provided' / '––' / '—' on no-basis sections — all of these map to null. May carry a single-letter footnote suffix like '(k)', '(e)', '(f)' indicating a basis adjustment note — strip the suffix and return only the numeric value.

Wash-sale loss disallowed for this lot (1099-B Box 1g). Sources: '1g-Wash Sale Loss Disallowed', '5-Wash sale loss disallowed', or a value tagged with 'W' indicator in a combined-adjustments column. Numeric, positive (it's a disallowed loss amount, not a signed gain). If the row has only a 'D' (market discount) or 'O' (option premium) indicator, this field is null. Do NOT confuse with accrued_market_discount or option_premium.

Accrued market discount for this lot (1099-B Box 1f). Sources: '1f-Accrued Market Discount', 'Accrued mkt disc', or a value tagged with 'D' indicator in a combined column. Numeric USD. Null if the indicator is 'O' or 'W' instead, or if the column is blank/dashed.

Option premium adjustment tagged with an 'O' indicator in the combined-adjustments column (or a dedicated 'Option Premium' column). Numeric. Null if no 'O' tag.

Realized gain or loss for this lot. Sources: 'Realized Gain or (Loss)', 'Gain/Loss(-)', '6-Gain or loss'. Numeric USD; losses negative (extract '(123.45)' or '-123.45' as -123.45). Preserve cents. For wash-sale-disallowed rows, the realized_gain_or_loss is typically 0 with the disallowed amount in wash_sale_loss_disallowed. Do NOT compute it from proceeds - cost_basis if the field is blank; return null.

Federal income tax withheld for THIS individual lot (1099-B Box 4). Sources: '4-Federal income tax withheld', 'Federal income tax withheld' column at the right of the per-lot row. Numeric USD. Null if the column is absent or blank for this row. Do NOT confuse with the top-level 1099-B total federal_tax_withheld scalar or with state_tax_withheld.

State 2-letter abbreviation for state tax withholding on this lot, when shown ('13-State', 'State'). E.g. 'CA', 'NY'. Null if no state withholding row.

State tax withheld for this lot ('15-State Tax Withheld', 'State tax withheld'). Numeric USD. Null if no state withholding row.

True if the lot row carries a '2b - Loss based on above amount in 2a is not allowed' or similar 'loss not allowed' annotation (some Fidelity rows). False or null otherwise. Affects Form 8949 reporting.

4-digit tax year for this statement, from the page header 'TAX YEAR YYYY' / '2025 TAX AND YEAR-END STATEMENT' / '2024 Consolidated 1099 Tax Statement'. Return null only if no tax year is printed (extremely rare on actual statements; common on explainer-only PDFs which should return null for all top-level fields).

Recipient's name as printed in 'Recipient's Name and Address'. May be in any casing as printed (e.g. 'JOHN Q. PUBLIC', 'dana JONES john JONES'). Extract VERBATIM. If multiple recipient names appear stacked (joint account), concatenate with ' / ' or capture as a single string preserving newlines. Do NOT include the address. Return null for pure-explainer PDFs without a recipient header.

Recipient's TIN as masked-printed (e.g. '***-**-6789', '***-**-9999', '123-45-XXXX'). Extract VERBATIM including the masking characters. Sources: 'Recipient's TIN', 'Recipient's Identification Number', 'Recipient's ID No.'. Return null on explainer PDFs.

Brokerage account number (e.g. '123-456789', '1111-9999', '123-45678'). Extract VERBATIM with any printed dashes or spaces. Sources: 'Account Number', 'Account No.'.

Payer (brokerage firm) name as printed in 'Payer Information' or the masthead. Examples: 'PERSHING LLC', 'Charles Schwab & Co., Inc.', 'Fidelity Brokerage Services LLC', 'BEAR STEARNS'. Extract VERBATIM (casing as printed).

Payer's Federal Identification Number (EIN), formatted as printed (e.g. '13-2741729', '04-3523567', '94-1737782'). Sources: 'Federal Identification Number', 'Federal ID Number', 'Payer's Federal ID Number', 'PAYER'S TIN'.

Statement preparation date as printed (e.g. '02/13/20XX', 'January 11, 2013'). Sources: 'Date Prepared', or the date next to the 'TAX AND YEAR-END STATEMENT' masthead. Extract VERBATIM. Do NOT confuse with any per-lot date_acquired/date_sold.

Summary box values from the 1099-DIV (Dividends and Distributions) section. Null if no 1099-DIV section is printed. **Box numbers shifted between the 2012 and 2024+ form revisions; this schema uses SEMANTIC field names where the box number changed, and the box-number aliases live inside each field description.** Subdivisions like 'Includes amount shown in box 1b' under box 1a are informational and do NOT make the value into a per-row list.

1099-DIV Box 1a 'Total Ordinary Dividends' (stable across form revisions). Numeric USD. Includes amounts shown in box 1b (qualified) but those are reported separately.

1099-DIV Box 1b 'Qualified Dividends' (stable). Subset of box 1a.

1099-DIV Box 2a 'Total Capital Gain Distributions' (stable). Includes amounts in boxes 2b, 2c, 2d, 2f.

1099-DIV Box 2b 'Unrecaptured Section 1250 Gain' (stable). Subset of box 2a; used for real estate / REIT depreciation recapture taxation.

1099-DIV Box 2c 'Section 1202 Gain' (qualified small business stock; stable). Subset of box 2a.

1099-DIV Box 2d 'Collectibles (28%) Gain' (stable). Subset of box 2a.

Section 897 Ordinary Dividends — Box 2e on 2024+ form (NEW after 2022; absent on Schwab 2012). Used for nonresident alien tax reporting.

Section 897 Capital Gain — Box 2f on 2024+ form (NEW after 2022; absent on Schwab 2012).

1099-DIV Box 3 'Nondividend Distributions' (stable). Return of capital; reduces cost basis, not taxable as dividend.

1099-DIV Box 4 'Federal Income Tax Withheld' (stable). The 1099-DIV summary total.

Section 199A Dividends — Box 5 on 2024+ form (NEW after 2018 with TCJA; absent on Schwab 2012). REIT dividends eligible for 199A deduction.

Investment Expenses pass-through. Box 5 on 2012 form, Box 6 on 2024+ form (renumbered after Section 199A was added). RIC/REMIC pass-through; rarely populated post-TCJA on individual statements.

Foreign Tax Paid. Box 6 on 2012 form, Box 7 on 2024+ form (renumbered). Used for the Foreign Tax Credit on Form 1116. Value is total USD across all foreign sources.

Cash Liquidation Distributions. Box 8 on 2012 form, Box 9 on 2024+ form.

Noncash Liquidation Distributions. Box 9 on 2012 form, Box 10 on 2024+ form.

Exempt-Interest Dividends (e.g. municipal-bond mutual fund dividends). Box 10 on 2012 form, Box 12 on 2024+ form. Federally tax-exempt but may be taxable at state level.

Specified Private Activity Bond Interest Dividends. Box 11 on 2012 form, Box 13 on 2024+ form. Subset of exempt_interest_dividends; subject to AMT.

Summary box values from the 1099-INT (Interest Income) section. Null if no 1099-INT section is printed. 1099-INT box numbers have been roughly stable across recent years; field names mirror the box numbers.

1099-INT Box 1 'Interest Income'. Does NOT include amounts in box 3 (US Treasury) or box 8 (tax-exempt).

1099-INT Box 3 'Interest on U.S. Savings Bonds and Treasury Obligations'. Generally exempt from state income tax.

1099-INT Box 4 'Federal Income Tax Withheld' (1099-INT summary).

1099-INT Box 5 'Investment Expenses' (pass-through). Rarely populated post-TCJA.

1099-INT Box 6 'Foreign Tax Paid'.

1099-INT Box 8 'Tax-Exempt Interest' (municipal bond interest etc.). Federally tax-exempt.

1099-INT Box 9 'Specified Private Activity Bond Interest'. Subset of box 8; subject to AMT.

1099-INT Box 10 'Market Discount' (for covered transactions only). Pershing shows this; Schwab 2012 form did not.

1099-INT Box 11 'Bond Premium' (for covered transactions only).

1099-INT Box 12 'Bond Premium on Treasury obligations' (for covered transactions only).

1099-INT Box 13 'Bond Premium on Tax-Exempt Bond' (for covered transactions only).

1099-INT State Tax Withheld summary across states. Box 13 on Schwab 2012 form, Box 17 on 2024+ form (renumbered to make room for bond-premium boxes).

Summary box values from the 1099-OID (Original Issue Discount) section. Null if no 1099-OID section is printed. Pershing also adds covered-transaction tracking fields (other periodic interest, acquisition premium, tax-exempt OID) — these live as semantic-named fields here.

1099-OID Box 1 'Total Original Issue Discount' (NOT on US Treasury — see box 6 for that).

1099-OID Box 4 'Federal Income Tax Withheld'.

1099-OID Box 6 'Original Issue Discount on U.S. Treasury Obligations'. Exempt from state and local income tax.

Other Periodic Interest (Pershing-specific summary; not a numbered IRS box but rolls into the broader OID reporting).

Market Discount for covered transactions (Pershing OID summary aggregates this).

Acquisition Premium for covered transactions (Pershing OID summary). Reduces taxable OID.

Tax-Exempt OID for covered transactions. OID on tax-exempt obligations.

Tax-Exempt OID on Specified Private Activity Bonds. Subset of tax_exempt_oid; subject to AMT.

Summary box values from the 1099-MISC (Miscellaneous Information) section. Null if no 1099-MISC section is printed. Box numbering has been stable for the major brokerage-relevant boxes (1, 2, 4, 8); state-withholding moved 16→17 in some years.

1099-MISC Box 1 'Rents'.

1099-MISC Box 2 'Royalties'.

1099-MISC Box 3 'Other Income'.

1099-MISC Box 4 'Federal Income Tax Withheld'.

1099-MISC Box 8 'Substitute payments in lieu of dividends or interest'.

1099-MISC State Tax Withheld summary. Box 16 on Schwab 2012 form, Box 16 on 2024+ form (stable for MISC).

The 1099-B long-doc list: every per-lot disposition row from the official 'Proceeds From Broker and Barter Exchange Transactions' section. EXCLUDE: (a) subtotal rows (Security Subtotal, Sale Date Total, Total Short-Term, Total Long-Term, category Total); (b) Year-End Summary / supplemental realized gain rows even if the same security appears there (the PDF usually says these are NOT reported to the IRS); (c) the blank-template row of a pure explainer PDF (a fully-blank template doesn't represent real lots). For doc-type 'pure explainer with no recipient header': return null. For doc-type 'filled composite with recipient' and 'guide+embedded filled sample': return the array of actual lot rows from the official 1099-B section.

Summary totals from the 1099-B section (separate from the per-lot list). On Pershing this appears as the 'Summary of Form 1099-B' panel on page 1. On Schwab this is the 'Total Sales Price' / 'Total Federal Income Tax Withheld' totals at the bottom of the per-section pages. On Fidelity sample, it's the TOTALS row at the bottom of the sample 1099-B table. Null when no 1099-B section is printed (pure-explainer PDFs).

1099-B total Gross Proceeds across all sections (covered + noncovered). Label aliases: 'Gross Proceeds (For Covered and Noncovered Transactions)', 'Total Sales Price of Stocks, Bonds, etc.', 'TOTALS' column under sales price. Should equal sum(form_1099_b_lots[].proceeds) for the same PDF.

1099-B total Cost or Other Basis (typically covered transactions only, sometimes also noncovered when basis is available). Label aliases: 'Cost or Other Basis (For Covered Transactions Only)', 'Total Cost or Other Basis', TOTALS column under cost basis.

1099-B Federal Income Tax Withheld summary (on Proceeds — distinct from per-lot or from the Reg Futures variant). Label aliases: 'Federal Income Tax Withheld – Proceeds', 'Total Federal Income Tax Withheld'. Numeric USD.

1099-B State Tax Withheld summary (on Proceeds — distinct from per-lot or from the Reg Futures variant). Label aliases: 'State Tax Withheld – Proceeds'. Numeric USD.

Total Box A Short-Term Realized Gain (positive amounts only). Often printed below the 1099-B table as 'Box A Short-Term Realized Gain'.

Total Short-Term Realized Loss (negative; printed as 'Box A Short-Term Realized Loss' or similar). Numeric — preserve negative sign.

Total Wash Sale Loss Disallowed summary across all sections. Label aliases: 'Box A Wash Sale Loss Disallowed', 'Total Wash Sale Loss Disallowed'.

Pershing-style 'Regulated Futures and Foreign Currency Forward Contracts' sub-section of 1099-B (Section 1256 contracts). Null if not present. This is a Pershing-specific layout — most Schwab/Fidelity samples don't have it.

'Profit or (Loss) Realized in 2025' (current-year realized). Numeric USD; preserve sign — parenthesized values are losses.

'Unrealized Profit or (Loss) on Open Contracts – 12/31/<prior year>'. Numeric USD; signed.

'Unrealized Profit or (Loss) on Open Contracts – 12/31/<current year>'. Numeric USD; signed.

Aggregate Profit or (Loss) across the realized + unrealized adjustments. Numeric USD; signed.

Federal Income Tax Withheld on Regulated Futures and Foreign Currency Forward Contracts.

State Tax Withheld on Regulated Futures and Foreign Currency Forward Contracts.

Aligned across extractor outputs by the composite (security, date_acquired, date_sold, proceeds) key. Single fields aren't unique because the same security can appear in multiple sub-sections and at multiple acquisition dates.


UtilityBill

A residential utility bill (electric and/or gas) from a single provider. Covers single-meter bills (Pepco electric, PPL electric) and dual-commodity bills (We Energies electric+gas). Top-level fields are flat bill-level identifiers and totals; per-meter usage is the repeated list `meters[]`.

Name of the utility company that issued the bill. Aliases: 'utility', 'company', the brand printed beside the bill title and in the payment remittance address. Examples: 'We Energies', 'Pepco', 'PPL Electric Utilities'. CASING: use the Title-Case brand exactly as it appears in the running body text and the remittance/return-payment block; do NOT copy the stylized all-lowercase logo wordmark (e.g. the Pepco logo renders 'pepco' but the company is 'Pepco'). Do NOT confuse with the competitive generation supplier (e.g. 'WGL Energy Svcs' on Pepco supply pages; the separate supplier referenced on PPL) — that is the third-party supplier, not the issuing distribution utility. Location: bill header/title and the 'make payable to' / remittance block.

The customer's utility account number. Aliases: 'Account Number', 'Account number', 'Account #'. Format: VERBATIM as printed, preserving internal spaces and dashes (e.g. We Energies '0123456789-00003', Pepco '0123 4567 890'). Do NOT confuse with: invoice_number (Pepco '200000088589'), service_number, the long barcode/scanline digit string at the bottom of a payment stub, or the meter number. Location: top summary table or the 'Account number:' label near the customer name; the payment stub repeats it.

The bill/invoice number uniquely identifying this statement, ONLY if the bill prints an explicit 'Invoice Number'/'Bill Number' label. Example: Pepco '200000088589' (printed as 'Invoice Number: 200000088589' on the coupon tear line). Format: verbatim digits as printed. Do NOT confuse with account_number, service_number, or an archive/page/system tag — in particular the We Energies 'WEC_PDF_Out_Archive 00001' string is an internal archive tag, NOT an invoice number, so We Energies invoice_number is null. Return null when no field is explicitly labeled invoice/bill number. Location: near the 'Please tear on the dotted line' coupon line or the bill header.

The service / point-of-delivery (POD) number distinct from the account number, ONLY if printed. Aliases: 'service number', 'Service No', 'POD ID'. Example: Pepco '0012 3456 7890 7001 6762 64' (printed as 'Residential-R - service number ...' on the 'Details of your Electric Charges' page). Format: verbatim including spaces. Do NOT confuse with account_number or meter_number. Return null if the bill shows no separate service number (e.g. We Energies prints none → null). Location: the per-service detail section header.

The name of the customer/account holder the bill is addressed to. Aliases: 'Customer Name', 'Service to', 'Bill to'. Format: verbatim as printed (e.g. We Energies 'JOHN Q CUSTOMER', Pepco 'PEPCO CUSTOMER'). Do NOT confuse with the utility_provider name or the remittance payee. Location: the addressee block near the service address or above the service-address label.

The address where utility service is delivered. Aliases: 'Service Address', 'Your service address', 'Service to'. Format: full street address as printed, single line, including city/state/ZIP if shown (e.g. We Energies '123 MAIN ST NEENAH WI 54956-1802', Pepco '123 9TH ST NW WASHINGTON DC 20012'). Do NOT confuse with the utility's remittance/PO-Box mailing address or the regulator addresses. Location: under the 'Service Address'/'Your service address' label near the customer name.

The date the bill was issued/printed, VERBATIM as printed. Aliases: 'Bill Date', 'Bill Issue date', 'Statement Date'. Examples: '02/03/2026', 'May 11, 2015'. RULE: return null if the bill prints no explicit bill/issue/statement date — some bills (e.g. PPL) show only a Due Date and a billing period and have NO issue date; in that case do NOT substitute the due date, the billing-period end, the 'balance as of' date, or a meter-read date. Do NOT confuse with payment_due_date, billing_period_start/end, or the next-meter-read date. Location: top summary table ('Bill Date') or the 'Bill Issue date:' label.

Start date of the service/billing period this bill covers. Aliases: 'Bill Period' (first date), 'for the period' (first date), 'Usage from' (first date). Format: VERBATIM as printed; e.g. We Energies '01/05/2026', Pepco 'April 4, 2015'. Do NOT confuse with bill_date or billing_period_end. Location: the 'Bill Period: X to Y' / 'for the period X to Y' line — take the FIRST (earlier) date.

End date of the service/billing period this bill covers. Aliases: 'Bill Period' (second date), 'for the period' (second date), 'Usage from' (second date). Format: VERBATIM as printed; e.g. We Energies '02/02/2026', Pepco 'May 5, 2015'. Do NOT confuse with bill_date, payment_due_date, or the next-meter-read date. Location: the 'Bill Period: X to Y' / 'for the period X to Y' line — take the SECOND (later) date.

The date payment is due. Aliases: 'Due Date', 'Total amount due by', 'Payment Transfer Date' (for autopay-withdrawal bills). Format: VERBATIM as printed; e.g. Pepco 'Jun 1, 2015' (from 'Total amount due by Jun 1, 2015'). Do NOT confuse with bill_date or billing_period_end, and do NOT use the later late-payment date ('after Jun 1, 2015'). For We Energies (autopay) use the 'Payment Transfer Date' '02/25/2026'. Location: top summary box ('Due Date'/'Payment Transfer Date') or the 'Total amount due by <date>' line.

The total amount due for this bill by the due date, as a number (strip '$' and commas; e.g. We Energies 246.40, Pepco 176.31). Aliases: 'Amount Due', 'Total amount due by <date>', 'Total Current Balance'. Do NOT confuse with: the higher late-payment amount (Pepco 'amount due after Jun 1' 179.06), previous_balance, total_current_charges (when it differs), or a single service subtotal. Location: top 'Amount Due' box or the 'Total amount due by <date>' summary line.

The balance carried from the prior bill before this period's payments/charges, as a number. Aliases: 'Previous Balance', 'Balance from your last bill'. Example: We Energies 277.79, Pepco 287.32. Do NOT confuse with amount_due, balance_forward ($0.00 after payment), or total_current_charges. Use the TOP-LEVEL bill summary value, NOT a per-service sub-summary's 'Balance from last bill'. Return null if not printed. Location: the 'Activity Since Last Bill' / 'Summary of your charges' / 'Billing Summary' block.

The total NEW charges for the current billing period, taken VERBATIM from a single line that the bill explicitly labels as the combined current-period charges. Accepted labels: 'Total Current Charges', 'Total Current Balance' (We Energies), or an equivalently-labeled single combined-charges total. Example: We Energies 'Total Current Charges $246.40' -> 246.40. RULE: return null if the bill shows no such single combined-current-charges line — do NOT compute it by summing delivery + supply, and do NOT substitute the amount due or a single-service subtotal. Pepco (separate 'New electric distribution charges' + 'New WGL Energy Svcs supply charges', no combined current-charges line) -> null. PPL (separate 'Total Delivery Charges' + 'Total Supply Charges', no combined current-charges line) -> null. Do NOT confuse with amount_due, previous_balance, total_delivery_charges, or total_supply_charges. Location: the charges-summary / billing-summary block.

Total distribution/delivery charges billed by the regulated utility for the current period, as a number, ONLY when the bill cleanly separates delivery from supply. Aliases: 'Total Delivery Charges', 'Total Electric Delivery Charges', 'New electric distribution charges'. Example: Pepco 21.01 ('New electric distribution charges - Pepco'). Return null when the bill does NOT split delivery vs supply: We Energies shows commodity totals (Electric Service Total + Gas Service Total) with no delivery/supply split → null. Do NOT use a commodity subtotal (e.g. We Energies gas distribution line) as the delivery total. Location: the delivery/distribution charges subtotal.

Total supply/generation charges (often billed for a competitive/third-party supplier) for the current period, as a number, ONLY when the bill cleanly separates supply from delivery. Aliases: 'Total Supply Charges', 'supply charges', 'Generation & Transmission Charges'. Example: Pepco 155.30 ('New WGL Energy Svcs supply charges'). Return null when the bill does NOT split supply vs delivery (bundled): We Energies is bundled (no delivery/supply split) → null. Do NOT use a commodity subtotal (e.g. We Energies 'Gas Supply Service' line) as the supply total. Location: the supply/generation charges subtotal.

One entry per metered service on the bill. Single-meter electric bills have one entry (Pepco: one electric meter); dual-commodity bills have one electric + one gas entry (We Energies: meter NZT0123456 electric + meter 0WG0123456 gas). Aligned by meter_number.

The meter identifier for this metered service. Aliases: 'Meter', 'Meter Number', 'Meter No'. Format: VERBATIM alphanumeric as printed (e.g. We Energies 'NZT0123456' / '0WG0123456', Pepco '1ND344415274'). Do NOT confuse with account_number, service_number, or the rate/schedule code (e.g. 'Rg1', 'Residential-R'). Location: the per-service block ('Meter <id>') or the 'Meter Number' column of the usage table.

The commodity this meter measures. 'electric' for kWh electric service, 'gas' for natural-gas service (therms/CCF), 'water' for water. Infer from the service section heading ('Electric Service', 'Gas Service', 'Residential Electric Service', 'Use (kWh)'). Do NOT guess: choose by the section the meter appears under and its usage unit. We Energies meter NZT0123456 is electric; meter 0WG0123456 is gas.

The most recent (ending) meter reading for this period, as a number (drop any leading zeros' formatting; the numeric value). Aliases: 'Current Reading', 'Actual Reading <later date>'. Example: We electric 40705, We gas 1464, Pepco 57043 (printed '057043'). Do NOT confuse with previous_reading (the earlier/beginning reading) or usage_quantity (the difference). Return null if no numeric reading is printed. Location: the meter-reading rows/table for this meter — the later of the two read dates ('Current Reading' column).

The prior (beginning) meter reading for this period, as a number (the numeric value). Aliases: 'Previous Reading', 'Actual Reading <earlier date>'. Example: We electric 40036, We gas 1385, Pepco 55628 (printed '055628'). Do NOT confuse with current_reading (the later reading) or usage_quantity. Return null if not printed. Location: the meter-reading rows/table for this meter — the earlier of the two read dates ('Previous Reading' column).

The billed consumption for this meter over the period, as a number. For electric use the billed kWh; for gas use the billed therms (the unit the gas charges are calculated on), NOT the raw CCF reading difference. Example: We electric 669 (kWh), We gas 83.9 (therms — the '79 CCF x 1.062 BTU = 83.9 Therms' converted value, NOT 79), Pepco 1415 (kWh). Do NOT confuse with current_reading/previous_reading or the raw reading difference when a meter constant/CCF→therms conversion applies. Location: the 'Total Use'/'KWH'/'Therms Used'/'Total Difference' figure for this meter.

The unit of usage_quantity. 'kWh' for electric, 'therms' for gas billed on therms, 'CCF' only if the gas bill is billed on CCF with no therms conversion, 'gallons' for water. Must match the unit usage_quantity is expressed in. For We Energies gas, usage_quantity is 83.9 therms so usage_unit='therms' (NOT 'CCF', even though the raw reading difference is 79 CCF).

Due Date 6/19/24 ... Usage from May 2 - Jun 3 ... Balance as of Jun 3, 2024


Bankruptcy Schedule E/F (Form 206E/F) unsecured-creditors extraction schema

Extract the debtor identification and every unsecured creditor from a Schedule E/F (Official Form 206E/F). Part 1 lists PRIORITY creditors (numbered 2.1, 2.2, ...); Part 2 lists NONPRIORITY creditors (numbered 3.1, 3.2, ...). Use the printed N.N number as each creditor's id. Contingent/Unliquidated/Disputed and subject-to-offset are checkboxes.

Debtor name in the page banner.

Bankruptcy court district.

Case number.

Every creditor block in document order across Parts 1 and 2.

Printed creditor number, e.g. '2.1' or '3.14'.

'priority' for Part 1 (2.x), 'nonpriority' for Part 2 (3.x).

Creditor name as printed.

Mailing-address lines in order (street, city/state/zip).

Date(s) debt was incurred; null if blank.

Last 4 digits of account number (priority creditors only); null if blank.

Code subsection of the PRIORITY claim (e.g. '(8)(B)'); null for nonpriority creditors.

Priority amount as printed (priority creditors only); null for nonpriority creditors.

Basis for the claim (e.g. 'Trade Payables'); null if blank.

Contingent checkbox marked?

Unliquidated checkbox marked?

Disputed checkbox marked?

Is the claim subject to offset? true if Yes is checked, false if No is checked, null if neither.

Claim amount as printed (e.g. '$6,867.62'); a word like 'UNLIQUIDATED' when no dollar figure is given; null if blank.

1-indexed PDF page where the creditor block starts.

Line 5a: total of Part 1 priority claims.

Line 5b: total of Part 2 claims.

Line 5c: total of Parts 1 and 2.

79-11 69TH DRIVE
MIDDLE VILLAGE, NY 11379

269 LINKS DRIVE WEST
OCEANSIDE, NY 11572

1095 AVENUE OF THE AMERICAS
NEW YORK, NY 10036

OFFICE OF ADMINISTRATIVE TRIALS AND HEARINGS

HORING WELIKSON ROSEN & DIGRUGILLIERS, P.C.

11 HILLSIDE AVENUE
WILLISTON PARK, NY 11596

1877 BROADWAY STREET, SUITE 606
BOULDER, CO 80302

910 E COUNTY LINE RD, SUITE 101
LAKEWOOD, NJ 08701

CONSOLIDATED EDISON COMPANY OF NEW YORK, INC.

430 S FAIRVIEW AVENUE
SANTA BARBARA, CA 93117


Debtor name in the page banner.

Bankruptcy court district.

Case number.

Creditor name as printed.

Contingent checkbox marked?

Unliquidated checkbox marked?

Disputed checkbox marked?

Line 5b: total of Part 2 claims.

Line 5c: total of Parts 1 and 2.


Real-content county AP check register extraction schema

Dollar amount as printed, e.g. $1,234.56

IN-STATE

IN-STATE

BLDGS-CONSTRUCTED

OTHER PURCHASED SERV

NON-CAP. COMP HRDWR

OTHER PROPERTY SERV

OTHER PURCHASED SERV

LOCAL DISTRICT

LEGAL FEES

BUILDING IMPROVEMENT

OTH NONINST SUPPLIES

LIBRARY/MEDIA BOOKS

OTHER PROPERTY SERV

JANITORIAL SUPPLIES;MAINTENANCE SUPPLIES

OTHER OBJECTS

STUDENT CLASSRM SUPP

ATHLETIC & PHYSICAL

OTHER PROPERTY SERV

OTHER PURCHASED SERV

GARBAGE AND WASTE

MAINTENANCE SUPPLIES;VEHICLE PARTS

LOCAL DISTRICT

MAINTENANCE SUPPLIES

OTHER PURCHASED SERV

LAND & BLDG REPAIR/M

VEHICLE PARTS

OTHER PURCHASED SERV;JANITORIAL SUPPLIES

IN-STATE

STAFF ED SERVICES

TELEPHONE

TELEPHONE

INSURANCE SERVICES

OTHER EMPLOYEE BENEF

TELEPHONE

VEHICLE PARTS

EQUIP REPAIR & MAINT

WATER AND SEWAGE

OTHER PURCHASED SERV;OTHER PROF SERVICES

MAINTENANCE SUPPLIES

ELECTRICITY

MAINTENANCE SUPPLIES

OTHER PURCHASED SERV

LOCAL DISTRICT

OTHER MAINT. & OPER.

OTH VEHICLE SUPPLIES

LIBRARY/MEDIA BOOKS

MAINTENANCE SUPPLIES

MAINTENANCE SUPPLIES

OTHER MAINT. & OPER.

TIRES

VEHICLE PARTS;OTH VEHICLE SUPPLIES;OTHER MAINT. & OPER.

GARBAGE AND WASTE;WATER AND SEWAGE

OTH VEHICLE SUPPLIES

WATER AND SEWAGE;NATURAL GAS;GARBAGE AND WASTE

MAINTENANCE SUPPLIES

OTHER PROPERTY SERV

VEHICLE PARTS;OTH VEHICLE SUPPLIES

OTHER INST SUPPLIES

FUEL-OTHER

MAINTENANCE SUPPLIES

OIL AND LUBRICANTS

WATER AND SEWAGE;NATURAL GAS

WATER AND SEWAGE

OTHER GEN SUPPLIES

FOOD PROCESSING SUPP;FOOD SERV SUPPLIES;OFFICE SUPPLIES;PURCHASED FOOD;OTHER GEN SUPPLIES

LAND & BLDG REPAIR/M

OTHER PROPERTY SERV

INSURANCE SERVICES

LOCAL DISTRICT

FOOD PROCESSING SUPP

INDIRECT COSTS

PURCHASED FOOD

LOCAL DISTRICT

OTHER GEN SUPPLIES

LOCAL DISTRICT

LOCAL DISTRICT

POSTAGE

PURCHASED FOOD

LOCAL DISTRICT;IN-STATE

OTHER DUES AND FEES

OTHER NONCAP EQUIPMT

OTHER PROPERTY SERV

PURCHASED FOOD;FOOD PROCESSING SUPP;FOOD SERV SUPPLIES;FREIGHT AND SHIPPING

STUDENT CLASSRM SUPP

OFFICE SUPPLIES

LOCAL DISTRICT

NON-CAP. COMP HRDWR

TRACTORS/MOWERS

EXHAUSTIBLE LAND IMP

IN-STATE

ELECTRICITY

ADVERTISING

ADVERTISING

IN-STATE

LOCAL DISTRICT

LOCAL DISTRICT

IN-STATE

IN-STATE

OTHER PURCHASED SERV

LAND & BLDG REPAIR/M

ATHLETIC & PHYSICAL

EQUIP REPAIR & MAINT;OTHER EQUIPMENT

OTHER PROPERTY SERV

OTHER PROPERTY SERV

NATURAL GAS

OTH NONINST SUPPLIES

REGISTRATION FEES

MAINTENANCE SUPPLIES;OTHER MAINT. & OPER.

ELECTRICITY

STUDENT CLASSRM SUPP

IN-STATE

LAND & BLDG REPAIR/M

IN-STATE

OTHER PROPERTY SERV

STAFF ED SERVICES

NON-CAP. COMP HRDWR

OTHER PURCHASED SERV

EQUIP REPAIR & MAINT

OTHER MAINT. & OPER.

OTHER INST SUPPLIES

STAFF ED SERVICES

EXHAUSTIBLE LAND IMP;OTHER PROPERTY SERV

IN-STATE

NATURAL GAS

PARENT INST SUPPLIES

STUDENT CLASSRM SUPP

STUDENT CLASSRM SUPP

LIBRARY/MEDIA BOOKS

OTHER PROPERTY SERV

OTHER DUES AND FEES

REGISTRATION FEES

OTHER DUES AND FEES

REGISTRATION FEES

REGISTRATION FEES

ELECTRICITY

OTHER INST SUPPLIES

STUDENT CLASSRM SUPP

OTHER PROPERTY SERV

IN-STATE

OTHER PURCHASED SERV

NON-CAP. COMP HRDWR

ASSOCIATION DUES

REGISTRATION FEES

NON-CAP. COMP HRDWR;OTHER NONCAP EQUIPMT

OTHER PROPERTY SERV

CUSTODIAL SERVICES

OUT-OF-STATE

NON-CAP NON-INST EQU

STUDENT EDUCATIONAL

STUDENT CLASSRM SUPP

OTHER PURCHASED SERV

INSTRUCT. SOFTWARE

LAND & BLDG REPAIR/M

STUDENT CLASSRM SUPP

LAND & BLDG REPAIR/M

OTHER INST SUPPLIES;STUDENT CLASSRM SUPP

IN-STATE

OTHER PROPERTY SERV

ADVERTISING

OTHER PROPERTY SERV

IN-STATE

IN-STATE

OFFICE SUPPLIES

FOOD SERV SUPPLIES

IN-STATE

IN-STATE

IN-STATE

IN-STATE

IN-STATE

IN-STATE

ADVERTISING

IN-STATE

IN-STATE

IN-STATE

OTHER PROPERTY SERV

EQUIP REPAIR & MAINT

GARBAGE AND WASTE

EQUIP REPAIR & MAINT

IN-STATE

IN-STATE

IN-STATE

OTHER NONCAP EQUIPMT;OTHER GEN SUPPLIES

FOOD SERV SUPPLIES

IN-STATE

OTHER MAINT. & OPER.

IN-STATE

IN-STATE

IN-STATE

STUDENT CLASSRM SUPP

NON-CAP. COMP HRDWR

TELEPHONE

ATH AND PHYSICAL ED

BLDGS-CONSTRUCTED

STUDENT CLASSRM SUPP

NON-CAP INST EQUIP

FUEL-GASOLINE

NON-CAP. COMP HRDWR

NON-CAP NON-INST EQU

JANITORIAL SUPPLIES

EQUIP REPAIR & MAINT

LAND & BLDG REPAIR/M

ELECTRICITY

OTH NONINST SUPPLIES

OTHER PROF SERVICES

OTHER PURCHASED SERV

OFFICE SUPPLIES;OTHER PURCHASED SERV

IN-STATE

OFFICE SUPPLIES

PARENT INST SUPPLIES

OTHER PURCHASED SERV

INSTRUCT. SOFTWARE

FUEL-OTHER

VEHICLE PARTS


STAFF ED SERVICES

REGISTRATION FEES

LOCAL DISTRICT

LOCAL DISTRICT

OTHER PROPERTY SERV

LOCAL DISTRICT

LOCAL DISTRICT

STUDENT EDUCATIONAL

OTHER DUES AND FEES

OTHER PURCHASED SERV

REGISTRATION FEES

OTHER PROF SERVICES

OTHER PROPERTY SERV;LAND & BLDG REPAIR/M

OTHER PURCHASED SERV

OTH NONINST SUPPLIES

OTHER PROPERTY SERV

IN-STATE

LAND & BLDG REPAIR/M

TELEPHONE

TELEPHONE

TELEPHONE

OTHER PROPERTY SERV

OTHER EMPLOYEE BENEF

EXHAUSTIBLE LAND IMP

VEHICLE PARTS

LAND IMPROVEMENT

GARBAGE AND WASTE

WATER AND SEWAGE

OTHER PROPERTY SERV

ELECTRICITY

MAINTENANCE SUPPLIES;VEHICLE PARTS

STUDENT EDUCATIONAL

OTHER PURCHASED SERV

VEHICLE PARTS

ARCHITECT FEES

VEHICLE PARTS

OTHER PURCHASED SERV

LEGAL FEES

TIRES

MAINTENANCE SUPPLIES;VEHICLE PARTS

LAND & BLDG REPAIR/M

VEHICLE PARTS;OIL AND LUBRICANTS

DRUG TESTING SERV

IN-STATE;LOCAL DISTRICT

MAINTENANCE SUPPLIES

OTH VEHICLE SUPPLIES

MAINTENANCE SUPPLIES

ELECTRICITY;WATER AND SEWAGE;NATURAL
GAS;GARBAGE AND WASTE

MAINTENANCE SUPPLIES

OTHER PROPERTY SERV

TIRES

VEHICLE PARTS

FUEL-OTHER

FUEL-DIESEL

PROPANE GAS

VEHICLE PARTS

VEHICLE PARTS

WATER AND SEWAGE;NATURAL GAS

WATER AND SEWAGE

TIRES

MAINTENANCE SUPPLIES

LOCAL DISTRICT

FOOD PROCESSING SUPP;FOOD SERV SUPPLIES;OTHER
GEN SUPPLIES;OFFICE SUPPLIES

OTHER PROPERTY SERV

FOOD PROCESSING SUPP

OTHER GEN SUPPLIES

PURCHASED FOOD

OTHER GEN SUPPLIES

PURCHASED FOOD

LOCAL DISTRICT

LOCAL DISTRICT

LOCAL DISTRICT

LOCAL DISTRICT

LOCAL DISTRICT

LOCAL DISTRICT

PURCHASED FOOD

PURCHASED FOOD;FOOD SERV SUPPLIES

PURCHASED FOOD;OTHER GEN SUPPLIES

PURCHASED FOOD

LOCAL DISTRICT;IN-STATE

PURCHASED FOOD

NON-CAP FURN & FIXT;OTHER GEN SUPPLIES

OTHER PROPERTY SERV

PURCHASED FOOD;FOOD PROCESSING SUPP;FOOD SERV
SUPPLIES;FREIGHT AND SHIPPING

ELECTRICITY

OTHER PURCHASED SERV

STUDENT EDUCATIONAL

REGISTRATION FEES

OTHER PROPERTY SERV

OFFICE SUPPLIES

ELECTRICITY

IN-STATE

IN-STATE

OTHER PROPERTY SERV

IN-STATE

IN-STATE

TELEPHONE

EXHAUSTIBLE LAND IMP

OTHER PURCHASED SERV

IN-STATE

OTHER PURCHASED SERV

IN-STATE

OTHER PROPERTY SERV

JANITORIAL SUPPLIES

IN-STATE

IN-STATE

IN-STATE

IN-STATE

IN-STATE

IN-STATE

IN-STATE

IN-STATE

LOCAL DISTRICT

IN-STATE;LOCAL DISTRICT

NATURAL GAS

OTH VEHICLE SUPPLIES;OFFICE SUPPLIES

WATER AND SEWAGE;GARBAGE AND WASTE

NATURAL GAS

IN-STATE

IN-STATE

IN-STATE

IN-STATE

OTHER PROF SERVICES

MAINTENANCE SUPPLIES

OTHER PURCHASED SERV

LOCAL DISTRICT

DRUG TESTING SERV

STUDENT CLASSRM SUPP

OTHER DUES AND FEES

OTHER PROPERTY SERV

STUDENT CLASSRM SUPP

CUSTODIAL SERVICES

INDIRECT COSTS

ELECTRICITY

VEHICLE PARTS

OTHER PROPERTY SERV

OTHER PROPERTY SERV

OTHER DUES AND FEES

OFFICE SUPPLIES;OTHER PURCHASED SERV

MAINTENANCE SUPPLIES;VEHICLE PARTS

NON-CAP INST EQUIP

OTHER EQUIPMENT;EQUIP REPAIR & MAINT

STUDENT EDUCATIONAL

MEDICAL/HEALTH SERVI

TESTING SUPPLIES

STUDENT CLASSRM SUPP

FUEL-OTHER

OTHER MAINT. & OPER.;MAINTENANCE SUPPLIES

MAINTENANCE SUPPLIES;JANITORIAL SUPPLIES

OTHER DUES AND FEES

BLDGS-CONSTRUCTED

OTHER PROPERTY SERV

OTHER PURCHASED SERV;EQUIP REPAIR & MAINT

OTHER PURCHASED SERV

INSTRUCT. SOFTWARE

IN-STATE

LOCAL DISTRICT

BUILDING IMPROVEMENT

OTHER PROPERTY SERV

FUEL-OTHER

STAFF ED SERVICES

FOOD PROCESSING SUPP

OTHER PROPERTY SERV

OTHER GEN SUPPLIES

ADVERTISING

LOCAL DISTRICT;IN-STATE

LOCAL DISTRICT

EQUIP REPAIR & MAINT;OTHER MAINT. & OPER.

IN-STATE;LOCAL DISTRICT

OTHER GEN SUPPLIES

OTHER GEN SUPPLIES;OFFICE SUPPLIES;PURCHASED
FOOD;FREIGHT AND SHIPPING

FOOD PROCESSING SUPP;FREIGHT AND SHIPPING

OTHER GEN SUPPLIES

STUDENT EDUCATIONAL

STUDENT EDUCATIONAL

STUDENT EDUCATIONAL

OTHER PURCHASED SERV;OTHER PROF SERVICES