Skip to content

Bank link details (680)

Browse code 680 (BrowseCode::BankLinkDetails, “Bankkoppeling details”): the bank books of the company with their IBAN, general ledger account and the status of the bank link. 680_2 has more details.

Twinfield documentation: Browse data.

  • fin.bnk.transactiontype is the bank book (day book) and the only criterion.
  • fin.bnk.banklinkstatus: none, pending or active.
  • A bank book without IBAN has - in fin.bnk.iban.
  • The rows are not transactions: $row->transactionLine is null.

Criteria: bank book. See browse-definitions/680.xml and the browse data guide.

All fields of the browse definition (browse-definitions/680.xml), with the label for a Dutch user, the data type and the values of a field with a fixed list (browsefields.xml). A field that is not visible is meant as criterion: asking for it as column can give a server error. Twinfield does not apply the proposed values: send every criterion you need.

Field Label Type Visible Criterion
fin.bnk.iban IBAN string yes
fin.trs.head.office Administratie string yes
fin.trs.head.officename Adm.naam string yes
fin.bnk.transactiontype Dagboek string yes between
fin.bnk.banklinkstatus Bankkoppelingstatus special: none, pending, active yes
fin.bnk.dim1 Grootboekrek. string yes
fin.bnk.dim1name Grootboekrek.naam string yes
$twinfield = Example::twinfield();
$query = $twinfield->browse(BrowseCode::BankLinkDetails)
->columns(
'fin.bnk.transactiontype',
'fin.bnk.iban',
'fin.bnk.dim1',
'fin.bnk.dim1name',
'fin.bnk.banklinkstatus',
);
$result = $query->get();
echo count($result), ' bank book(s)', PHP_EOL;
foreach ($result as $index => $row) {
$account = $row->nullableString('fin.bnk.dim1');
echo sprintf(
'[%d/%d] %s IBAN %s, account %s: bank link %s',
$index + 1,
count($result),
$row->string('fin.bnk.transactiontype'),
$row->string('fin.bnk.iban'),
$account === null ? '-' : $account . ' ' . ($row->nullableString('fin.bnk.dim1name') ?? ''),
$row->string('fin.bnk.banklinkstatus'),
), PHP_EOL;
}
Terminal window
php examples/browse-data/680-bank-link-details/example.php # all bank books

Add TWINFIELD_DEBUG=1 to see the SOAP requests and responses.

2 bank book(s)
[1/2] BNK IBAN NL91ABNA0417164300, account 1100 Bank: bank link active
[2/2] BNK2 IBAN -, account 1110 Spaarrekening: bank link none

What the SDK sends to Twinfield and what Twinfield sends back, for a call like the one in this example. The responses come from the tests, with example data.

Twinfield documentation: Browse data: Compose the browse request and send it.

$twinfield->browse(BrowseCode::BankLinkDetails)
->columns(
'fin.bnk.transactiontype',
'fin.bnk.iban',
'fin.bnk.dim1',
'fin.bnk.dim1name',
'fin.bnk.banklinkstatus',
)
->get();

The SDK sends this XML as xmlRequest of ProcessXmlString to processxml.asmx:

<columns code="680" optimize="true">
<column>
<field>fin.bnk.transactiontype</field>
<visible>true</visible>
</column>
<column>
<field>fin.bnk.iban</field>
<visible>true</visible>
</column>
<column>
<field>fin.bnk.dim1</field>
<visible>true</visible>
</column>
<column>
<field>fin.bnk.dim1name</field>
<visible>true</visible>
</column>
<column>
<field>fin.bnk.banklinkstatus</field>
<visible>true</visible>
</column>
</columns>

Twinfield answers with this XML in ProcessXmlStringResult:

<browse result="1" first="1" last="2" total="2">
<th>
<td label="" hideforuser="false" type="String">fin.bnk.transactiontype</td>
<td label="" hideforuser="false" type="String">fin.bnk.iban</td>
<td label="" hideforuser="false" type="String">fin.bnk.dim1</td>
<td label="" hideforuser="false" type="String">fin.bnk.dim1name</td>
<td label="" hideforuser="false" type="String">fin.bnk.banklinkstatus</td>
</th>
<tr>
<td>BNK</td>
<td>NL91ABNA0417164300</td>
<td>1100</td>
<td>Bank</td>
<td name="Actief">active</td>
<key>
<office>1000</office>
</key>
</tr>
<tr>
<td>BNK2</td>
<td>-</td>
<td>1110</td>
<td>Spaarrekening</td>
<td name="Geen">none</td>
<key>
<office>1000</office>
</key>
</tr>
</browse>

View examples/browse-data/680-bank-link-details/example.php on GitHub.

Made by SolveBeam

Twinfield and Wolters Kluwer are trademarks of Wolters Kluwer. Their names and logos are used only to refer to their products.