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 integrate QuickBooks with FedNow or Real-Time Payments (RTP) for managing and importing Request for Payment (RfP) files, you’ll need a workflow that allows you to import RfP data from QuickBooks, prepare it for submission, and send it to the respective payment networks (FedNow or RTP). Below is a detailed step-by-step guide to achieve this:

Step 1: Export Data from QuickBooks for RfP Preparation

The first step is to extract the necessary payment details from QuickBooks to create a Request for Payment (RfP) file. This data typically includes:

  • Payee details (e.g., the vendor or supplier requesting payment)
  • Payer details (e.g., customer details)
  • Invoice information (invoice number, due date, amount, etc.)

How to Export Data from QuickBooks:

  1. Navigate to the Invoice or Bill Section:
    • In QuickBooks, go to the Invoices or Bills section to view the list of outstanding payables or receivables.
  2. Export Invoice/Payment Data:
    • Select the invoices or payments that need to be included in the RfP.
    • Export the data as CSV or Excel format.
      • QuickBooks allows exporting invoices via Export to Excel or Export to CSV options.
  3. Format the Exported Data:
    • Ensure that the exported data contains the following key elements:
      • Invoice Number
      • Due Date
      • Amount
      • Payer Details (e.g., payer name, account details)
      • Payee Details (e.g., payee name, account details)

Step 2: Convert Data into RfP Format

Once you have the relevant data from QuickBooks, the next step is to convert it into the appropriate ISO 20022 XML format used for RfP submissions in FedNow and RTP systems.

Structure of RfP File (ISO 20022 XML):

Here's a basic template for an RfP message in XML format:

xml

<Document>

  <ReqForPaymt>

    <PayeeInfo>

      <Name>[Payee Name]</Name>

      <AcctNumber>[Payee Account Number]</AcctNumber>

      <RoutingNumber>[Payee Routing Number]</RoutingNumber>

    </PayeeInfo>

    <PayerInfo>

      <Name>[Payer Name]</Name>

      <AcctNumber>[Payer Account Number]</AcctNumber>

      <RoutingNumber>[Payer Routing Number]</RoutingNumber>

    </PayerInfo>

    <PaymentInfo>

      <Amount>[Payment Amount]</Amount>

      <Currency>[Currency, e.g., USD]</Currency>

      <DueDate>[Due Date]</DueDate>

      <InvoiceRef>[Invoice Reference]</InvoiceRef>

    </PaymentInfo>

  </ReqForPaymt>

</Document>

Step 3: Automate Conversion of Data to XML Format

If you want to automate the process, you can use a script or tool that converts the CSV/Excel data exported from QuickBooks into the XML format required for FedNow or RTP.

Python Script to Convert CSV/Excel to XML (ISO 20022 format):

Here’s an example Python script to help automate the conversion of exported data into an RfP XML file:

python

import pandas as pd

import xml.etree.ElementTree as ET

 

# Load the exported data from QuickBooks

data = pd.read_csv('quickbooks_data.csv')  # Or use pd.read_excel for Excel files

 

# Function to create RfP XML

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['Payee Name']

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

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

    # Payer Information

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

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

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

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

# Payment Information

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

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

    ET.SubElement(payment, "Currency").text = "USD"

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

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

    return ET.ElementTree(root)

 

# Loop through each row in the data and generate XML files

for index, row in data.iterrows():

    rfp_tree = create_rfp_xml(row)

    rfp_tree.write(f'rfp_{index}.xml')

Step 4: Submit the RfP File to FedNow or RTP

Once you have generated the RfP file in the correct format, it needs to be uploaded to the FedNow or RTP system via their APIs.

FedNow API Submission Example (using Python requests):

python

import requests

 

# Endpoint for submitting RfP to FedNow

fednow_api_url = "https://api.fednow.bank/rfp/upload"

headers = {

    "Authorization": "Bearer your_access_token",

    "Content-Type": "application/xml"

}

 

# Read the RfP XML file

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

    rfp_data = xml_file.read()

 

# Submit the RfP file

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

 

if response.status_code == 200:

    print("RfP file uploaded successfully.")

else:

    print(f"Failed to upload RfP file. Status code: {response.status_code}")

RTP API Submission Example:

Similar to FedNow, RTP will have an API for RfP submission that can handle the XML file upload. You can adapt the script for RTP by using their API URL and credentials.

Step 5: Monitor Payment Status and Confirmation

After submitting the RfP file:

  • FedNow or RTP will send real-time confirmations and status updates on the request.
  • Once the payer approves the request, funds will be transferred in real-time from the payer’s account to the payee's account.
  • Both payee and payer banks will be notified of the transaction status.

Step 6: Reconcile Payments in QuickBooks

Once the payment is confirmed and the funds have been received:

  • Import the payment confirmation back into QuickBooks to reconcile the transaction against the original invoice.
  • Use QuickBooks' built-in features to mark invoices as Paid or to update payment statuses.

Summary of Workflow:

  1. Export Data from QuickBooks (Invoices/Payments) to CSV or Excel.
  2. Convert the data to an ISO 20022-compliant XML format for FedNow or RTP.
  3. Submit the RfP file using the respective API (FedNow or RTP).
  4. Receive real-time payment confirmation from the network.
  5. Reconcile the payments in QuickBooks.

This process can be further automated using middleware, custom integration tools, or third-party services if needed to minimize manual work.

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