IRS tax forms

IRS tax forms

IRS Internal Revenue Service (IRS) of the United States. They are used to report income, calculate taxes to be paid to the federal government of the United States, and disclose other information as required by the Internal Revenue Code (IRC). There are over 800 various forms and schedules. The best-known of these is Form 1040 used by individuals.

Individual forms

1040

First page of Form 1040 for 2005 tax year

Form 1040, U.S. Individual Income Tax Return, is one of three forms (1040 [the "Long Form"], 1040A [the "Short Form"] and 1040EZ - see below for explanations of each) used for personal (individual) federal income tax returns filed with the IRS. The first Form 1040 was published for use for the tax years 1913, 1914, and 1915. For 1916, Form 1040 was converted to an annual form (i.e., updated each year with the new tax year printed on the form).[1] Initially, the IRS mailed tax booklets (Form 1040, instructions, and most common attachments) to all households. As alternative delivery methods (CPA/Attorneys, Internet forms) increased in popularity, the IRS sent fewer packets via mail. In 2009 this practice was discontinued.

Income tax returns for individual calendar year taxpayers are due by April 15 of the next year, except when April 15 falls on a Saturday, Sunday, or a legal holiday. In those circumstances, the returns are due on the next business day. An automatic extension until Oct. 15 to file Form 1040 can be obtained by filing Form 4868.

Form 1040 consists of two full pages not counting attachments. The first page collects information about the taxpayer(s), dependents, income items, and adjustments to income. The second page calculates the allowable deductions and credits, tax due given the income figure, and applies funds already withheld from wages or estimated payments made towards the tax liability. At the top of the first page is the Presidential election campaign fund checkoff, which allows you to designate that the federal government give $3 of the tax it receives to the Presidential election campaign fund.

Form 1040 has 14 attachments, called "schedules", which may need to be filed depending on the taxpayer. For 2009 and 2010 there was an additional form, Schedule M, due to the "Making Work Pay" provision of the American Recovery and Reinvestment Act of 2009 ("the stimulus"):

  • Schedule A itemizes allowable deductions against income; instead of filling out Schedule A, taxpayers may choose to take a standard deduction of between $6,100 and $12,200 (for tax year 2013), depending on age, filing status, and whether the taxpayer and/or spouse is blind.
  • Schedule B enumerates interest and/or dividend income, and is required if either interest or dividends received during the tax year exceed $1,500 from all sources or if the filer had certain foreign accounts.
  • Schedule C lists income and expenses related to self-employment, and is used by sole proprietors.
  • Schedule D is used to compute capital gains and losses incurred during the tax year.
  • Schedule E is used to report income and expenses arising from the rental of real property, royalties, or from pass-through entities (like trusts, estates, partnerships, or S corporations).
  • Schedule EIC is used to document a taxpayer's eligibility for the Earned Income Credit.
  • Schedule F is used to report income and expenses related to farming.
  • Schedule H is used to report taxes owed due to the employment of household help.
  • Schedule J is used when averaging farm income over a period of three years.
  • Schedule L (until 2010) was used to figure an increased standard deduction in certain cases.[2]
  • Schedule M (2009 and 2010) was used to claim the Making Work Pay tax credit (6.2% earned income credit, up to $400).[3]
  • Schedule R is used to calculate the Credit for the Elderly or the Disabled.
  • Schedule SE is used to calculate the self-employment tax owed on income from self-employment (such as on a Schedule C or Schedule F, or in a partnership).
  • Schedule 8812 is used to calculate the Child Tax Credit.

In 2014 there were two additions to Form 1040 due to the implementation of the Affordable Care Act – the premium tax credit and the individual mandate.[4]

In most situations, other Internal Revenue Service or Social Security Administration forms such as Form W-2 must be attached to the Form 1040, in addition to the Form 1040 schedules. There are over 100 other, specialized forms that may need to be completed along with Schedules and the Form 1040.

Short forms

Over the years, other "Short Forms" were used for short periods of time. For example, in the 1960s, they used an IBM Card on which a few lines could be written which would then be transcribed onto another card. The other card looked the same but had holes in it which a computer or "unit record" machine could read. As with the other forms, there was always a place for a signature.

