1. Payroll

URI

POST: /API/v1/ISO20022/Payroll

XML scheme

pain.008.001.05

Scheme description

R/O Description Link Comment/Example

Absolute path Document.CstmrDrctDbtInitn.GrpHdr

1

R

Unique message ID

MsgId

-

2

R

Date and time the message was created

CreDtTm

Date format
YYYY-MM-DDTHH:MM:SS

3

R

Number of individual transactions contained in the payroll

NbOfTxs

-

4

R

Total of all individual amounts included in the payroll

CtrlSum

-

5

R

Name of the company

InitgPty.Nm

-

6

R

TIN of the company

InitgPty.Id.OrgId.Othr[1].Id

-

7

R

ISO data type code for TIN

InitgPty.Id.OrgId.Othr[1].SchmeNm.Cd

Constant 'TXID'

8

R

Account number

InitgPty.Id.OrgId.Othr[2].Id

-

9

R

ISO code

InitgPty.Id.OrgId.Othr[2].SchmeNm.Cd

Constant 'ACC'

Absolute path Document.CstmrDrctDbtInitn.PmtInf

10

R

Unique payroll ID

PmtInfId

-

11

R

PaymentMethod

PmtMtd

Constant 'DD'

12

R

Registry number

NbOfTxs

max. length 11

13

R

Date of formation

ReqdColltnDt

-

14

R

Number of the payroll project contract

Cdtr.Nm

-

15

R

Type of enrollment

CdtrAcct.Id.Othr.Id

-

16

R

BIK of the bank indicated in the payroll project

CdtrAgt.FinInstnId.Nm

-

17

R

Line number in the payroll

DrctDbtTxInf.PmtId.InstrId

max. length 7

18

R

ID line in payroll

DrctDbtTxInf.PmtId.EndToEndId

19

R

Amount payable to employee

DrctDbtTxInf.InstdAmt

-

20

R

Numeric currency code

DrctDbtTxInf.InstdAmt@Ccy

At the moment, payroll are formed only in rubles (code - 643)

21

R

Payroll bank branch

DrctDbtTxInf.DbtrAgt.FinInstnId.Nm

It is possible to specify a constant '0000'.
A list of branch codes can be found on the page https://alfabank.ru/sme/salaryproject/
Section "Полезно знать", tab "Управление зарплатным проектом", subsection "Открытие счетов и выпуск зарплатных карт для сотрудников резидентов РФ", point 5 "Справочник отделений"
Download the XLS file, it contains a table "Отделение доставки карты", column - "Цифровой код"
XLS file is periodically updated, it is recommended to check for updates every six months
max. length 4

22

R

Branch of the bank salary project

DrctDbtTxInf.DbtrAgt.FinInstnId.Othr.Id

Constant '0000'. max. length 4

23

O

BIK of the bank where the account is opened, in case it differs from the bank of the salary project

DrctDbtTxInf.DbtrAgt.BrnchId.Id

-

24

R

Employee’s last name

DrctDbtTxInf.Dbtr.PstlAdr.Dept

max. length 30

25

R

Employee’s name

DrctDbtTxInf.Dbtr.PstlAdr.SubDept

max. length 30

26

O

Employee’s middle name

DrctDbtTxInf.Dbtr.PstlAdr.StrtNm

max. length 30

27

R

Employee account number

DrctDbtTxInf.DbtrAcct.Id.Othr.Id

-

28

0

Retention amount

DrctDbtTxInf.Tax.TtlTaxAmt@Ccy

-

Signature Document.CstmrDrctDbtInitn

29

R

Signature

SplmtryData.Envlp.SgntrSt[1..n]

-

Answer

The response is an XML document corresponding to the scheme pain. 002.001.06.

Response code table:

HTTP code Type Body Comment

200

OK

-

Request was accepted without errors.

400

Err

XML does not match schema

-

401

Err

Wrong username or password

-

401

Err

User was not found

-

401

Err

Could not find signer by certificate

-

403

Err

User is disabled

-

403

Err

Internal error while verifying permissions

-

403

Err

Signer is not allowed to sign this operation type

-

403

Err

User does not have permission

-

403

Err

Certificate is not valid

-

403

Err

Signer’s warrant is expired

-

403

Err

Signer’s warrant is disabled

-

403

Err

Number of signatures is not enough for this operation type

-

403

Err

Certificate is disabled

-

406

Err

The signer certificate is not valid (revoked or not active)

-

406

Err

Signature is missing

-

406

Err

Signature value is not valid

-

406

Err

Internal sign check state error

-

409

Err

MsgId is not unique

-

500

Err

Internal Error

-

500

Err

Warrant service error

-

502

Err

Bad Gateway

-

503

Err

Service Unavailable

-

504

Err

Gateway Timeout

-

