Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

CITI

Práce s platbami v payment journal

Při ručním založení řádku platby v deníku, případně při vytvoření řádků pomocí suggest payments se přiřadí řádku Payment Type dle specifikace v tabuce Citi Payment types.

Payment type rozlišuje jednotlivé typy plateb dle specifikace formátu v rámci Citi API.

U jednotlivých druhůl plateb je možné nastavit, zda bude Bc komunikovat přímo s API CitiBank nebo exportovat platební soubor, který bude třeba ručně naimportovat do bankovnictví.

image-20250106-084249.pngImage Removed

V deníku plateb jsou přidána nová pole:

·       Citi Payment type – předdefinovaný typ platby, vytvořením řádku je navržen nejpravděpodobnější typ platbym, pokud je pro daný řádek více možností, je možné jej změnit, pokud přepneme na typ platby, která je s parametry řádku nekompatibilní, přepne se zpět na adekvátní platnou volbu

·       EndToEndId – jedinečný identifikátor platby v Citi bance

·       Exported to Payment Status – stav platby, pokud je BC napojen na API Citi banky, ověřuje se po odeslání status daného řádku na pozadí, případně je možné jej ověřit ručně volbou v deníku plateb

·       Exported to Payment Batch No. – pokud jsou platby odeslání pomocí API, banka vyžaduje odesílání jednotlivých plateb samostatně, pak nemá význam plnit toto pole. Pokud je však prováděn export plateb do souboru pro ruční import, obsahují odeslané řádky stejné číslo Batch No. Je to z důvodu, pokud by banka kvůli chybě nepřijala dávku v rámci internetového bankovnictví, je možné dávku exportovat znovu. Postup je uveden níže.

Odeslání platby pomocí API probíhá pomocí volby Payment Request, resp. Export to Payment File.

Příslušná volba pracuje pouze s řádky jemu náležejícími (v rámcí Citi Payment Type tabulky je definováno, které typy plateb je možné exportovat a které odeslat pomocí API).

Schalování řádků plateb:

Extension Citi spolupracuje se std. schvalování řádků deníku plateb. Pokud je v nastavení Citi integrace nastaveno schvalování, není možné poslat platby bez toho, aniž by byl řádek deníku schválen (ApprovalEntry.Status::Approved). Pro schvalování je třeba nastavit Workflow pro std. schvalování.

             

       Změny odeslaných plateb:

              Pokud má řádek status Sent Request nebo Processed není možné jej změnit.

             

     

       Nastavení Citi Integrace

·       Citi Settings

Nastavení url na API, schvalování

·       Company information

nastavení platneho Citi Settings

·       Citi Payment Type pro danou zemi, včetně Citi Payment Type definition – import předpisu pomocí konf. Balíčků

·       Data Exch. Definition – import předpisu pro načtení bankovních výpisů

·       Bank Export Import Setup – specifikace codeunit a Data Exch Def pro export a import plateb

·       Nastavení Bankovních účtů – Payment Export Format, Bank Stat. Imp. Formát, zaškrtnout bool Citi Bank Account, Bank Branch No, Bank Account No, idealne Last Statement Date, Bank Statement Nos, Citi Payment Nos, Idealne base Calendar – pro nestahovaní výpisů o víkendech a svátcích

·       Pokud je schvalování řádků plateb, v Citi Settings zaškrtnout Payment Approval Required

·       User Setup – nastavení přístupu k platbám, PIN (Check Send Bank Payments, Send Bank Payments PIN)

image-20250106-084332.pngImage Removed

Export plateb do souboru:

·       Připravíme řádky plateb v deníku plateb, Posting Date nesmí být v minulosti

·       Pokud je třeba odfiltrujeme řádky, které mají být odeslány (ideálně pomocí Document No.), filtr může zahrnovat už odeslané nebo zpracované platby, systém je přeskočí (Zpracovává pouze Exported to Payment Status = ‘’ nebo ‚Error’).

·       Je třeba zkontrolovat, že všechny řádky mají vyplněn typ platby (Citi Payment Type), jinak systém nahlásí chybu a bude třeba export opakovat.