The Form 1040A ("short form"), U.S. individual income tax return, is a shorter version of the Form 1040. Use of Form 1040A is limited to taxpayers with taxable income below $100,000 who take the standard deduction instead of itemizing deductions; it was originally one page until the 1982 edition, when it expanded to two pages.

The Form 1040EZ ("easy form"), Income Tax Return for Single and Joint Filers With No Dependents, is the simplest, six-section Federal income tax return, introduced in 1982. Its use is limited to taxpayers with taxable income below $100,000 (as of tax year 2011) who take the standard deduction instead of itemizing deductions and have no dependents.

Fiduciary reporting

According to section 1223(b) of the [6]

990

The Form 990 provides the public with financial information about a nonprofit organization, and is often the only source of such information. It is also used by government agencies to prevent organizations from abusing their tax-exempt status. In June 2007, the IRS released a new Form 990 that requires significant disclosures on IRS e-file Provider.

The Form 990 disclosures do not require but strongly encourage nonprofit boards to adopt a variety of board policies regarding governance practices. These suggestions go beyond Sarbanes-Oxley requirements for nonprofits to adopt whistleblower and document retention policies. The IRS has indicated they will use the Form 990 as an enforcement tool, particularly regarding executive compensation. For example, nonprofits that adopt specific procedures regarding executive compensation are offered safe harbor from excessive compensation rules under section 4958 of the Internal Revenue Code and Treasury Regulation section 53.4958-6.[7]

Public Inspection IRC 6104(d) regulations state that an organization must provide copies of its three most recent Forms 990 to anyone who requests them, whether in person, by mail, fax, or e-mail. Additionally, requests may be made via the IRS using Form 4506-A, and PDF copies can often be found online as noted below.

  • New IRS Form 990[8]
  • Instructions for Form 990 and Form 990-EZ[9]
  • Due 15th of 5th month after fiscal year, with up to 6 months of extensions.[10] Late penalty for political organizations is $20–$100/day (not clear for other nonprofits),[11] and penalty for failure to provide to the public is $20 per day.[12]
  • Citizen Audit[13] provides PDF copies of annual returns, signatures not blacked out.
  • Economic Research Institute[14] provides PDF copies of annual returns, signatures not blacked out.
  • Foundation Center[15] IRS Form 990 lookup tool; provides PDF copies of annual returns, signatures blacked out.
  • Guidestar[16] IRS Form 990's and other information for selection of nonprofits, free and fee based
  • NCCS[17] IRS Form 990 search tool and nonprofit organization profiles, signatures blacked out.
  • Charity Navigator uses IRS Forms 990[18] to rate charities.
  • BoardSource Governance requirements[19] in 990.

In addition to Form 990, tax-exempt organizations are also subject to a variety of disclosure and compliance requirements through various schedules which are attached to Form 990 (and, in some cases, 990-EZ or 990-PF). Filing of schedules by organizations supplements, enhances, and further clarifies disclosures and compliance reporting made in Form 990. Often, filing of schedules is mandatory, but there are situations where organizations not otherwise subject to filing requirements may consider completing certain schedules despite not being technically obligated to. The current list of possible schedule filings are:

  • Schedule A - Public Charity Status and Public Support
  • Schedule B - Schedule of Contributors
  • Schedule C - Political Campaign and Lobbying Activities
  • Schedule D - Supplemental Financial Statements
  • Schedule E - Schools
  • Schedule F - Statement of Activities Outside the United States
  • Schedule G - Supplemental Information Regarding Fundraising or Gaming Activities
  • Schedule H - Hospitals
  • Schedule I - Grants and Other Assistance to Organizations, Governments, and Individuals in the United States
  • Schedule J - Compensation Information
  • Schedule K - Supplemental Information on Tax-Exempt Bonds
  • Schedule L - Transactions With Interested Persons
  • Schedule M - Noncash Contributions
  • Schedule N - Liquidation, Termination, Dissolution, or Significant Disposition of Assets
  • Schedule O - Supplemental Information to Form 990
  • Schedule R - Related Organizations and Unrelated Partnerships

