Why doesn't "Retrieve a customer" return businessType?

(Abe Voelker) #1

So I’m working on the whitelabel signup process for business verified customers. A scenario that I need to handle is if the user creates the Customer successfully, but leaves signup before uploading verification documents and/or adding beneficial owners, then comes back later to complete those steps.

I need to know the businessType of the Customer for those steps in order to know which document upload instructions to show (suggested document types for the different business types) and more importantly, if they need to provide beneficial owner information or not.

I would say it’s a value I could just save in my application’s database before proxying the initial Customer create request to Dwolla’s API, however there is inherent raciness in that approach (lack of atomicity) that I don’t see an airtight solution to resolving without support for metadata or some other way of being able to correlate the parameters used in the initial create (even say exposing the idempotency key that was used would work).

Or am I missing something?

MetaData information for customer
(Shreya Thapa) #3

Hi @abe, thank you for your question!

Regarding document upload, you can prompt your Business Verified Customers (BVC) to upload certain documents based on the _links object within the response-body from the API when you retrieve a BVC. This will help determine whether or not documents are needed for a Controller, the business, or both the controller and business.

As for which documents are required for the BVC based on their businessType, the business document required for any BVC which isn’t a soleProprietorship is an EIN Letter (IRS-issued SS4 confirmation letter), whereas a soleProprietorship requires any one of the documents outlined in our resource article.

Finally, you can tell the businessType apart by the absence/presence of the controller object. The absence of a controller object would mean that the BVC was created with businessType: soleProprietorship. The presence of the controller would indicate that the BVC was created with businessType: llc, corporation or partnership.

Determining if Beneficial Owners (BO) are required for a certain BVC is dependent on the option they choose upon initial creation of the Customer. For example: If a BVC chooses to create their account as a Non-profit, your app’s logic would create the Customer in Dwolla either as a llc or a corporation.
Now, some LLCs and Corporations are required to add a BO if they own more than 25% of the company, but non-profits - even though they on-boarded as llcs or corporationss - are exempt from adding a BO. So, in order to determine if BOs are required, you could apply some logic on the BVC on-boarding form to serve up the BO form to the customer based on the choice they make on the businessType field.

Please let me know if I can help clarify things further!

1 Like
(Abe Voelker) #4

Thanks @shreya, those tips are helpful! I still think it would be nice if the API returned the exact value of the businessType back that was used rather than the ambiguity between llc, corporation or partnership based on the presence of the controller object, but I guess I can work around it with my application database.

Edit: This topic can be locked or deleted now that we can pass a correlationId when creating Customers - I can easily handle this type of stuff with my application’s database now instead. Thank you.

(Shreya Thapa) #5

Hi @abe, that sounds great, thanks for update! I shall close out the topic, but keep it up for anyone who might come across the same question in the future.

1 Like
(Shreya Thapa) closed #6