What Triggers an I-9 Audit?

triggers-form-i-9-audit-header Going through the process of an I-9 audit can be tedious, overwhelming, and stressful. However, knowing what triggers an I-9 audit can help your organization avoid an audit and remain in compliance with federal law. If your company ever does have to go through an I-9 audit, having airtight records and procedures can help make the process go as smooth as possible.

What factors trigger an I-9 audit?

There are three categories that can trigger an I-9 audit from the Department of Homeland Security (DHS) and Immigration Custom Enforcements (ICE): complaints from individuals, data analysis, and government resources. 

 

Complaints from Individuals Data Analysis Government Resources
  • Complaints from employees, both current and former 
  • Complaints issued by job candidates who weren’t hired
  • Complaints from business competitors
  • Review of data on file at DHS
  • Review of data provided by confidential informants
  • Review of data provided by alleged co-conspirators
  • Information provided by other federal agencies

#1 Complaints from Individuals

This category makes up a significant portion of I-9 audits conducted by the Department of Homeland Security, particularly complaints from former or current disgruntled employees. An employee is much more likely to file a complaint with DHS or ICE if they feel they have been treated unfairly. Although these complaints often have very little supporting evidence, they can still trigger DHS or ICE to conduct an I-9 audit for your company. 

Job candidates, who were interviewed but not hired, can also file complaints. Typically these complaints are based upon whether or not they were asked about immigration status, or if they feel they lost the job opportunity to an undocumented worker. Again, there is often very little evidence to support these claims, but DHS and ICE have an obligation to investigate credible complaints regardless. 

Business competitors are another source of individual complaints to DHS or ICE. Sometimes these complaints can be malicious with the intent to disrupt the company’s business operations with an I-9 audit, as these audits often require a large amount of time and energy, causing some productivity loss. Even if this is the case, if there is any reason for DHS and ICE to believe allegations are legitimate, they will still investigate through an I-9 audit.

Since individual complaints make up most of the I-9 audit triggers, it can feel like there isn’t much your company can do to prevent an audit. However, this simply is not true. While your company may trigger an I-9 audit from an individual complaint, it is far less likely if you have airtight onboarding, hiring, and internal I-9 procedures in place. Remember, DHS and ICE are only obligated to investigate credible allegations. If your company has I-9 compliance protocols in place, it is far less likely to be audited. 

#2 Data Analysis

Data on file with the Department of Homeland Security can also trigger an I-9 audit for your company. The federal government has access to several pieces of data on immigration and employment verification through their database. They are able to identify any trends or discrepancies with this data in regards to industry, region, and companies, then determine when or if audits are needed. 

Data provided by confidential informants is another source that can trigger an I-9 audit. These are typically cases where the informant has agreed to provide information in exchange for their own protection in a federal case. Some examples of this can be an undocumented worker detained by ICE or a DHS official that applies for a job and shares any information they get while at the company. 

Data provided by alleged co-conspirators is another way an I-9 audit can be triggered. In this instance, it will typically be someone on trial for harboring aliens. There are hefty sentences for this offense, some including life in prison or even the death penalty. These individuals are likely to give DHS or ICE information about companies hiring these undocumented individuals in order to lighten their own sentence. 

#3 Government Resources

Information provided by other government agencies such as the IRS can also trigger DHS or ICE to conduct an I-9 audit. Federal agencies work together and often share information. If the IRS suspects that a company is not complying with federal I-9 regulations based on their information, the IRS will share this data with ICE or DHS in order for them to conduct an I-9 audit. 

What can your organization do to get through the I-9 audit process smoothly?

The best way to get through the I-9 audit process smoothly is to be proactive. Ensuring your company is in compliance from onboarding, to current employee I-9 forms, to I-9 keeping records for terminated employees. It’s helpful to conduct regular internal I-9 audits to find and fix any I-9 errors in order to remain in compliance. 

