Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/PAI/pages/10530423103/Int+gration+de+r+glements+V10.7+JSON) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 22) afficher la version suivante »

Intégration de règlements

L'action pour l'intégration externe de règlements : integration_reglement

Balise de paramètres (parameters)

Niveau

Contenu

Obligatoire

Remarques

dos

1

Dossier achat-vente

NON

Par défaut selon utilisateur

doscpt

1

Dossier comptable

NON

Par défaut selon utilisateur

etb

1

Etablissement

NON

Par défaut selon utilisateur

Balise du corps (data)

Niveau

Contenu

Obligatoire

Remarques

EnteteReglementtb

1

Tableau de règlements

OUI

Liste d’entêtes de règlements

EnteteReglement

2

Entête de règlement

OUI

“nomChamp1”:”valeur1”,

”nomChamp2”:valeur2”

3

Liste des champs d’un entête de règlement avec les valeurs

OUI

DetailReglementtb

3

Tableau de détails des règlements

OUI

Pour identifier la facture et le montant du règlement

DetailReglement

4

Détail de règlement

OUI

Permet de préciser les différences de règlements éventuellement associées par échéance et de préciser les éventuels acomptes

“nomChamp1”:”valeur1”,

”nomChamp2”:valeur2”

5

Liste des champs d’un détail de règlement avec les valeurs

OUI

Retrouvez également des informations dans la page du traitement d’intégration des règlements : Espace produit (par exemple Divalto infinity 10.7 -> Gérer ses règlements > Utilitaires et traitements du module règlement

Un mapping existe entre les noms de champs du dictionnaire et les noms de balise à utiliser

Table RGLTJNLENT (EnteteReglement)

Nom de balise

Nom de champ

Remarque

PAYMENTTYPE

reglttyp

ENCASHMENT=1, DISBURSEMENT=2

THIRDPARTY

tiers

AMOUNT

MtDev

Montant en devise

LABEL

LibEcr

Libellé de l'écriture associée à la transaction crée

DATE

transacDt

Date de la transaction. Si absente date de traitement du fichier

CURRENCY

Dev

FINALSTATEMENT

EtatFin

Etat final

CHECK=C30, CHECKINBANK=C50, TRANSFERT=V30, TRANSFERTINBANK=V50, SEPATRANSFERT=S30, SEPATRANSFERTINBANK=S50, INTERNATIONALVIREMENT=I30, INTERNATIONALVIREMENTINBANK=I50, DIRECTDEBIT=D30, DIRECTDEBITINBANK=D50

CHGETAT

CHGETAT

Code du changement d'état à utiliser

Table RGLTJNLDET (DetailReglement)

Nom de balise

Nom de champ

Remarque

THIRDPARTY

tiers

AMOUNT

MTDEVFIN

OPERATION

NatureOperation

PAYMENT=(blank), RegltDiff=WDR, ChangeDiff=WDC, Escompte=WE, Acompte=WAR, PARTIALPAYMENT=WPA

PREFIX

PrefPiece

PIECE

Piece

DUEDATE

EchOriDt

Exemple de corps
{
        'action': {
			'swinfinity': 'integration_reglement',
			'parameters': 
              {
				'doscpt': '998',
				'dos': '998',
			  'etb': '1'}
			  }
,
'data':{
	'EnteteReglementtb': 
	[
		{
		'EnteteReglement': 
			{
			'ETB'			: '',
			'TRANSACDT'	: '20210320',
			'DEV'			: 'EUR',
			'TIERS'		: 'C0000007',
			'MTDEV'			: '5995',
			'LIB'			: 'Règlement',	
			'RegltTyp'	: '1',		
			'ChgEtat'	: 'PORCHQ',
			'EtatFin'	: 'C30',
			'DetailReglementtb': 
				[
					{
					'DetailReglement': 
						{
						'MTDEVFIN'			: '3595',
						'PREFPIECE'			: ' ',
						'PIECE'				: '87',	
						'TIERS'				: 'C0000007',
						'NatureOperation'	: ' '
						}
					},
					{
					'DetailReglement': 
						{
						'MTDEVFIN'			: '2400',
						'PREFPIECE'			: ' ',
						'PIECE'				: '86',	
						'TIERS'				: 'C0000007',
						'NatureOperation'	: ' '
						}
					},
					{
					'DetailReglement': 
						{
						'MTDEVFIN'			: '5',
						'PREFPIECE'			: ' ',
						'PIECE'				: '87',	
						'TIERS'				: 'C0000007',
						'NatureOperation'	: 'WDR'
						}
					}
				]
					
			}
		},
		{
		'EnteteReglement': 
			{
			'ETB'			: '',
			'TRANSACDT'	: '20210320',
			'DEV'			: 'EUR',
			'TIERS'		: 'C0000003',
			'MTDEV'			: '5000',
			'LIB'			: 'Règlement',	
			'RegltTyp'	: '1',		
			'ChgEtat'	: 'PORCHQ',
			'EtatFin'	: 'C30',
			'DetailReglementtb': 
				[
					{
					'DetailReglement': 
						{
						'MTDEVFIN'			: '5000',
						'PREFPIECE'			: ' ',
						'PIECE'				: '',	
						'TIERS'				: 'C0000003',
						'NatureOperation'	: 'WAR'
						}
					}
				]				
			}
		}
	]
 }
}


Exemple complet flux JSON
{ 
    "action":"WEB_SERVICE_INFINITY",
    "access_token":"{{TOKEN}}",
    "param":"
        {
        'action': {
			'swinfinity': 'integration_reglement',
			'parameters': 
              {
				'doscpt': '998',
				'dos': '998',
			  'etb': '1'}
			  }
  ,
  'data':{
		'EnteteReglementtb': 
		[
			{
			'EnteteReglement': 
				{
				'ETB'			: '',
				'TRANSACDT'	: '20210320',
				'DEV'			: 'EUR',
				'TIERS'		: 'C0000007',
				'MTDEV'			: '5995',
				'LIB'			: 'Règlement',	
				'RegltTyp'	: '1',		
				'ChgEtat'	: 'PORCHQ',
				'EtatFin'	: 'C30',
				'DetailReglementtb': 
					[
						{
						'DetailReglement': 
							{
							'MTDEVFIN'			: '3595',
							'PREFPIECE'			: ' ',
							'PIECE'				: '87',	
							'TIERS'				: 'C0000007',
							'NatureOperation'	: ' '
							}
						},
						{
						'DetailReglement': 
							{
							'MTDEVFIN'			: '2400',
							'PREFPIECE'			: ' ',
							'PIECE'				: '86',	
							'TIERS'				: 'C0000007',
							'NatureOperation'	: ' '
							}
						},
						{
						'DetailReglement': 
							{
							'MTDEVFIN'			: '5',
							'PREFPIECE'			: ' ',
							'PIECE'				: '87',	
							'TIERS'				: 'C0000007',
							'NatureOperation'	: 'WDR'
							}
						}
					]
						
				}
			},
			{
			'EnteteReglement': 
				{
				'ETB'			: '',
				'TRANSACDT'	: '20210320',
				'DEV'			: 'EUR',
				'TIERS'		: 'C0000003',
				'MTDEV'			: '5000',
				'LIB'			: 'Règlement',	
				'RegltTyp'	: '1',		
				'ChgEtat'	: 'PORCHQ',
				'EtatFin'	: 'C30',
				'DetailReglementtb': 
					[
						{
						'DetailReglement': 
							{
							'MTDEVFIN'			: '5000',
							'PREFPIECE'			: ' ',
							'PIECE'				: '',	
							'TIERS'				: 'C0000003',
							'NatureOperation'	: 'WAR'
							}
						}
					]				
				}
			}
		]
      }
  }"
}


Format de la réponse :

Balise

Contenu

error

Anomalie technique de l’appel du service web

0 = pas n’anomalie, autre valeur = anomalie

Dans ce cas la balise txterr indique le message d’erreur

result

Détail du résultat fonctionnel de l’appel du service web

resultcode= 0 => pas d’anomalie fonctionnelle la demande est bien traitée

resultcode<>0 => anomalie fonctionnelle/métier dont la raison est indiquée dans errormessage

La response contient notamment la réponse avec les éventuelles erreurs errormessage et la transaction générée dans transactionId


Exemple de réponse

{
    "error": 0,
    "result": "{\"label\": \"infinity\",\"codeScript\": \"integration_reglement\",\"result\":{\"common\":{\"resultcode\": \"0\",\"errormessage\": \"Intégration règlements des échéances terminée |Consultez le livre de bord"},\"response\":\"transactionId\": \"1354\"}}",
    "txterr": "",
    "infos": ""
}