5500

The Form 5500, Annual Return/Report of Employee Benefit Plan, was developed jointly by the IRS, United States Department of Labor, and Pension Benefit Guaranty Corporation to satisfy filing requirements both under the Internal Revenue Code (IRC) and the Employee Retirement Income Security Act (ERISA). The Form 5500 is an important compliance, research, and disclosure tool intended to assure that employee benefit plans are properly managed and to provide participants, beneficiaries, and regulators with sufficient information to protect their rights. Starting in 2009, all Forms 5500 must be filed electronically on the website of the Department of Labor.

Other

The Form 1040NR, U.S. Nonresident Alien Income Tax Return, and its shorter version Form 1040NR-EZ, U.S. Income Tax Return for Certain Nonresident Aliens With No Dependents, are used by nonresident aliens who have U.S. source income and therefore have to file a U.S. tax return. Joint returns are not permitted, so that husband and wife must each file a separate return. The Form 1040NR-EZ can be used under conditions similar to those for the 1040EZ form.[20]

The Form 1040X, Amended U.S. Individual Tax Return, is used to make corrections to Form 1040, Form 1040A, and Form 1040EZ tax returns that have been previously filed. Generally for a tax refund, this form must be filed within 3 years after the date that the original version was filed, or within 2 years after the date that the tax was paid, whichever is later. Forms 1040X are processed manually and therefore take longer than regular returns. For years prior to 2010, Form 1040X had three columns: for the amounts from the original version, for the net increase or decrease for each line being changed, and for the corrected amounts. For 2010, the form was condensed with a single column for the corrected amounts. Due to confusion amongst taxpayers on how to complete the single-column form, the IRS revised the Form 1040X again for 2011 by returning to the original three-column format.

Self-employed individuals and others who do not have enough income taxes withheld, might need to file Form 1040-ES, Estimated Tax for Individuals, each quarter to make estimated installments of annual tax liability (pay-as-you-go tax).

Entity returns

  • Form 1065, U.S. Return of Partnership Income, is used by partnerships for tax returns.
  • Form 1120, U.S. Corporation Income Tax Return, is used by C corporations for tax returns.
  • Form 1120S, U.S. Income Tax Return for an S Corporation, is used by S corporations for tax returns.
  • Form 1120-C, U.S. Income Tax Return for Cooperative Associations, is used by cooperatives for tax returns.
  • Form 1120-H, U.S. Income Tax Return for Homeowners Associations, is used by condominium and housing associations for tax returns.
  • Form 1041, U.S. Income Tax Return for Estates and Trusts, is used by estates and trusts for tax returns.

Employment (payroll) taxes

  • Form 940, Employer’s Annual Federal Unemployment (FUTA) Tax Return
  • Form 941, Employer’s Quarterly Federal Tax Return
  • Form 944, Employer’s Annual Federal Tax Return

Transfer taxes

  • Form 706, United States Estate (and Generation-Skipping Transfer) Tax Return, is used to report estate taxes
  • Form 709, United States Gift (and Generation-Skipping Transfer) Tax Return, is used to report gift taxes

Information returns

Informational returns are prepared by third parties (employers, banks, financial institutions, etc.) and report information to both the IRS and taxpayers to help them complete their own

-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }

-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }

-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }

local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }

function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil

        local t1 = false -- whether traditional Chinese characters go first
        local j1 = false -- whether Cantonese Romanisations go first
        local testChar
        if (args["first"]) then
                 for testChar in mw.ustring.gmatch(args["first"], "%a+") do
          if (testChar == "t") then
           t1 = true
           end
          if (testChar == "j") then
           j1 = true
           end
         end
        end
        if (t1 == false) then
         local title = mw.title.getCurrentTitle()
         t1 = t1st[title.text] == true
        end