Example payroll
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <CstmrDrctDbtInitn>
    <GrpHdr>
      <MsgId>7421w6f13a01983593e8dffb71fa6d15</MsgId> <!-- Unique message ID -->
      <CreDtTm>2022-03-30T12:00:00+03:00</CreDtTm> <!-- Date and time the message was created -->
      <NbOfTxs>2</NbOfTxs> <!--Number of individual transactions contained in the payroll-->
      <CtrlSum>200.00</CtrlSum> <!--Total of all individual amounts included in the payroll-->
      <InitgPty>
        <Nm>Общество с ограниченной ответственностью "Тест Альфа-Линк ЗУП"</Nm> <!-- Name of the company -->
        <Id>
          <OrgId>
            <Othr>
              <Id>0664010623</Id> <!-- TIN of the company -->
              <SchmeNm>
                <Cd>TXID</Cd>
              </SchmeNm>
            </Othr>
            <Othr>
              <Id>40702810400000002221</Id> <!-- Account number -->
              <SchmeNm>
                <Cd>ACC</Cd>
              </SchmeNm>
            </Othr>
          </OrgId>
        </Id>
      </InitgPty>
    </GrpHdr>
    <PmtInf>
      <PmtInfId>7421w6f13a01983593e8dffb71fa6d15</PmtInfId> <!-- Unique payroll ID -->
      <PmtMtd>DD</PmtMtd> <!-- Constant -->
      <NbOfTxs>1</NbOfTxs> <!-- Registry number -->
      <ReqdColltnDt>2022-03-30</ReqdColltnDt> <!-- Date of formation -->
      <Cdtr>
        <Nm>00753Z</Nm> <!-- Number of the payroll project contract -->
      </Cdtr>
      <CdtrAcct>
        <Id>
          <Othr>
            <Id>01</Id> <!-- Type of enrollment -->
          </Othr>
        </Id>
      </CdtrAcct>
      <CdtrAgt>
        <FinInstnId>
          <Nm>044525593</Nm> <!-- BIK of the bank indicated in the payroll project -->
        </FinInstnId>
      </CdtrAgt>
      <DrctDbtTxInf>
        <PmtId>
          <InstrId>1</InstrId>  <!-- Line number in the payroll -->
          <EndToEndId>7421w6f13a01983593e8dffb71fa6d15</EndToEndId> <!-- ID line in payroll -->
        </PmtId>
        <InstdAmt Ccy="RUB">100.00</InstdAmt> <!-- Amount payable to employee + Numeric currency code -->
        <DbtrAgt>
          <FinInstnId>
            <Nm>0000</Nm> <!-- Payroll bank branch -->
            <Othr>
              <Id>0000</Id> <!-- Branch of the bank salary project -->
            </Othr>
          </FinInstnId>
        </DbtrAgt>
        <Dbtr>
          <PstlAdr>
            <!-- Employee's last name -->
            <Dept>Матросова</Dept>
            <!-- Employee's first name -->
            <SubDept>Алина</SubDept>
            <!-- Employee's middle name -->
            <StrtNm>Николаевна</StrtNm>
          </PstlAdr>
        </Dbtr>
        <DbtrAcct>
          <Id>
            <Othr>
              <Id>40817810904980000006</Id> <!-- Employee account number -->
            </Othr>
          </Id>
        </DbtrAcct>
      </DrctDbtTxInf>
      <DrctDbtTxInf>
        <PmtId>
          <InstrId>2</InstrId>  <!-- Line number in the payroll -->
          <EndToEndId>7421w6f13a01983593e8dffb71fa6d16</EndToEndId> <!-- ID line in payroll -->
        </PmtId>
        <InstdAmt Ccy="RUB">100.00</InstdAmt> <!-- Amount payable to employee + Numeric currency code -->
        <DbtrAgt>
          <FinInstnId>
            <Nm>0000</Nm> <!-- Payroll bank branch -->
            <Othr>
              <Id>0000</Id> <!-- Branch of the bank salary project -->
            </Othr>
          </FinInstnId>
        </DbtrAgt>
        <Dbtr>
           <PstlAdr>
            <!-- Employee's last name -->
            <Dept>Печкин</Dept>
            <!-- Employee's first name -->
            <SubDept>Евгений</SubDept>
            <!-- Employee's middle name -->
            <StrtNm>Алексеевич</StrtNm>
          </PstlAdr>
        </Dbtr>
        <DbtrAcct>
          <Id>
            <Othr>
              <Id>40817810504980000011</Id> <!-- Employee account number -->
            </Othr>
          </Id>
        </DbtrAcct>
        <Tax>
          <TtlTaxAmt Ccy="RUB">23.00</TtlTaxAmt> <!-- Retention amount -->
        </Tax>
      </DrctDbtTxInf>
    </PmtInf>
    <SplmtryData>
      <Envlp>
        <SgntrSt>
        </SgntrSt>
      </Envlp>
    </SplmtryData>
  </CstmrDrctDbtInitn>
</Document>