Extraction schema:
{"$defs": {"TransactionRow": {"type": "object", "title": "1099-B transaction", "properties": {"number_of_shares": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Number of shares", "description": "The share/unit quantity for this sale line, printed in the leftmost 'Number of shares' column headed '(Box 5)' (IRS Form 1099-B Box 5, 'No. of shares exchanged'). JSON number exactly as printed, e.g. 4.0000, 249.6460, 82.3900; null if the column is blank on the row."}, "cusip": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "CUSIP", "description": "The 9-character security identifier printed in the 'CUSIP' column headed '(Box 1b)' (IRS Form 1099-B Box 1b, 'CUSIP no.'). Verbatim as printed, e.g. 25179M103, H27013100. Identifies the row: transaction rows are aligned by CUSIP at eval time, not by position; when the same CUSIP has several lots/sale dates the rows are matched in printed order within that CUSIP. Null only if the security prints no CUSIP."}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Description", "description": "The security description printed in the 'Description' column headed '(Box 7)' (IRS Form 1099-B Box 7). Verbatim as printed, joining a wrapped two-line name with a single space, e.g. 'DEVON ENERGY CORP COM', 'DREYFUS BOSTON CO SMALLCAP EQTY TE'."}, "date_acquired": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Date Acquired", "description": "The acquisition date printed in the 'Date Acquired' column (a broker supplemental column; no IRS box). Verbatim as printed: either a date like '02/27/2009' or the literal word 'VARIOUS' when multiple lots were acquired; null if blank."}, "date_of_sale": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Date of Sale", "description": "The sale/disposition date printed in the 'Date of Sale' column headed '(Box 1a)' (IRS Form 1099-B Box 1a, 'Date of sale or exchange'). Verbatim as printed, e.g. '09/09/2009'; the literal 'VARIOUS' if the statement prints it; null if blank."}, "proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Proceeds (Stocks, bonds, etc.)", "description": "The sale proceeds printed in the 'Stocks Bonds, etc.' column headed '(Box 2)' (IRS Form 1099-B Box 2, 'Stocks, bonds, etc.'). JSON number exactly as printed with the thousands comma removed, e.g. 258.17, 4061.08; null if blank."}, "cost_or_other_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Cost or other Basis", "description": "The cost basis printed in the 'Cost or other Basis' column (a broker supplemental column; not an IRS-reported box on the 2009 form). JSON number exactly as printed, e.g. 177.15, 3499.47; null if blank."}, "net_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Net Gain or Loss", "description": "The gain/loss printed in the 'Net Gain or Loss' column (a broker supplemental column; no IRS box). JSON number exactly as printed; a loss prints with a leading minus and is negative, e.g. 81.02, -31.21, -3636.11; null if blank."}, "federal_income_tax_withheld": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Federal Income Tax Withheld", "description": "The backup withholding printed in the rightmost 'Federal Income Tax Withheld' column headed '(Box 4)' (IRS Form 1099-B Box 4). JSON number exactly as printed, usually 0.00; null if the column is blank."}}}, "SectionSubtotal": {"type": "object", "title": "Section subtotal", "properties": {"section_label": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Section label", "description": "The label of a printed section-summary line, verbatim, e.g. 'Total Short Term Sales Reported on 1099-B', 'Long Term 15% Sales Reported on 1099-B', 'Total Long Term Sales Reported on 1099-B'. Identifies the row; these summary lines are NOT transactions (they carry no CUSIP or share count) and must not be placed in the transactions array. A section header printed with no totals on this page still yields a row with null amounts."}, "proceeds": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Subtotal proceeds", "description": "The section total in the 'Stocks Bonds, etc.' / '(Box 2)' column for this summary line; JSON number, comma removed; null if not printed."}, "cost_or_other_basis": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Subtotal cost or other basis", "description": "The section total in the 'Cost or other Basis' column for this summary line; JSON number; null if not printed."}, "net_gain_or_loss": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Subtotal net gain or loss", "description": "The section total in the 'Net Gain or Loss' column for this summary line; JSON number, negative for a net loss; null if not printed."}, "federal_income_tax_withheld": {"anyOf": [{"type": "number"}, {"type": "null"}], "default": null, "title": "Subtotal federal income tax withheld", "description": "The section total in the 'Federal Income Tax Withheld' / '(Box 4)' column for this summary line; JSON number; null if not printed."}}}}, "type": "object", "title": "Form 1099-B Proceeds From Broker and Barter Exchange Transactions (2009 consolidated statement)", "properties": {"payer_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Payer name", "description": "The payer/broker name printed under 'Payer's Name and Address' at the top-left, verbatim; join multiple name lines with a single space, e.g. 'SUNTRUST BANK W&IM TAX SERVICES', 'GIBRALTAR PRIVATE BANK & TRUST'."}, "payer_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Payer address", "description": "The payer/broker mailing address printed under 'Payer's Name and Address', below the name line(s); join street and city/state/ZIP lines with ', ', e.g. 'P.O. BOX 1908, ORLANDO, FL 32802-1908'."}, "payer_phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Payer phone", "description": "The payer telephone number printed on the 'Questions?' line in the header, verbatim as printed, e.g. '(305)476-1982'; null when the statement variant prints no phone."}, "payer_federal_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Payer's Federal ID number", "description": "The payer TIN printed beside 'Payer's Federal ID number', verbatim including the hyphen, e.g. '59-3482833'."}, "account_number": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Account Number", "description": "The brokerage account number printed beside 'Account Number:', verbatim, e.g. '5630064', '0920035'."}, "recipient_name": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Recipient name", "description": "The recipient name printed under 'Recipient's Name and Address', verbatim (first name line before the address), e.g. 'THE GOYEN FOUNDATION INC.', 'ROGER WINFIELD SCOTT FOUNDATION, INC'."}, "recipient_address": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Recipient address", "description": "The recipient mailing address printed under 'Recipient's Name and Address', below the name; join the street and city/state/ZIP lines with ', ', e.g. '104 RIVERSIDE DRIVE #205C, COCOA, FL 32922'."}, "recipient_tax_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Recipient's Tax ID number", "description": "The recipient TIN printed beside 'Recipient's Tax ID number', verbatim including the hyphen, e.g. '59-3338187', '58-0655183'."}, "corrected": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "Corrected", "description": "The 'Corrected' checkbox in the header. TWO-STATE: true only if a mark is printed inside the box; false otherwise, including when this statement leaves it blank (the usual case). Never return null for this field."}, "second_tin_notice": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": null, "title": "2nd TIN notice", "description": "The '2nd TIN notice' checkbox in the header. TWO-STATE: true only if a mark is printed inside the box; false otherwise, including blank (the usual case). Never return null for this field."}, "transactions": {"anyOf": [{"type": "array", "items": {"$ref": "#/$defs/TransactionRow"}}, {"type": "null"}], "default": null, "title": "Transactions", "description": "Every individual sale line in the 1099-B proceeds table on this page, in printed top-to-bottom order. Each row carries a CUSIP '(Box 1b)' and share count '(Box 5)'. Do NOT include section-summary lines such as 'Total Short Term Sales Reported on 1099-B' here — those go in section_subtotals. Null only if the page prints no transaction rows."}, "section_subtotals": {"anyOf": [{"type": "array", "items": {"$ref": "#/$defs/SectionSubtotal"}}, {"type": "null"}], "default": null, "title": "Section subtotals", "description": "The section-summary lines printed on this page (e.g. 'Total Short Term Sales Reported on 1099-B', 'Long Term 15% Sales Reported on 1099-B'), each with its column totals. Null when the page prints no summary line (most mid-section pages)."}}}