-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(

The issuance or non-issuance of an informational return is not determinative of the tax treatment required of the payee. For example, some income reported on Form 1099 might be nontaxable and some taxable income might not be reported at all. Each payee-taxpayer is legally responsible for reporting the correct amount of total income on his or her own federal income tax return regardless of whether an informational return was filed or received.

1098 series

1099 series

Form 1099 series is used to report various types of income other than wages, salaries, and tips (for which Form W-2 is used instead). Examples of reportable transactions are amounts paid to a non-corporate independent contractor for services (in IRS terminology, such payments are nonemployee compensation). The ubiquity of the form has also led to use of the phrase "1099 workers" or "the 1099 economy" to refer to the independent contractors themselves.[21] In 2011 the requirement has been extended by the Small Business Jobs Act of 2010 to payments made by persons who receive income from rental property.

Each payer must complete a Form 1099 for each covered transaction. Four copies are made: one for the payer, one for the payee, one for the IRS, and one for the State Tax Department, if required.[22] Payers who file 250 or more Form 1099 reports must file all of them electronically with the IRS.[23] If the fewer than 250 requirement is met, and paper copies are filed, the IRS also requires the payer to submit a copy of Form 1096, which is a summary of information forms being sent to the IRS. The returns must be filed with the IRS by the end of February immediately following the year for which the income items or other proceeds are paid. Copies of the returns must be sent to payees, however, by the end of January. The law provides various dollar amounts under which no Form 1099 reporting requirement is imposed. For some Forms 1099, for example, no filing is required for payees who receive less than $600 from the payer during the applicable year.[24]

Variants for Form 1099

As of 2011, several versions of Form 1099 are used, depending on the nature of the income transaction:

  • 1099-A: Acquisition or Abandonment of Secured Property
  • 1099-B: Proceeds from Broker and Barter Exchange Transactions
  • 1099-C: Cancellation of Debt
  • 1099-CAP: Changes in Corporate Control and Capital Structure
  • 1099-DIV: Dividends and Distributions
  • 1099-G: Government Payments
  • 1099-H: Health Insurance Advance Payments
  • 1099-INT: Interest Income
  • 1099-K: Merchant Card and Third Party Network Payments
  • 1099-LTC: Long-Term Care Benefits
  • 1099-MISC: Miscellaneous Income
  • 1099-OID: Original Issue Discount
  • 1099-PATR: Taxable Distributions Received From Cooperatives
  • 1099-Q: Payment from Qualified Education Programs
  • 1099-R: Distributions from Pensions, Annuities, Retirement Plans, IRAs, or Insurance Contracts
  • 1099-S: Proceeds from Real Estate Transactions
  • 1099-SA: Distributions From an HSA, Archer MSA, or Medicare Advantage MSA
  • 1042-S: Foreign Person's U.S. Source Income
  • SSA-1099: Social Security Benefit Statement
  • SSA-1042S: Social Security Benefit Statement to Nonresident Aliens
  • RRB-1099: Payments by the Railroad Retirement Board
  • RRB-1099R: Pension and Annuity Income by the Railroad Retirement Board
  • RRB-1042S: Payments by the Railroad Retirement Board to Nonresident Aliens

5498 Series

  • Form 5498: IRA Contribution Information
  • Form 5498-ESA: Coverdell ESA Contribution Information
  • Form 5498-SA: HSA, Archer MSA, or Medicare Advantage MSA Information

W series

W-2

The Form W-2, Wage and Tax Statement, is used to report wages paid to employees and the taxes withheld from them.[25] Employers must complete a Form W-2 for each employee to whom they pay a salary, wage, or other compensation as part of the employment relationship. An employer must mail out the Form W-2 to employees on or before January 31. This deadline gives these taxpayers about 2 months to prepare their returns before the April 15 income tax due date. The form is also used to report FICA taxes to the Social Security Administration. The Form W-2, along with Form W-3, generally must be filed by the employer with the Social Security Administration by the end of February. Relevant amounts on Form W-2 are reported by the Social Security Administration to the Internal Revenue Service. In territories, the W-2 is issued with a two letter code indicating which territory, such as W-2GU for Guam. If corrections are made, it can be done on a W-2c. The British-Irish equivalent form to a W-2 is a P60.

W-2G

The Form W-2G, Gambling Winnings, is used to report Gambling Winnings (direct wager only) to the IRS. It is completed when the winnings are $600.00 or more in any one session and 300 times the buy-in or wager.

W-3

The Form W-3 is a summary page of all W-2 forms issued by the employer. It is only used on paper filing of W-2 information. Like the W-2, the W-3c allows for corrections. W-3SS is used for the W-2 territorial returns.

W-4

The Form W-4 is used by employers to determine the amount of tax withholding to deduct from employees' wages. The form is not mailed to the IRS but retained by the employer. Tax withholdings depend on employee's personal situation and ideally should be equal to the annual tax due on the Form 1040. When filling out a Form W-4 an employee calculates the number of Form W-4 allowances to claim based on his or her expected tax filing situation for the year. The amount of money withheld as federal income tax is reduced for each Form W-4 allowance taken. No interest is paid on over-withholding, but penalties might be imposed for under-withholding. Alternatively, or in addition, the employee can send quarterly estimated tax payments directly to the IRS (Form 1040-ES). Quarterly estimates may be required if the employee has additional income (e.g. investments or self-employment income) not subject to withholding or insufficiently withheld. There are specialized versions of this form for other types of payment (W-4P for pensions as an example).

W-7

The Form W-7 and related documents are the application for IRS Individual Taxpayer Identification Number (ITIN). This number is used for people in the US legally, but unable to qualify for social security numbers, that have to file tax returns.

W-8 Series

The Form W-8BEN, Certificate of Foreign Status of Beneficial Owner for United States Tax Withholding, is used by foreign persons (including corporations) to certify their non-U.S. status. The form establishes that one is a non-resident alien or foreign corporation, to avoid or reduce tax withholding from U.S. source income, such as rents from U.S. property, interest on U.S. bank deposits or dividends paid by U.S. corporations. The form is not used for U.S. wages and salaries earned by non-resident aliens (in which case Form W-4 is used), or for U.S. freelance (dependent personal services) income (in which case Form 8233 is used). The form requires the foreign person to provide a U.S. Taxpayer Identification Number unless the U.S. income is dividends or interest from actively traded or similar investments. Other W-forms handle other international issues. The IRS released a new version of W-8BEN in February 2014 that required corporations to sign an W-8BEN-E form instead, which was still in draft status. For foreign corporations it was unclear, whether they were required to sign the previous W-8BEN form (established in 2006) or to sign the draft version of W-8BEN-E.

W-9

Form W-9, 2005

The Form W-9, Request for Taxpayer Identification Number and Certification, serves two purposes. First, it is used by third parties to collect identifying information to help file information returns with the IRS.[26] It requests the name, address, and taxpayer identification information of a taxpayer (in the form of a Social Security Number or Employer Identification Number). The form is never actually sent to the IRS, but is maintained by the person who files the information return for verification purposes. The information on the Form W-9 and the payment made are reported on a Form 1099.[27] The second purpose is to help the payee avoid backup withholding. The payer must collect withholding taxes on certain reportable payments for the IRS. However, if the payee certifies on the W-9 they are not subject to backup withholding they generally receive the full payment due them from the payer.[26] This is similar to the withholding exemptions certifications found on Form W-4 for employees.

W-10

The Form W-10, Dependent care provider identification, is a way for day care service providers to provide information to the individual so they can take credits for care of their children. This form is frequently replaced with a freeform statement indicating the Tax ID of the day care or individual and how much is paid.

W-11

The Form W-11, Hiring Incentives to Restore Employment (HIRE) Act Employee Affidavit, is to certify that a new employee was previously unemployed in order to qualify for a tax credit in accordance with the HIRE act.

W-12

The form W-12 is a form for tax preparation professionals to apply for their ID Number. It is being phased out in favor of an electronic application.

Other forms

Form 2553, 2005
  • Form 2553, Election by a Small Business Corporation, is used by small businesses to elect to be taxed as a "Subchapter S - Corporation" (S corporation).
  • Form 2555, Foreign Earned Income, is filed by taxpayers who have earned income from sources outside the United States exempt from U.S. income tax. U.S. citizens or resident aliens are taxed on their world-wide income. For those who qualify, however, Form 2555 can be used to exclude foreign earned income up to US$87,600 for 2008, $91,400 for 2009, $91,500 for 2010, and $92,900 for 2011. Also, it can be used to claim a housing exclusion or deduction. A filer cannot exclude or deduct more than their foreign earned income for the tax year.
  • Form 4868, Application for Automatic Extension of Time To File U.S. Individual Income Tax Return, is used to request an extension of time to file a federal income tax return for an individual (there is no extension to pay the tax).
  • Form 8812 The Additional child tax credit is a refundable tax credit.
  • Form 8822, Change of Address, is used to report a change of address to the Internal Revenue Service.
  • Form 8850, Pre-Screening Notice and Certification Request for the Work Opportunity Credit, is used in implementation of the federal government's Work Opportunity Tax Credit program.
  • Form 8889, Health Savings Accounts (HSAs), is used by Health Savings Account HSA holders. HSA administrators are required to send HSA account holders and file forms 1099SA and 5498SA with the IRS each year.
  • Form 8917 Tuition and fees deduction[28]
  • Form 8962 The Premium tax credit is a refundable tax credit is used in conduction with healthcare subsidies offered for individuals and families participating in a healthcare exchange. Health exchanges send participants a form 1095-A each year.

Public disclosure

In the United States, tax records are not publicly available, with the exception of Forms 990 and 1023 for nonprofit organizations which are generally open for public inspection. Selected tax data is released as economic data for research.[29] In other countries such as Norway and Finland, tax records are public information. Tax filings in the U.S. were not private when federal income taxation began in 1861, but controversy led to Congress prohibiting any examination of tax records by 1894. Congress allowed public examination of individual and corporate tax payments only in 1923, but the disclosure was eliminated by 1924. In 1934 the measure was briefly considered again. As of 2010, various experts have advocated that the income and tax payments be released for individuals and corporations to shed further light on tax efficiency and spur reform. These experts have suggested only releasing information that cannot be used for identity theft to address privacy concerns.[30]

See also

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^ See Publication 1796-A, IRS Historical Tax Products (rev. Feb. 2007), Internal Revenue Service, U.S. Dep't of the Treasury.
  2. ^
  3. ^ Schedule M, (Instructions)
  4. ^ http://www.forbes.coms/ashleaebeling/2014/11/04/irs-commissioner-predicts-miserable-2015-tax-filing-season/
  5. ^
  6. ^
  7. ^
  8. ^
  9. ^ [1]
  10. ^
  11. ^
  12. ^
  13. ^
  14. ^
  15. ^ http://tfcny.fdncenter.org/990s/990search/esearch.php
  16. ^
  17. ^
  18. ^
  19. ^
  20. ^
  21. ^ Forbes, The Rise of The 1099 Economy: More Americans Are Becoming Their Own Bosses, http://www.forbes.coms/joelkotkin/2012/07/25/the-rise-of-the-1099-economy-more-americans-are-becoming-their-own-bosses/
  22. ^ IRS instructions for form 1099, including a guide to what payments must be reported.
  23. ^ Topic 801 - Who Must File Electronically, Internal Revenue Service.
  24. ^ Instructions for Form 1099-MISC (2012), Internal Revenue Service.
  25. ^ See generally 26 U.S.C. § 6051, 26 C.F.R. sec. 31.6051-1 and sec. 31.6051-2.
  26. ^ a b Internal Revenue Code § 31.3406(h)-3
  27. ^ Internal Revenue Code § 1.6041-1
  28. ^ http://www.foxbusiness.com/personal-finance/2014/04/22/get-deduction-when-using-loans-to-pay-tuition/
  29. ^ Greenia N. (2007). "Statistical Use of U.S. Federal Tax Data". SOI Paper Series.
  30. ^ Bernasek A. (2010). "Should Tax Bills Be Public Information?". The New York Times.

External links

  • Internal Revenue Service