·       Existují dva způsoby odeslání – Export do souboru a odeslání pomocí API, obě platby probíhají stejně, včetně kontrol na vyplnění základních polí (dodatečné kontroly má pak ještě Citi bank)

·       Export do souboru probíhá pomocí volby Bank/Export Payments File, kde je vyžadován PIN uživatele a potvrzení o exportu. Následně se stáhne do prohlížeče soubor s platbami a do řádků je doplněn jedinečný identifikátor platby endtoendid a status odeslání (Exported nebo Processed dle nastavení)

·       Odeslání pomocí API probíhá pomocí volby Payment Request, kde je také vyžadován PIN a potvrzení. Status platby je po odeslání přepnut na Sent Request. Tento status znamená, že banka přijala platbu, ale probíhají na ní ověření.

·       Platby zaslané pomocí API systém ověřuje na pozadí, snaží se stáhnout status platby. Pokud je třeba stažení ověření provést ručně, je možné to udělat volbou Related,Payments,CitiBank, Check Payment Status na vybraných řádcích

·       Pokud je platba akceptována bankou, status se automaticky změní na Processed

·       Pokud kdykoli při odeslání, případně pokud banka vrátí chybu, řádek zčervená a je chybu k příslušnému řádku je možné najít v pravém panelu

image-20250106-084348.pngImage Removed

image-20250106-084355.pngImage Removed

 

·       Pokud je soubor plateb exportován, probíhá kontrola na straně Citi banky při importu platebního souboru do bankovnictví. Může se stát, že systém banky najde nějakou chybu ve vyplenění některého pole příkazu (není možné kontrolovat na úrovni banky všechny souvstažnosti, Citi banka je ani všechny nepublikuje), proto může vyvstat potřeba úpravy a opakovaného exportu platebního souboru z BC. V takovém případě tak může být provedeno pouze po změně statusu všech řádků plateb. Tuto změnu může provádět pouze oprávněný uživatel (má v user setupu zaškrtnuto Allow Change Payment Status). K takovým účelům je v řádcích pole Exported to Payment BatchNo. Každý export má jedinečné číslo, aby se odlišily jednotlivé dávky exportních souborů.

Bankovní výpisy:

Pokud není k dispozici API, je možné importovat soubor pomocí std. volby do general journal (dle lokalizace BC). K tomuto kroku je třeba nastavit Data Exch. Def. pro zpracování Citi Bankovního výpisu.

...

Table of Contents
stylenone

Work with payments in the Payment Journals

When you manually create a payment line in the journal, or when you create lines using the Suggest Payments action, a Payment Type is assigned to the line according to the specification in the Citibank Payment Types table.

The payment type distinguishes between different payment types according to the format specification within the Citibank API.

Info

For each payment type, you can set whether Business Central will communicate directly with Citibank's API or will export a payment file that will need to be manually imported into your online banking.

...

New fields the Citibank API Integration adds to the Payment Journals

  • Citi Payment Type: predefined payment type, by creating a line the most probable payment type is automatically suggested. If there are more options for the line, it can be changed. If you switch to a payment type that is incompatible with the parameters of the line, it switches back to the appropriate valid option.

  • Payment EndToEndId: unique identifier of the payment in Citibank.

  • Exported to Payment Status: this column corresponds to the payment status. If Business Central is connected to Citibank's API, the status of this line is verified in the background after the payment is sent. Alternatively it can be verified manually by clicking on the Check Payment Status action found in the Related menu, Payments tab and CitiBank sub-tab of the Payment Journal page.

...

  • Exported to Payment Batch No.: if the payments are sent via the API, the bank requires that each payment be sent separately, in which case there is no need to fill in this field. However, if the payments are exported to a manual import file, all the lines sent will contain the same batch number. This way, the batch can be re-exported if the bank does not accept the batch in the online banking due to an error. The detailed procedure is described below.

How to send a payment?

Sending a payment using the API is done with the option Payment Request or Export to Payment File.

Info

The corresponding option works only with the corresponding lines (the Citi Payment Types table frame defines which payment types can be exported and which can be sent using the API).

Payment lines approval