i9-inspection-process However, if your company does get audited for its I-9 forms, it’s helpful to first understand the process. The Department of Immigration and Customs Enforcement has a specific process for I-9 audits. Here is a flowchart from ICE that outlines the tedious process from the notice of inspection (when your company finds out it will be audited) through the process of hearings and/or fines.

After your company gets a Notice of Inspection, the process will begin. A representative from the federal government (DHS or ICE) will come and inspect your forms. The best thing your company can do is to cooperate with the inspectors and give them all the information they request. This is where having efficient processes and procedures for I-9 records are helpful. The inspector will be looking for the following: 

  • Incomplete I-9 forms
    • Missing documentation from List A or List B and C
    • Missing information from section 1
    • Missing information from section 2
    • Missing signatures
  • I-9 forms that were not filled out within 3 days of hire
  • I-9 errors
  • Missing I-9 forms
    • Current employees
    • Terminated employees
  • Undocumented workers

 

If your company has any I-9 infractions, there are a few things taken into account. Sometimes companies are just given a warning, while others are fined, which range from $257 to $2,507 per I-9 form. There are a few things the federal government takes into consideration when fining. They will determine if this is the company’s first, second, third, or more offense along with if the company knowingly hired ineligible individuals, and if there are any uncorrected procedural failures. From there, the inspector uses a formula including factors such as business size, good faith of the employer, how many infractions there are, number of offenses, and how many unauthorized employees, to determine the fine amount. 

If your company does get a Notice of Intent to Fine (NIF), you can opt for a hearing before paying the fine. Per ICE, the employer is entitled to a hearing before an Administrative Law Judge at the Office of the Chief Administrative Hearing Officer (OCAHO). This request must be made within 30 calendar days of receipt of the NIF.

How can your organization avoid I-9 audits?

Sometimes I-9 audits are inevitable, particularly if someone such as a current or former employee, job candidate, or business competitor files a complaint with ICE and DHS. However, ensuring your I-9 practices are airtight can help you avoid costly I-9 penalties. You can conduct internal I-9 audits to ensure your organization is in compliance with federal law. 

Start with looking at your company’s onboarding practices. You can save a lot of time and energy if the I-9 process is smooth and compliant during the onboarding process. Analyze the data and determine if your organization is abiding by I-9 regulations. Some important questions to ask during this process include: 

  • Are all new employees completing I-9 forms within three days of hire? 
  • Are staff members that are responsible for filling out section 2 of the I-9 form doing so within three days of hire? 
  • What processes and procedures are currently in place to ensure I-9 compliance during onboarding? 
  • Are the I-9 forms complete and accurate?
  • Are I-9 records secure and easily accessible?
  • Is the company keeping old employee I-9 forms for the proper amount of time? 

 

After your onboarding process is airtight and I-9 compliant, conduct another internal audit with current and former employee I-9 forms. It’s critical to keep I-9 forms, even for terminated employees, to remain in compliance with I-9 regulations. During your internal I-9 audit, it’s helpful to have a checklist with every piece of information your company will need, along with best practices. You can download our free I-9 audit checklist, complete with all the information your company needs, best practices, common errors, and even how to properly correct I-9 form errors. 

Consider technology that will prevent Form I-9 errors and automate the I-9 audit trail

Whether your company is currently undergoing a federal I-9 audit, or it’s trying to avoid one, it’s critical to have efficient procedures for I-9 record keeping. Companies that use an electronic I-9 process with field checking and a digital audit trail, capture the phone number, IP address, as well as date and time stamps, making the audit process easier if there ever was a DHS audit.

Using technology like WorkBright’s Remote I-9 software catches mistakes before they happen, is simple to use (even from a phone) and leaves a clear digital audit trail. 

Have questions or want to find out more about what WorkBright could do for you?  Request a Demo

 

