[IMP] payments: clarify authorize.net statement import steps

task-2382237

closes odoo/documentation#5073

X-original-commit: cd2bc63b22
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
This commit is contained in:
Xavier (XPL) 2023-07-10 09:50:36 +00:00
parent b82d36c174
commit 22d45407c4

View File

@ -28,12 +28,11 @@ To retrieve them, log into your Authorize.Net account, go to :menuselection:`Acc
Key**. Key**.
.. important:: .. important::
If you are trying Authorize.Net as a test, with a *sandbox account*, change the :guilabel:`State` To test Authorize.Net with a *sandbox* account, change the :guilabel:`State` to :guilabel:`Test
to :guilabel:`Test Mode`. We recommend doing this on a test Odoo database, rather than on your Mode`. We recommend doing this on a test Odoo database, rather than on your main database.
main database.
If you set :guilabel:`Test Mode` on Odoo and use an authorize.net account instead of a If you use the :guilabel:`Test Mode` with a regular account, it results in the following error:
sandbox.authorize.net account, it results in the following error: *The merchant login ID or *The merchant login ID or password is invalid or the account is inactive*.
password is invalid or the account is inactive*.
Configuration tab Configuration tab
----------------- -----------------
@ -41,98 +40,109 @@ Configuration tab
Place a hold on a card Place a hold on a card
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
With Authorize.net, you can enable the :ref:`manual capture With Authorize.Net, you can enable the :ref:`manual capture
<payment_providers/features/manual_capture>`. If enabled, the funds are reserved for 30 days on the <payment_providers/features/manual_capture>`. If enabled, the funds are reserved for 30 days on the
customer's card, but not charged yet. customer's card, but not charged yet.
.. warning:: .. warning::
After **30 days**, the transaction is **voided automatically** by Authorize.net. After **30 days**, the transaction is **voided automatically** by Authorize.Net.
Authorize.Net statement export .. seealso::
============================== - :doc:`../payment_providers`
.. _excel-file-template: Import an Authorize.Net statement
=================================
Export from Authorize.Net
-------------------------
.. _authorize-import-template:
.. admonition:: Template .. admonition:: Template
You can find the Excel import template `here. <https://docs.google.com/spreadsheets/d/1CMVtBWLLVIrUpYA92paw-cL7-WdKLbaa/edit?usp=share_link&ouid=105295722917050444558&rtpof=true&sd=true>`_ `Download the Excel import template <https://docs.google.com/spreadsheets/d/1CMVtBWLLVIrUpYA92paw-cL7-WdKLbaa/edit?usp=share_link&ouid=105295722917050444558&rtpof=true&sd=true>`_
To import a statement, log into your Authorize.Net account, and go to :menuselection:`Account --> To export a statement:
Statements --> eCheck.Net Settlement Statement`. Then, define an export range using an **opening**
and **closing** batch settlement. All transactions within the two batch settlements will be exported - Log in to Authorize.Net.
to Odoo. Select all transactions within the desired range, and copy/paste them into the - Go to :menuselection:`Account --> Statements --> eCheck.Net Settlement Statement`.
:guilabel:`Report 1 Download` sheet of the :ref:`Excel sheet <excel-file-template>`. - Define an export range using an *opening* and *closing* batch settlement. All transactions within
the two batch settlements will be exported to Odoo.
- Select all transactions within the desired range, copy them, and paste them into the
:guilabel:`Report 1 Download` sheet of the :ref:`Excel import template
<authorize-import-template>`.
.. image:: authorize/authorize-report1.png .. image:: authorize/authorize-report1.png
:align: center :alt: Selecting Authorize.Net transactions to import
:alt: Select all transactions for the desired range on Authorize.net, and copy them into
'report1' of the Excel template.
.. example:: .. example::
.. image:: authorize/authorize-settlement-batch.png .. image:: authorize/authorize-settlement-batch.png
:align: center :align: center
:alt: Settlement batch of the an Authorize.Net statement :alt: Settlement batch of an Authorize.Net statement
In this case, the first batch (01/01/2021) of the year belongs to the settlement of 12/31/2020, In this case, the first batch (01/01/2021) of the year belongs to the settlement of 12/31/2020,
so the **opening** settlement is from 12/31/2020. so the **opening** settlement is from 12/31/2020.
Once you have pasted the data into the :guilabel:`Report 1 Download` sheet, go to Once the data is in the :guilabel:`Report 1 Download` sheet:
:menuselection:`Authorize.net --> Transaction Search --> Search for a Transaction`, enter the
previously used range of batch settlement dates, and click :guilabel:`Search`.
When the list has been generated, click :guilabel:`Download to File`. In the pop-up window, select - Go to the :guilabel:`Transaction Search` tab on Authorize.Net.
:guilabel:`Expanded Fields with CAVV Response/Comma Separated`, enable :guilabel:`Include Column - Under the :guilabel:`Settlement Date` section, select the previously used range of batch
Headings`, and click :guilabel:`Submit`. Open the text file, select :guilabel:`All`, copy the data settlement dates in the :guilabel:`From:` and :guilabel:`To:` fields and click :guilabel:`Search`.
and paste it into the :guilabel:`Report 2 Download` sheet of the Excel file. - When the list has been generated, click :guilabel:`Download to File`.
- In the pop-up window, select :guilabel:`Expanded Fields with CAVV Response/Comma Separated`,
Transit lines are automatically filled in and updated in the :guilabel:`transit for report 1` and enable :guilabel:`Include Column Headings`, and click :guilabel:`Submit`.
:guilabel:`transit for report 2` sheets of the Excel file. Make sure all entries are present, and if - Open the text file, select :guilabel:`All`, copy the data, and paste it into the :guilabel:`Report
not, copy the **formula** from previously filled-in lines of the :guilabel:`transit for report 1` or 2 Download` sheet of the :ref:`Excel import template <authorize-import-template>`.
:guilabel:`2` and paste it into the empty lines. - Transit lines are automatically filled in and updated in the :guilabel:`transit for report 1` and
:guilabel:`transit for report 2` sheets of the :ref:`Excel import template
<authorize-import-template>`. Make sure all entries are present, and **if not**, copy the formula
from previously filled-in lines of the :guilabel:`transit for report 1` or :guilabel:`2` sheets
and paste it into the empty lines.
.. important:: .. important::
To get the correct closing balance, do *not* remove any line from the Excel sheets. To get the correct closing balance, **do not remove** any line from the Excel sheets.
Import into Odoo Import into Odoo
---------------- ----------------
To import the data into Odoo, open the Excel file, copy the data from the :guilabel:`transit for To import the data into Odoo:
report 2` sheet and **paste special** only the **values** in the :guilabel:`Odoo Import to CSV`
sheet. Then, look for *blue* cells in the :guilabel:`Odoo Import to CSV` sheet. These are - Open the :ref:`Excel import template <authorize-import-template>`.
**chargeback** entries without any **reference** number. As they cannot be imported as such, go to - Copy the data from the :guilabel:`transit for report 2` sheet and use *paste special* to only
:menuselection:`Authorize.Net --> Account --> Statements --> eCheck.Net Settlement Statement`, look paste the values in the :guilabel:`Odoo Import to CSV` sheet.
for :guilabel:`Charge Transaction/Chargeback`, and click it. Copy the **invoice description**, paste - Look for *blue* cells in the :guilabel:`Odoo Import to CSV` sheet. These are chargeback entries
it into the :guilabel:`Label` cell of the :guilabel:`Odoo Import to CSV` sheet, and add without any reference number. As they cannot be imported as such, go to
"**Chargeback /**" before the description. If you have multiple invoices, add a line into the Excel :menuselection:`Authorize.Net --> Account --> Statements --> eCheck.Net Settlement Statement`.
sheet for each invoice and copy/paste the description into each respective :guilabel:`Label` line. - Look for :guilabel:`Charge Transaction/Chargeback`, and click it.
- Copy the invoice description, paste it into the :guilabel:`Label` cell of the :guilabel:`Odoo
Import to CSV` sheet, and add `Chargeback /` before the description.
- If there are multiple invoices, add a line into the :ref:`Excel import template
<authorize-import-template>` for each invoice and copy/paste the description into each respective
:guilabel:`Label` line.
.. note:: .. note::
For combined **chargeback/returns** in the payouts, you need to create a new line in the Excel For **combined chargeback/returns** in the payouts, create a new line in the :ref:`Excel import
file for each invoice. template <authorize-import-template>` for each invoice.
.. example:: .. example::
.. image:: authorize/authorize-chargeback-desc.png .. image:: authorize/authorize-chargeback-desc.png
:align: center
:alt: Chargeback description :alt: Chargeback description
Next, delete **zero transaction** and **void transaction** line items, and change the **format** of - Next, delete *zero transaction* and *void transaction* line items, and change the format
the :guilabel:`Amount` column in the :guilabel:`Odoo Import to CSV` sheet to **Number**. Go back to of the :guilabel:`Amount` column in the :guilabel:`Odoo Import to CSV` sheet to *Number*.
:menuselection:`eCheck.Net Settlement Statement --> Search for a Transaction` and search again for - Go back to :menuselection:`eCheck.Net Settlement Statement --> Search for a Transaction` and
the previously used batch settlements dates. Verify that the batch settlement dates on search again for the previously used batch settlements dates.
**eCheck.Net** match the related payments' dates found in the :guilabel:`Date` column of the - Verify that the batch settlement dates on eCheck.Net match the related payments' dates found in
:guilabel:`Odoo Import to CSV`. If it does not match, replace the date with the one from the :guilabel:`Date` column of the :guilabel:`Odoo Import to CSV`.
**eCheck.Net**. Sort the column by *date*, and make sure the format is `MM/DD/YYYY`. Finally, copy - If it does not match, replace the date with the one from eCheck.Net. Sort the column by *date*,
the data (column headings included) from the :guilabel:`Odoo Import to CSV` sheet, paste into a new and make sure the format is `MM/DD/YYYY`.
Excel file of your choice, and save it as .CSV format. - Copy the data - column headings included - from the :guilabel:`Odoo Import to CSV` sheet, paste
it into a new Excel file, and save it using the CSV format.
Open your Accounting app, go to :menuselection:`Configuration --> Journals`, tick the - Open the Accounting app, go to :menuselection:`Configuration --> Journals`, tick the
:guilabel:`Authorize.Net` box, and click :menuselection:`Favorites --> Import records --> Load :guilabel:`Authorize.Net` box, and click :menuselection:`Favorites --> Import records --> Load
file`. Select the file saved as .CSV, and upload it into Odoo. file`. Select the CSV file and upload it into Odoo.
.. tip:: .. tip::
List of eCheck.Net `return codes. <https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001293>`_ List of `eCheck.Net return codes <https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001293>`_
.. seealso::
- `Authorize.Net: Getting Started Guide
<https://support.authorize.net/s/article/Authorize-Net-Getting-Started-Guide>`_
- :doc:`../payment_providers`