Citibank API Integration integrates with the standard line approval in the Payment Journals. If a payment approval is set in the integration settings, it is not possible to send payments without the journal line being approved (ApprovalEntry.Status::Approved). To enable approvals, you need to set up a standard approval workflow.             

Changes in sent payments

If a line has a status of Sent Request or Processed it cannot be changed.

Citibank API Integration Settings

  • Citi Settings:

In this table, you need to create a Citi Integration Settings Mode No. and set the URLs for API calls. Here you can also enable/disable the approval workflow.

...

  • Company Information:

In this table, you need to select a valid Citi Integration Settings Mode No.

...

  • Citibank Payment Types for a given country, including Citi Payment Type Definition:

Here you import the prescribed parameters through configuration packages.

...

  • Data Exchange Definitions:

Here you import the prescribed parameters for loading bank statements.

...

  • Bank Export/Import Setup:

Here you specify the codeunites and data exchange definitions for exporting and importing payments.

...

  • Bank Account Settings, on each corresponding bank account card, you need to set the following fields:

    • Payment Export Format

    • Bank Statement Import Format

    • Citi Bank Account toggle button needs to be turned on

    • Bank Branch No.

    • Bank Account No.

    • Last Statement Date

    • Bank Statement Nos.

    • Citi Payment Nos., ideally based on Calendar - to avoid downloading statements on weekends and holidays

  • If approval of payment lines is required:

Check the Payment Approval Required checkbox in Citi Settings.

  • User Setup:

This is where you set up payment access for individual users using a PIN. Check the Check Send Bank Payments checkbox and define the Send Bank Payments PIN.

By checking the Allow Change Payment Status, you allow the user to change the status of payment lines in the payment journal, which is necessary if you need to re-export a payment order.

...

Export payments

  • Prepare your payment lines in the Payment Journal. Posting Date must not be in the past.

  • If necessary filter out the lines to be sent, ideally using the Document No. The filter can include payments already sent or processed, the system will skip them (it only processes Exported to Payment Status = '' or 'Error').

  • You must check that all lines have Citi Payment Type filled in, otherwise the system will report an error and the export will have to be re-run.

There are two methods of sending payments:

  1. Export to a file

Export to file is done using the Bank/Export Payments File option, which requires a user PIN and export confirmation. The payment file is then downloaded to the browser and the unique payment identifier endtoendid and the status of the payment ( Exported or Processed depending on the settings) are added to the lines.

  1. Sending through API

Sending through the API is done using the Payment Request action, which also requires a PIN and confirmation. After sending, the status of the payment is changed to Sent Request. This status indicates that the bank has accepted the payment, but validations are ongoing.

Info

Both payment methods are the same, including the checks of what should be filled in the basic fields. There are additional checks performed by Citibank.

Payment Status:

  • Payments sent through the API are verified by the system in the background, attempting to download the payment status.

  • If you need to request the status download manually, you can do so by selecting the appropriate action called Check Payment Status from the Related drop-down menu, Payments and CitiBank.

Tip

If the payment is accepted by the bank, the status will automatically change to Processed.

Warning

If there is an error at any time during the submission or if the bank returns an error, the line will turn red and the error message for that line will be displayed in the right pane.

...

How to re-export payment file in case of error

When the payment file is exported, a check is performed on the Citibank side when the payment file is imported into the bank.

It may happen that the bank's system finds an error in some of the fields of the order. It is not possible to check all the consistencies at the bank level, Citibank does not even publish them all. Therefore, you may need to edit and re-export the payment file from Business Central.

Info

In this case, this can only be done after changing the status of all payment lines. This change can only be made by an authorized user who has the Allow Change Payment Status checkbox checked in the User Setup.

For this purpose, there is the Exported to Payment Batch No. field in the journal lines. Each export has a unique number to distinguish the different batches of export files.

Import bank statements

There are two methods of importing bank statements:

  1. Import of a file

If the API is not available, you can import the file using the standard General Journal option (depending on the Business Central localization). For this step, you need to set up a Data Exchange Definition for Citibank bank statement processing.

  1. Importing through API

If an API connection is available, the download will be done automatically each day via the appropriate Job Queue Entry. If statements need to be downloaded manually, this can be done on the Bank Account Card.