[gravityform id="37" title="false" description="false"]
[gravityform id="50" title="false" description="false"]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_50' > <div class='gform_heading'> <p class='gform_required_legend'>&quot;<span class="gfield_required gfield_required_asterisk">*</span>&quot; indicates required fields</p> </div><form method='post' enctype='multipart/form-data' id='gform_50' action='/what-triggers-an-i-9-audit/' novalidate> <input type='hidden' class='gforms-pum' value='{"closepopup":false,"closedelay":0,"openpopup":false,"openpopup_id":0}' /> <div class='gform_body gform-body'><div id='gform_fields_50' class='gform_fields top_label form_sublabel_below description_below'><div id="field_50_4" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_50_4"><label class='gfield_label' for='input_50_4' >Work Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_4' id='input_50_4' type='email' value='' class='large' placeholder='Work Email*' aria-required="true" aria-invalid="false" /> </div></div><div id="field_50_1" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_50_1"><label class='gfield_label' for='input_50_1' >First Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_50_1' type='text' value='' class='large' placeholder='First Name*' aria-required="true" aria-invalid="false" /> </div></div><div id="field_50_2" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_50_2"><label class='gfield_label' for='input_50_2' >Last Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_50_2' type='text' value='' class='large' placeholder='Last Name*' aria-required="true" aria-invalid="false" /> </div></div><div id="field_50_3" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_50_3"><label class='gfield_label' for='input_50_3' >Company<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_3' id='input_50_3' type='text' value='' class='large' placeholder='Company*' aria-required="true" aria-invalid="false" /> </div></div><div id="field_50_23" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_50_23"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_50_23' >Lead Source</label><div class='ginput_container ginput_container_text'><input name='input_23' id='input_50_23' type='text' value='Google ORGANIC' class='medium' aria-invalid="false" /> </div></div><div id="field_50_11" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_50_11"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_50_11' >Web Form Page</label><div class='ginput_container ginput_container_text'><input name='input_11' id='input_50_11' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_50_15" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_50_15"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_50_15' >Web Source</label><div class='ginput_container ginput_container_text'><input name='input_15' id='input_50_15' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_50_14" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_50_14"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_50_14' >Web Medium</label><div class='ginput_container ginput_container_text'><input name='input_14' id='input_50_14' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_50_13" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_50_13"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_50_13' >Web Campaign</label><div class='ginput_container ginput_container_text'><input name='input_13' id='input_50_13' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_50_17" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_50_17"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_50_17' >Web Term</label><div class='ginput_container ginput_container_text'><input name='input_17' id='input_50_17' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_50_12" class="gfield field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_50_12"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_50_12' >Web Content</label><div class='ginput_container ginput_container_text'><input name='input_12' id='input_50_12' type='text' value='' class='medium' aria-invalid="false" /> </div></div><div id="field_50_42" class="gfield gfield--width-full field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_50_42"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_50_42' >LeadChannel</label><div class='ginput_container ginput_container_text'><input name='input_42' id='input_50_42' type='text' value='Website Form Newsletter' class='large' aria-invalid="false" /> </div></div><div id="field_50_38" class="gfield gfield--width-full field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_50_38"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_50_38' >Country</label><div class='ginput_container ginput_container_text'><input name='input_38' id='input_50_38' type='text' value='United States' class='large' aria-invalid="false" /> </div></div><div id="field_50_44" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_44"><label class='gfield_label' for='input_50_44' >Comments</label><div class='ginput_container'><input name='input_44' id='input_50_44' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_50_44'>This field is for validation purposes and should be left unchanged.</div></div></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_50' class='gform_button button' value='Subscribe' onclick='if(window["gf_submitting_50"]){return false;} if( !jQuery("#gform_50")[0].checkValidity || jQuery("#gform_50")[0].checkValidity()){window["gf_submitting_50"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_50"]){return false;} if( !jQuery("#gform_50")[0].checkValidity || jQuery("#gform_50")[0].checkValidity()){window["gf_submitting_50"]=true;} jQuery("#gform_50").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_50' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='50' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_50' value='WyJbXSIsIjAxYjc1YzA4NDAxYzk0YjEyYTMxMWI1NzNiYmViNGJiIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_50' id='gform_target_page_number_50' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_50' id='gform_source_page_number_50' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="39"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>