The Best Solution for Payment Processing in QuickBooks®

Today Payments is an Authorized Reseller of Intuit offering a highly robust app that supports both QuickBooks’ desktop and online customers, provide merchants with the tools they need so they can focus more time on their customers and businesses, and less time on data entry.

"Our Integrated payment solutions can save a typical small business owner more than 180 hours each year"
QuickBooks Pro Software QuickBooks Accounting Software Image
  • ~ Automate Account Receivable Collection
  • ~ Automate Account Payable Payments
  • ~ One-time and Recurring Debits / Credits

Secure QB Plugin payment processing through QuickBooks ® specializes in the origination of moving money electronically.

Ask about our special:

Request for Payments

To batch import FedNow and Instant Real-Time Payments (RTP) Request for Payment (RfP) files generated from QuickBooks Online (QBO) into your bank’s dashboard, you will need to follow these steps:

Workflow Overview:

  1. Export data from QuickBooks Online (QBO).
  2. Convert the data to a compatible format (such as CSV, XML, or ISO 20022) required by your bank for RfP uploads.
  3. Batch import the RfP files into your bank’s dashboard or API.
  4. Monitor the status of the payment processing and reconcile the payments in QuickBooks.

Step-by-Step Guide:

1. Export Data from QuickBooks Online (QBO)

You need to export the invoices or payment requests from QuickBooks Online in a format that can be processed by the bank. QuickBooks typically allows exporting data in CSV or Excel format, which can later be converted into the appropriate format for FedNow or RTP.

a) Export Invoices or Payment Requests from QuickBooks Online:

  1. Log in to QuickBooks Online.
  2. Navigate to the Sales or Invoices section.
  3. Select the invoices you need to process for real-time payments.
  4. Click Export and choose CSV or Excel.
  5. The exported data should include:
    • Invoice Number
    • Payee Details (name, account number, routing number)
    • Payer Details (name, account number, routing number)
    • Payment Amount and Currency
    • Due Date
    • Invoice Reference Number

Example CSV structure:

csv

InvoiceNumber,PayeeName,PayeeAccount,PayeeRouting,PayerName,PayerAccount,PayerRouting,Amount,Currency,DueDate,InvoiceRef

INV-1001,ABC Corp,123456789,987654321,John Doe,987654321,123456789,500.00,USD,2024-10-01,INV-1001

INV-1002,XYZ LLC,2233445566,654321987,Jane Smith,1122334455,321654987,300.00,USD,2024-09-25,INV-1002

2. Convert Data to the Required Format for FedNow or RTP

Depending on your bank’s requirements, you may need to convert the exported QuickBooks data into XML (ISO 20022 format) or keep it in CSV format if that’s accepted.

a) Convert CSV to ISO 20022 XML (if required by the bank):

You can automate the conversion of the CSV file into ISO 20022 XML format using a script. Here’s a basic Python script that reads the CSV file and generates XML output:

Example Python script to convert CSV to XML:

python

import pandas as pd

import xml.etree.ElementTree as ET

 

# Load the CSV exported from QuickBooks Online

data = pd.read_csv('quickbooks_invoices.csv')

 

# Function to create RfP XML for each invoice

def create_rfp_xml(row):

    root = ET.Element("Document")

    rfp = ET.SubElement(root, "ReqForPaymt")

   

    # Payee Information

    payee = ET.SubElement(rfp, "PayeeInfo")

    ET.SubElement(payee, "Name").text = row['PayeeName']

    ET.SubElement(payee, "AcctNumber").text = str(row['PayeeAccount'])

    ET.SubElement(payee, "RoutingNumber").text = str(row['PayeeRouting'])

   

    # Payer Information

    payer = ET.SubElement(rfp, "PayerInfo")

    ET.SubElement(payer, "Name").text = row['PayerName']

    ET.SubElement(payer, "AcctNumber").text = str(row['PayerAccount'])

    ET.SubElement(payer, "RoutingNumber").text = str(row['PayerRouting'])

   

    # Payment Information

    payment = ET.SubElement(rfp, "PaymentInfo")

    ET.SubElement(payment, "Amount").text = str(row['Amount'])

    ET.SubElement(payment, "Currency").text = row['Currency']

    ET.SubElement(payment, "DueDate").text = row['DueDate']

    ET.SubElement(payment, "InvoiceRef").text = row['InvoiceRef']

   

    return ET.ElementTree(root)

 

