SBA PPP Loan Platform FAQ - Developer Notes
- 1. How will client get Keys for the API
- 2. Where is endpoint URL
- 3. FQDN (Fully qualified domain name) to be whitelisted for calling API’s
- 4. During submission, what validations does the platform complete to help us ensure a borrower hasn’t submitted an application with another organization
- 5. Once I submit the PPP Loan requests into the platform, what can I expect in the context of the final SBA Number so I can fund the loan to my borrower
- 6. How does your address validation work in the context of our submissions – can you explain the process if we are passing incorrect addresses to the platform?
- 7. Do you do any validations on the EIDL Loan Number that is required upon submission for the first draw within the platform?
- 8. How do I ensure I am properly booking loans to the correct Lending organization. I have the Lender Location ID, how does that work in the context of booking loans through the API on this PPP Platform
- 9.How do you define the Principal of each business type?
- 10. Attestation values of True/False seem reversed
- 11. What time will etran update Origination platform with latest status?
- 12. Will the ETRAN PPP Loan Validation API return a response for SBA or EIDL loan numbers that were issued via other lenders?
- 13. Can you confirm the ACH Routing and Account Number for PPP will be explicitly specified within the portal and not reuse the Forgiveness ACH information?
- 14. What is the time expected between a lenders submission to the API, and then your submission to ETRAN?
- 15. Can you publish the Location Id on the Forgiveness portal so we know the lender’s credit applications are being assigned to the lender’s location in ETRAN?
- 16. What is the regular expression used to validate EINs and SSNs?
- 17. Do the Demographic questions (gender, race, ethnicity) apply to the Business or Owners ?
- 18. Date of Establishment vs Year of Establishment.
- 19. We have no owners over 1 percent.
- 20. Period reporting with quarters and_annual.
- 21. Owner does not have US address.
- 22. Where to pass Agent information.
- 23. The API does not have an “other” business type.
- 24. How do vendors answer lender_contracted_third_party.
- 25. Are there request limits on the ppp status endpoints?
- 26. Error regarding loan amount is incorrect based on employee count.
- 27. Possible reasons for Not Approved Loan.
- 28. Number of employees edit check.
- 29. Maximum characters limitation.
- 30. Common Validation Messages and Suggested Resolution
- 31. Loan cancelled in Etran
- 32. First draw Loan on hold
- 33. ITIN (Individual Taxpayer Identification Number)
1. How will client get Keys for the API
If you already have Forgiveness API & vendor keys, same can be used for PPP Origination as well.
For any new API clients -
Client will need two keys to access the APIs for the PPP Loan platform:
First, they will need vendor key that will uniquely identify their organization as a consumer of these APIs. This is provided as part of on-boarding.
(Please send an email to developer@ussbaforgiveness.com if you need vendor keys)
Second, they will need to obtain a Bank API key that will allow you access to perform work for (or on behalf of) a given financial institution. For production, this key will need to be provided directly from the financial institution and can be found within the Forgiveness portal. This key is found within the user profile of an enabled “API User”. Please note, we are advising as a best practice that the Lender to create an unique API user within the Forgiveness Portal.
2. Where is endpoint URL
Environment: All the PPP API’s are exposed in the Sandbox and Production environment
Environment | URL |
---|---|
Sandbox | https://sandbox.forgiveness.sba.gov/ |
Production | https://forgiveness.sba.gov/ |
3. FQDN (Fully qualified domain name) to be whitelisted for calling API’s
forgiveness.sba.gov
Also to upload and access documents (Amazon S3), here are the details
Environment | URL |
---|---|
Sandbox | lenders-cooperative-sandbox-app.s3.us-gov-west-1.amazonaws.com |
Production | lenders-cooperative-prod-app.s3.us-gov-west-1.amazonaws.com |
DR | lenders-cooperative-prod-app-2.s3.us-gov-east-1.amazonaws.com |
4. During submission, what validations does the platform complete to help us ensure a borrower hasn’t submitted an application with another organization.
The platform performs a series of checks to ensure the Borrower’s EIN or SSN associated with the loan isn’t already within the platform. This will ensure a borrower can’t apply for another First Draw. In addition, the platform also ensures that a second draw borrower has a properly full disbursed first draw (initial PPP) loan.
5. Once I submit the PPP Loan requests into the platform, what can I expect in the context of the final SBA Number so I can fund the loan to my borrower?
In support the Economic Aid Act, additional diligence and validation is being conducted on submissions. This will result in a delay between the period of submissions and the final return of a SBA number. This delay will be based on batch processing. In addition, should validations fail, the resulting reasons will be displayed to the lender with an opportunity to withdrawal, or correct.
6. How does your address validation work in the context of our submissions – can you explain the process if we are passing incorrect addresses to the platform?
- The end user application will perform autocomplete of address to ensure for clean data.
- This API is used to validate and get standardized addresses along with Zip+4. API users may use it to ensure addresses are valid before submitting Loan requests to the SBA and normalize street address formats (Rd, St, Alley etc). This is not a requirement to complete before submission, although a best practice.
While we recommend all addresses be validated before submission, you may still submit an origination request if the address fails validation but has been confirmed valid by the lender.
Upon submission, the platform will automatically validate and standardize addresses before booking into ETRAN. If we can’t find a Zip + 4, the platform will leverage the current SBA address validation rules which are more flexible (City/Zip Combinations) – often used to account for US territories.
If the address is not valid after this final address check by the SBA, we will return a failed validation message which will require resubmission by the Lender.
7. Do you do any validations on the EIDL Loan Number that is required upon submission for the first draw within the platform?
The platform validates the incoming EIDL Loan Number (if supplied) is among those EIDL Loans that are eligible for a refinance (occurring between January 31st, 2020 and April 3, 2020). If you provide an EIDL Loan number in the API or UI, it will validate against the SBA system of record for this information and fail if the loan is not a valid loan number. This validation also ensure the EIDL Loan Amount is accurate as well. This applies only for the first draw API and UI processing.
8. How do I ensure I am properly booking loans to the correct Lending organization. I have the Lender Location ID, how does that work in the context of booking loans through the API on this PPP Platform.
PPP Loans are booked at the Lender HQ Location ID – this will be automatically handled (through the combination of the Auth Token provided by Bank AO, and certified Bank Vendor Key).
9. Definition of Principal
a) For a self-employed individual, independent contractor, or a sole proprietor, the self-employed individual, independent contractor, or sole proprietor.
b) For a partnership, all general partners and all limited partners owning 20% or more of the equity of the Borrower, or any partner that is involved in the management of the Borrower’s business.
c) For a corporation, all owners of 20% or more of the Borrower, and each officer and director.
d) For a limited liability company, all members owning 20% or more of the Borrower, and each officer and director.
e) Any individual hired by the Borrower to manage the day-to-day operations of the Borrower (“key employee”).
f) Any trustor (if the Borrower is owned by a trust).
g) For a nonprofit organization, the officers and directors of the Borrower.
10. Attestation values seem opposite of expectation
The attestation questions like ineligible_bad_loan require a TRUE value for submission. The question is asking whether the lender has verified that the borrower does not have a bad loan which makes them ineligible. The value of TRUE is your attestation that you have performed this due diligence. A value of FALSE indicates you have not preformed this due diligence and the application is rejected.
11. What time will etran update Origination platform with latest status?
Etran will update Origination platform once a day, which is planned for early morning hours. If Vendors would like to check latest status of their Loan request, we would request Vendors and Lenders doing API status checks for all their submitted loan requests, to occur between 6-8am Eastern if possible.
12. Will the ETRAN PPP Loan Validation API return a response for SBA or EIDL loan numbers that were issued via other lenders?
Yes – this Loan Validation API provides confirmation regardless of which Lender made the first PPP loan.
13. Can you confirm the ACH Routing and Account Number for PPP will be explicitly specified within the portal and not reuse the Forgiveness ACH information?
In the context of booking a PPP Loan, we do not require the use of ACH Routing and Account information. The Partner level data is leveraged for a Lender (out of PIMS), therefore you don’t require (and we won’t) accept the transmission of an account number in the PPP API.
14. What is the time expected between a lenders submission to the API, and then your submission to ETRAN?
This occurs real-time; the delay after validation may range from 1 minutes to 30 minutes.
15. Can you publish the Location Id on the Forgiveness portal so we know the lender’s credit applications are being assigned to the lender’s location in ETRAN?
Yes, this Location ID is already found within the Institution Settings tab within the portal.
16. What is the regular expression used to validate EINs and SSNs?
For SSN -
The REGEX is: “^(?!000|666)[0-8][0-9]{2}-(?!00)[0-9]{2}-(?!0000)[0-9]{4}$”
For EIN -
Last 8 digits not in this list:
‘00000000’,‘11111111’,‘22222222’,‘33333333’,‘44444444’,‘55555555’,‘66666666’,‘77777777’,‘88888888’,‘99999999’
17. Demographics Questions.
The demographic questions in the business section apply to the business owners. In instances with diverse owners, you may elect to anwser the demographics of the majority owner, listed principal or not anwser at all.
18. Date of Establishment.
The SBA form request the year of establishment but the API suggest date of establishment, can this be clarified? Yes, the API requires a full date (year, day, month) because it will check for a date prior to February 2020. We are capturing the establishment date due to SBA requirement in ETRAN and the legislative requirements.
19. No owners with 1 percent
The SBA requires that the Owners percent is at least 1%. In some scenarios where there is no owner with 1%, you will still need to submit a principal with 1%. There is no current workaround. The SBA has finalized the ownership/principal requirement to enforce an aggregate 20% submission level for all principals combined. The system will still honor the current value of 1% (for each individual principal) – but the aggregate of those entered – must be 20%. Said differently – a single 1% principal will not be allowed via the UI or API – you must submit an achieved total of 20%.
API expects one owner and 100% ownership, if using 1, 16, 17 and 26 Borrower types.
20. Period reporting with quarters and annual
API has an annual option (code 5) that you can pass when supplying annual values. The important point is to pass the relative periods. So for Q1 of 2021 you would still pass 1 as the period as this would be relative to period 1 in 2020.
21. Owner does not have US address
Owners must have US addresses as per SBA guidance. You may choose to enter the US address of the business entity if available.
22. Where do I pass agent info?
Niether the SBA form or the API have a function to accept agent information. So this does not need to be passed via the API.
23. Where is the other business type?
The form has a business type of other but the API does not. Rather, the API splits the “other” type into all the supported business types in ETRAN. Other is not a valid value and one of the defined business types must be used. This info may need to be gathered from the borrower.
24. How does lender contracted third party relate to vendor keys?
This API parameter (lender_contracted_third_party) comes from the Lenders form 2484 qustion K. This question is not referncing technology partners used for submitting orginzation request. Rather its about loan servicing providers.
25. Are there request limits on the ppp status endpoints?
We don’t have published limits that would throttle your ability to use these APIs. We have built this system with additional capacity to support frequent status inquiry by Lenders and Fintechs. Practically speaking, the request do not change statuses frequently. There will be multiple days, likely, between statuses. The idea that a given FinTech would pull these on a fifteen-minute basis would probably not be practical, so we ask that you design your systems accordingly. Be good stewards of the system. To maintain reliability and stability within our environments, Forgiveness portal operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we may throttle requests from developers that are putting unnecessary burden on the system. If the API call rate limit is reached, client will receive an exception
26. Employee count to loan calculation.
With updated guidelines by SBA, this control was enhanced and should eliminate concerns on the calculation limiting service corner case loan situations.
27. Possible reasons for Not Approved Loan
Reason |
---|
Criminal Record |
Bankruptcy |
OFAC |
Potential Decedent Application |
Inactive Business |
Mismatch of TIN (EIN/SSN) |
Mismatch of Entity Name (Individual or Company) |
In Operation After Feb 15,2020 |
Large Number of Employees at Residential Business Address |
Do Not Pay - Death Sources |
Do Not Pay - SAM |
Do Not Pay - TOP and CAIVRS |
Do Not Pay - TOP Education |
Disqualifying Criminal History Identified |
Disqualifying Bankruptcy Identified |
Potential Match to Sanctions List Identified |
Applicant Potentially Deceased |
Dormant Business Identified |
Applicant Tax ID Discrepancy |
Applicant Name Discrepancy |
Disqualifying Business Formation Date Identified |
Large Number of Employees at Residential Location |
Treasury Do Not Pay Analysis |
28. Number of employees edit check
For Self Employed and Independent Contractor, only 1 employee is allowed. For Sole prop using SSN, only 1 employee is allowed. If Sole prop reporting more than 1 employees, they should use EIN for Business type.As per the IRS, any time a sole proprietor hires an employee, the sole proprietorship will need to obtain an Employer Identification Number (EIN).
29. Maximum characters limitation
Field | Maximum Characters |
---|---|
dba_name | 80 |
legal_name | 80 |
address1 | 80 |
address2 | 80 |
primary_contact_name | 80 |
primary_contact_email | 80 |
Position (title) | 80 |
first_name | 40 |
last_name | 40 |
city | 40 |
Lender application number | 20 (restricted to 20 alphanumeric characters (non-alphanumeric characters are allowed but they count double).Regex for identifying non-alphanumeric characters:[^a-zA-Z0-9\s] |
Purpose of loan other info | 80 (restricted to 80 alphanumeric characters (non-alphanumeric characters are allowed but they count double).Regex for identifying non-alphanumeric characters:[^a-zA-Z0-9\s] |
30. Common Validation Messages and Suggested Resolution
Validation Message | Reason | Suggested Resolution |
---|---|---|
You are likely seeing this message because your first PPP Loan was booked under an SSN or EIN Type that is not the same as the loan you are now attempting to enter. These values must match for your submission to move forward. Please follow the correction instructions on the (platform) resources section entitled: Tax ID Changes in ETRAN. Error: E0020 | First draw tin type (SSN/EIN) used during last year PPP Loan, doesnot match second draw’s tin type | Due to the increased rigor of this PPP round, the validations and resulting edit checks are naturally more robust.First draw loans that may have been booked in error (wrong SSN/EIN/Corporate structure) – may act as toll-gates from properly submitting a second draw. Lenders are advised to follow the correction process documented within the etran platform (as possible).Due to volume in the servicing centers, this correction process may require several days. |
31. Loan cancelled in Etran
Once a Loan has been approved and funded, if a loan is canceled in ETRAN; origination platform gets a replicated copy of this and removes this – usually within 1 business day – the lender can then resubmit if required.
This is for a funded loan and the lender no longer needs this loan or needs to rebook for a reason.
32. First draw loan on hold
Platform process for new Second Draw PPP Loan guarantee applications for Unresolved Borrowers (i.e. where First Draw have a Hold):
a) From an API perspective, these Second Draw submissions will be moved automatically to a research status (loan will move from Pending validation to Further Research Required)
b) First draw Loan which has hold on it, will be made available in Platform under Proactive Loan & Hold Reviews
c) Platform will provide the Lender an opportunity to submit documentation through UI into the platform to support the resolution of the outstanding First Draw issue(s).
d) Once resolved by SBA, these Second Draw Loan guarantee applications will be automatically submitted into the next stage of processing and will not require re-entry by the Lender.
33. ITIN - Individual Taxpayer Identification Number
a) ITIN edit checks allows nine digit number beginning with number 9 and 4th-5th digit between 70-99
b) API will support ITIN with Tin_type of 4
c) ITIN is allowed for both borrowers and owners
d) Supported in both UI and API