Intégration de remise en banque

Intégration par fichier JSON de transaction de type remise en banque est disponible. Exemple opération de type C30 → C50 (remise en banque de chèques en portefeuille)

  • à partir de la version X.7 service pack 217e

  • à partir de la version X.9 service pack 219c

  • à partir de la version X.10 service pack 220b

  • à partir de la version X.11 service pack 221a

Si l'état final de type n’est pas un virement et est associé à un bordereau, il faudra passer par l'étape de confection du bordereau pour générer l'écriture associée à la transaction créée.
Si l'état final de type remise est un virement ou n'est pas associé à un bordereau, l'écriture associée à la transaction créée est générée lors du traitement du fichier JSON .

Donnée à mettre dans le fichier JSON

Dans RGLTJNLENT (EnteteReglement) on doit définir

  • La devise et le montant total de la transaction à effectuer (Facultatif ). Si présent le total des transactions (DetailReglement) sera comparé à ce montant.

  • Le type de règlement (PAYMENTTYPE) 1 Encaissement, 2 décaissement. (Obligatoire)

  • le code du changement d'état à utilisé (Obligatoire)

  • la banque de destination (Obligatoire)

Dans RGLTJNLDET (DetailReglement)

Il faut renseigner

  • soit un n° de transaction correspondant à le remise en portefeuille

    • TRANSAC : le n° de la transaction qui à permis la passage de la position 1 à la position 2 (Ex : transaction de remise en portefeuille de chèque)

    • NOORDRE : le n° d’ordre n’est pas obligatoire (N° 1 pris par défaut)

  • soit des informations permettant de retrouver la transaction. SI plusieurs transactions correspondent aux critères fournis on prend celle avec le N° le plus petit

    • TIERS (THIRDPARTY) : Code tiers

    • ETATORI : Etat des règlements à traiter. Doit correspondre à un des état d’entrées possible pour le changement d'état précisé dans l’entête

    • MTORI : Montant de la transaction en devise du dossier

    • ou MTDEVORI (AMOUNT) montant en devise et DEV (CURRENCY) : devise

Exemple de fichier

Avec N° de transaction

Sans n° de transaction


  • Aucune étiquette