# Generate XML files for each invoice

for index, row in data.iterrows():

    rfp_tree = create_rfp_xml(row)

    rfp_tree.write(f'rfp_{row["InvoiceNumber"]}.xml')

b) Alternatively, Use CSV for Batch Upload:

If your bank accepts CSV format, you can directly use the exported CSV file without converting it to XML. Ensure that the bank supports CSV uploads for RfP processing.

3. Batch Import RfP Files into Your Bank’s Dashboard

Now that you’ve prepared the RfP files in either CSV or XML (ISO 20022) format, it’s time to import them into your bank’s dashboard for real-time payment processing.

a) Log in to Your Bank’s Dashboard:

  1. Log in to your bank’s online banking portal with your credentials.

b) Navigate to the Batch Upload Section:

  • Go to the section dedicated to Request for Payment (RfP), Payments, or FedNow/RTP services.
  • Look for an option like Batch File Upload or File Import.

c) Select the RfP File to Upload:

  • Click on the Browse or Choose File button.
  • Select the CSV or XML file that contains the batch of Request for Payment data from QuickBooks.

d) Review and Confirm the File:

  • The system may display a preview of the RfP file contents. Double-check the details to make sure everything is accurate, including payment amounts, account numbers, and routing numbers.
  • After reviewing, click Submit to initiate the file upload.

4. Bank's Validation Process

After uploading the file, your bank’s system will perform validations to ensure:

  • The format (CSV or XML) is correct.
  • The payment data (account numbers, routing numbers, etc.) is valid.
  • The payment amounts and due dates comply with system rules.

If the file passes validation, the real-time payment process will begin.

5. Monitor Payment Status

Once the file is successfully uploaded, the FedNow or RTP system will process the Request for Payments in real-time.

a) Check Payment Status:

  • In your bank’s dashboard, you can monitor the status of each payment request.
  • Possible statuses include:
    • Pending
    • Approved
    • Rejected (with reason for rejection, such as incorrect account information or insufficient funds)

b) Receive Confirmation:

  • Both the payer and payee will receive real-time notifications once the payment is processed and settled.

6. Reconcile Payments in QuickBooks

After the payment processing is complete:

  1. Log in to QuickBooks Online.
  2. Navigate to the Invoices or Payments Received section.
  3. Mark the corresponding invoices as Paid to reflect the successful receipt of payments.
  4. Use bank feeds to automatically reconcile payments and ensure your records are up to date.

7. Troubleshooting and Error Handling

If there are errors during the upload or payment process:

  • Review the error messages provided by the bank’s dashboard.
  • Typical errors include:
    • Incorrect account or routing numbers.
    • Missing mandatory fields.
    • Invalid file format (if the CSV or XML doesn’t adhere to standards).

Correct the errors in your CSV or XML file, then re-upload it to the bank’s system.

Example Workflow Recap:

  1. Export invoices from QuickBooks Online.
  2. Convert the file to the format required by the bank (CSV, XML, or ISO 20022).
  3. Upload the file to your bank’s dashboard for batch processing.
  4. Monitor payment status in real-time via the bank’s dashboard.
  5. Reconcile payments in QuickBooks once confirmed.

Automating the Process (Optional via API)

If your bank provides an API for batch RfP submission, you can automate the entire process:

Example Python script for API-based batch RfP submission:

python

import requests

 

# Bank's API URL for batch upload

url = "https://api.bank.com/fednow/rfp/batchupload"

