Proposal summary
This proposal describes the Inputting draft bills (pending approval state) into Netsuite Through the mail.
Requirement
Currently, accounting staff get invoice emails from users, and they have to download the PDF then manually create the vendor bills to Netsuite and pay them.
Instead of this, Swyft would like to automatically create the draft bills in Netsuite when users send emails to invoices@swyft.com.
Our Solution
Prerequisites
- Swyft needs to provide the following permissions:
- to create/edit vendor and vendor bill
- Setup company permission
- Swyft has to provide an email id or employee list of accounting staff to schedule the email.
Description of task
The solution can be achieved by adding an Email plugin implementation on Netsuite. We will provide one NetSuite email address after the development. So users need to add this NetSuite email address to CC when sending emails to invoices@swyft.com. We will deploy one script to create the bill(pending approval status) using a dummy vendor, a dummy item, and a dummy location when Netsuite gets the email. The attachment from the email will be added to the created bill as an attachment.
We will create fields for selecting the dummy vendor, dummy item, and dummy location on the General preference. The administrator can set the dummy vendor, dummy location, and dummy item in General preference. The script will get the dummy vendor and dummy item from these fields and create bills using these values.
- Vendor: Dummy Vendor
- Bill status: Pending Approval
- Date: Today’s date
- Subsidiary, currency, and exchange rate: auto-populate based on the vendor
- Item: Dummy Item
- Item quantity: 1
- Item rate: 0.01
- Location: Dummy Location
Also, we will create one search with bills of Dummy Vendor with status pending approval. So accounting staff can refer to this search result to correct the details in the vendor bill and approve the same.
We will schedule the same search to send the email notifications to the specific email id or employees provided by Swyft.
Risk
- According to the proposed solution, when NetSuite receives an email through this email plugin, the script will create dummy bills on Netsuite. So if users send any emails to this NetSuite email address, the script will create dummy bills.
- If the user does not add the NetSuite email address to the CC of the email, no bills will be generated on NetSuite since we do not get any trigger on Netsuite.
- After the creation of the vendor bill, the business user has to update the vendor bill with correct vendor and item details based on the details on the attached pdf in the bill.
- The proposed solution will support only a single subsidiary. If there is a chance to come up with multiple subsidiaries in the future, then we will have to alter the script by including different dummy vendors, dummy items, and location fields for each subsidiary.
- The maximum size of an email that can be captured using the email plugin is 25,000,000 bytes (25 MB). The maximum size of an individual attachment in an email is 10 MB. If the size of the email is more than that, then the bill record will not be created in Netsuite since we cannot get that trigger in Plugin.
- The speed of bill record creation in Netsuite will be dependent on the size of the email attachment. If the email attachment size is high then it will take more time to create the bill record.
- If you want to create bills for the email that you have received before this implementation, you have to resend the email to the NetSuite plugin email.
- We can fetch the files that are supported by Netsuite. If any of the attached files are not supported by Netsuite, then they will not be received in NetSuite Plugin so that we cannot create vendor bills in Netsuite. we will process the file creation within an error handling module. So in case, the file creation fails due to any unexpected content(unsupported strings), then will create the bill by skipping Files.