Check the PUMS data dictionary
www2.census.gov/.../PUMS_Data_Dictionary_2021.pdf
Negative numbers indicate that the household had a loss. While there a a lot of ways this can happen, if you owned stock which you sold for a loss and hand no other income then your income would be negative. Another example would be selling property at a loss.
You could also own a business that took a loss in for year (the business expenses exceeded business income). The income reported on your 1040 would be negative.
PINCP Numeric 7
Total person's income (signed, use ADJINC to adjust to constant dollars)
bbbbbbb
N/A (less than 15 years old)
0 None
-19998
.Loss of $19998 or more (Rounded and bottom-
.coded components)
-19997..-1
.Loss $1 to $19997 (Rounded components)
1..4209995
.$1 to $4209995 (Rounded and top-coded
.components)
PS
Make sure that you handle missing values correctly. If you use data from the FTP website missing data will be blank. If you use the API then the missing value will be a number. The API interface cannot return a blank. The missing value will be a number outside the range given in the PUMS data dictionary. I'm not sure what happens if you download via data.census.gov.
Dave