headers = {

    "Authorization": "Bearer your_access_token",

    "Content-Type": "application/xml"

}

 

# Load and submit the XML file

with open('rfp_batch.xml', 'r') as xml_file:

    rfp_data = xml_file.read()

 

response = requests.post(url, headers=headers, data=rfp_data)

 

if response.status_code == 200:

    print("Batch uploaded successfully.")

else:

    print(f"Error: {response.status_code}, {response.text}")

This allows you to automate large-volume RfP file submissions, streamlining the payment process.

Key Considerations:

  • File Format: Ensure you use the correct format (CSV, XML, or ISO 20022) based on your bank’s requirements.
  • Data Validation: Double-check all details (e.g., account numbers, amounts, due dates) before uploading.
  • Compliance: Ensure all transactions meet KYC and AML requirements.

By following this process, you can efficiently manage and batch import Request for Payment (RfP) files from QuickBooks Online (QBO) into your bank’s dashboard for real-time payment processing through FedNow or Instant RTP.

Request for Payment

Call us, the .csv and or .xml Request for Payment (RfP) file you need while on your 1st phone call! We guarantee our reports work to your Bank and Credit Union. We were years ahead of competitors recognizing the benefits of RequestForPayment.com. We are not a Bank. Our function as a role as an "Accounting System" in Open Banking with Real-Time Payments to work with Billers to create the Request for Payment to upload the Biller's Bank online platform. U.S. Companies need help to learn the RfP message delivering their bank. Today Payments' ISO 20022 Payment Initiation (PAIN .013) show how to implement Create Real-Time Payments Request for Payment File up front delivering message from the Creditor (Payee) to it's bank. Most banks (FIs) will deliver the message Import and Batch files for their company depositors for both FedNow and Real-Time Payments (RtP). Once uploaded correctly, the Creditor's (Payee's) bank continuing through a "Payment Hub", will be the RtP Hub will be The Clearing House, with messaging to the Debtor's (Payer's) bank.

Our in-house QuickBooks payments experts are standing ready to help you make an informed decision to move your company's payment processing forward.

Pricing with our Request For Payment Professionals
hand shake

 1) Free ISO 20022 Request for Payment File Formats, for FedNow and Real-Time Payments (The Clearing House) .pdf for you manually create "Mandatory" (Mandatory data for completed file) fields, start at page 4, with "yellow" highlighting. $0.0 + No Support


2) We create .csv or .xml formatting using your Bank or Credit Union. Create Multiple Templates. Payer/Customer Routing Transit and Deposit Account Number may be required to import with your bank. You can upload or "key data" into our software for File Creation of "Mandatory" general file.

Fees = $57 monthly, including Support Fees and Batch Fee, Monthly Fee, User Fee, Additional Payment Method on "Hosted Payment Page" (Request for file with an HTML link per transaction to "Hosted Payment Page" with ancillary payment methods of FedNow, RTP, ACH, Cards and many more!) + $.03 per Transaction + 1% percentage on gross dollar file,


3) Payer Routing Transit and Deposit Account Number is NOT required to import with your bank. We add your URI for each separate Payer transaction.

Fees Above 2) plus $29 monthly additional QuickBooks Online "QBO" formatting, and "Hosted Payment Page" and WYSIWYG


4)
Above 3) plus Create "Total" (over 600 Mandatory, Conditional & Optional fields of all ISO 20022 Pain .013) Price on quote.

Start using our FedNow Real-Time Payments Bank Reconciliation:

FedNow Bank Reconciliation

 Dynamic integrated with FedNow & Real-Time Payments (RtP) Bank Reconciliation: Accrual / Cash / QBO - Undeposited Funds


Give Us A Call

(866) 927-7180


Apply NOW

Stop Going to Your Bank to Deposit Checks!

Our office

Today Payments Merchant Services
2305 Historic Decatur Road, Suite 100
San Diego, CA 92106
(866) 927-7180