Expected output:
{"payer_name": "SUNTRUST BANK W&IM TAX SERVICES", "payer_address": "P.O. BOX 1908, ORLANDO, FL 32802-1908", "payer_phone": null, "payer_federal_id": "59-3482833", "account_number": "5630064", "recipient_name": "THE GOYEN FOUNDATION INC.", "recipient_address": "104 RIVERSIDE DRIVE #205C, COCOA, FL 32922", "recipient_tax_id": "59-3338187", "corrected": false, "second_tin_notice": false, "transactions": [{"number_of_shares": 15, "cusip": "268648102", "description": "EMC CORP MASS COM", "date_acquired": "05/19/2008", "date_of_sale": "12/17/2009", "proceeds": 251.69, "cost_or_other_basis": 272.55, "net_gain_or_loss": -20.86, "federal_income_tax_withheld": 0}, {"number_of_shares": 11, "cusip": "291011104", "description": "EMERSON ELEC CO COM", "date_acquired": "08/24/2007", "date_of_sale": "05/18/2009", "proceeds": 373.55, "cost_or_other_basis": 523.71, "net_gain_or_loss": -150.16, "federal_income_tax_withheld": 0}, {"number_of_shares": 2, "cusip": "291011104", "description": "EMERSON ELEC CO COM", "date_acquired": "08/24/2007", "date_of_sale": "07/20/2009", "proceeds": 68.36, "cost_or_other_basis": 95.22, "net_gain_or_loss": -26.86, "federal_income_tax_withheld": 0}, {"number_of_shares": 7, "cusip": "291011104", "description": "EMERSON ELEC CO COM", "date_acquired": "08/24/2007", "date_of_sale": "09/09/2009", "proceeds": 268.61, "cost_or_other_basis": 333.27, "net_gain_or_loss": -64.66, "federal_income_tax_withheld": 0}, {"number_of_shares": 20, "cusip": "291011104", "description": "EMERSON ELEC CO COM", "date_acquired": "05/14/2007", "date_of_sale": "10/26/2009", "proceeds": 801.05, "cost_or_other_basis": 917, "net_gain_or_loss": -115.95, "federal_income_tax_withheld": 0}, {"number_of_shares": 5, "cusip": "291011104", "description": "EMERSON ELEC CO COM", "date_acquired": "05/14/2007", "date_of_sale": "12/17/2009", "proceeds": 207.14, "cost_or_other_basis": 229.25, "net_gain_or_loss": -22.11, "federal_income_tax_withheld": 0}, {"number_of_shares": 11, "cusip": "30161N101", "description": "EXELON CORPORATION COM", "date_acquired": "08/24/2007", "date_of_sale": "05/18/2009", "proceeds": 517.21, "cost_or_other_basis": 797.72, "net_gain_or_loss": -280.51, "federal_income_tax_withheld": 0}, {"number_of_shares": 5, "cusip": "30161N101", "description": "EXELON CORPORATION COM", "date_acquired": "08/24/2007", "date_of_sale": "07/20/2009", "proceeds": 256.91, "cost_or_other_basis": 362.6, "net_gain_or_loss": -105.69, "federal_income_tax_withheld": 0}, {"number_of_shares": 8, "cusip": "30161N101", "description": "EXELON CORPORATION COM", "date_acquired": "VARIOUS", "date_of_sale": "09/09/2009", "proceeds": 388.91, "cost_or_other_basis": 534.24, "net_gain_or_loss": -145.33, "federal_income_tax_withheld": 0}, {"number_of_shares": 24, "cusip": "30161N101", "description": "EXELON CORPORATION COM", "date_acquired": "12/01/2006", "date_of_sale": "10/26/2009", "proceeds": 1194.69, "cost_or_other_basis": 1464.96, "net_gain_or_loss": -270.27, "federal_income_tax_withheld": 0}, {"number_of_shares": 6, "cusip": "30161N101", "description": "EXELON CORPORATION COM", "date_acquired": "12/01/2006", "date_of_sale": "12/17/2009", "proceeds": 295.37, "cost_or_other_basis": 366.24, "net_gain_or_loss": -70.87, "federal_income_tax_withheld": 0}, {"number_of_shares": 9, "cusip": "302182100", "description": "EXPRESS SCRIPTS INC CLASS A", "date_acquired": "02/27/2008", "date_of_sale": "05/18/2009", "proceeds": 528.2, "cost_or_other_basis": 586.53, "net_gain_or_loss": -58.33, "federal_income_tax_withheld": 0}, {"number_of_shares": 3, "cusip": "302182100", "description": "EXPRESS SCRIPTS INC CLASS A", "date_acquired": "02/27/2008", "date_of_sale": "07/20/2009", "proceeds": 197.99, "cost_or_other_basis": 195.51, "net_gain_or_loss": 2.48, "federal_income_tax_withheld": 0}, {"number_of_shares": 6, "cusip": "302182100", "description": "EXPRESS SCRIPTS INC CLASS A", "date_acquired": "02/27/2008", "date_of_sale": "09/09/2009", "proceeds": 443.95, "cost_or_other_basis": 391.02, "net_gain_or_loss": 52.93, "federal_income_tax_withheld": 0}, {"number_of_shares": 18, "cusip": "302182100", "description": "EXPRESS SCRIPTS INC CLASS A", "date_acquired": "02/27/2008", "date_of_sale": "10/26/2009", "proceeds": 1449.47, "cost_or_other_basis": 1173.06, "net_gain_or_loss": 276.41, "federal_income_tax_withheld": 0}, {"number_of_shares": 3, "cusip": "302182100", "description": "EXPRESS SCRIPTS INC CLASS A", "date_acquired": "02/27/2008", "date_of_sale": "12/17/2009", "proceeds": 251.93, "cost_or_other_basis": 195.51, "net_gain_or_loss": 56.42, "federal_income_tax_withheld": 0}, {"number_of_shares": 15, "cusip": "30231G102", "description": "EXXON MOBIL CORP", "date_acquired": "08/24/2007", "date_of_sale": "05/18/2009", "proceeds": 1042.62, "cost_or_other_basis": 1282.8, "net_gain_or_loss": -240.18, "federal_income_tax_withheld": 0}, {"number_of_shares": 4, "cusip": "30231G102", "description": "EXXON MOBIL CORP", "date_acquired": "08/24/2007", "date_of_sale": "07/20/2009", "proceeds": 275.79, "cost_or_other_basis": 342.08, "net_gain_or_loss": -66.29, "federal_income_tax_withheld": 0}, {"number_of_shares": 11, "cusip": "30231G102", "description": "EXXON MOBIL CORP", "date_acquired": "08/24/2007", "date_of_sale": "09/09/2009", "proceeds": 779.93, "cost_or_other_basis": 940.72, "net_gain_or_loss": -160.79, "federal_income_tax_withheld": 0}], "section_subtotals": null}