Skip to content

Fixed assets (302_1)

Browse code 302_1 (BrowseCode::FixedAssets, “Activa”): the transaction lines of fixed assets with the depreciation settings of the asset: the year and period the depreciation starts and the term in periods.

Twinfield documentation: Browse data.

  • fin.trs.line.asset.beginyear, beginperiod and depreciationterm are numbers: int().
  • between('fin.trs.line.dim3', $asset, $asset): one asset. The day book can be a criterion as well, e.g. the depreciation day book.
  • For the fixed assets themselves (not their transactions) see Fixed assets.

Criteria: period, day book, status and asset. See browse-definitions/302_1.xml and the browse data guide.

All fields of the browse definition (browse-definitions/302_1.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.trs.head.office Administratie string yes
fin.trs.head.officename Adm.naam string yes
fin.trs.head.year Jaar long yes
fin.trs.head.period Periode long yes
fin.trs.head.yearperiod Jaar/periode (JJJJ/PP) string no between
fin.trs.head.date Boekdatum date yes
fin.trs.head.code Dagboek string yes equal
fin.trs.head.shortname Dagboeknaam string yes
fin.trs.head.number Boekingsnummer decimal yes
fin.trs.head.status Status special: draft, temporary, final, inuse, normal yes equal (proposed normal)
fin.trs.head.curcode Valuta string yes
fin.trs.line.asset.beginyear Jaar Vanaf long yes
fin.trs.line.asset.beginperiod Periode Vanaf long yes
fin.trs.line.asset.depreciationterm Afschrijvingstermijn (perioden) long yes
fin.trs.line.dim1group1name Groepnaam 1 string yes
fin.trs.line.dim1 Grootboekrek. string yes
fin.trs.line.dim1name Grootboekrek.naam string yes
fin.trs.line.dim2 Kpl./rel. string yes
fin.trs.line.dim2name Kpl.-/rel.naam string yes
fin.trs.line.dim3 Act./proj. string yes between
fin.trs.line.dim3name Act.-/proj.naam string yes
fin.trs.line.valuesigned Bedrag value yes
fin.trs.line.basevaluesigned Basisbedrag value yes
fin.trs.line.repvaluesigned Rapportagebedrag value yes
$twinfield = Example::twinfield();
$year = (int) ($argv[1] ?? Example::lastYear($twinfield));
$query = $twinfield->browse(BrowseCode::FixedAssets)
->columns(
'fin.trs.line.dim3',
'fin.trs.line.dim3name',
'fin.trs.line.asset.beginyear',
'fin.trs.line.asset.beginperiod',
'fin.trs.line.asset.depreciationterm',
'fin.trs.head.code',
'fin.trs.head.number',
'fin.trs.line.dim1',
'fin.trs.line.basevaluesigned',
)
->between('fin.trs.head.yearperiod', sprintf('%d/00', $year), sprintf('%d/55', $year))
->equal('fin.trs.head.status', 'normal');
$result = $query->get();
echo count($result), ' fixed asset line(s) in ', $year, PHP_EOL;
foreach ($result as $index => $row) {
echo sprintf(
'[%d/%d] %s %s (from %d/%02d, %d periods): %s %d %s %s',
$index + 1,
count($result),
$row->string('fin.trs.line.dim3'),
$row->nullableString('fin.trs.line.dim3name') ?? '',
$row->int('fin.trs.line.asset.beginyear'),
$row->int('fin.trs.line.asset.beginperiod'),
$row->int('fin.trs.line.asset.depreciationterm'),
$row->string('fin.trs.head.code'),
$row->int('fin.trs.head.number'),
$row->string('fin.trs.line.dim1'),
$row->amount('fin.trs.line.basevaluesigned'),
), PHP_EOL;
}
Terminal window
php examples/browse-data/302_1-fixed-assets/example.php # the last year

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

2 fixed asset line(s) in 2026
[1/2] A0001 Laptop (from 2026/01, 36 periods): INK 202600009 0200 1500.00
[2/2] A0001 Laptop (from 2026/01, 36 periods): ACTIVA 202600001 0209 -41.67

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::FixedAssets)
->columns(
'fin.trs.line.dim3',
'fin.trs.line.dim3name',
'fin.trs.line.asset.beginyear',
'fin.trs.line.asset.beginperiod',
'fin.trs.line.asset.depreciationterm',
'fin.trs.head.code',
'fin.trs.head.number',
'fin.trs.line.dim1',
'fin.trs.line.basevaluesigned',
)
->between('fin.trs.head.yearperiod', '2026/00', '2026/55')
->equal('fin.trs.head.status', 'normal')
->get();

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

<columns code="302_1" optimize="true">
<column>
<field>fin.trs.line.dim3</field>
<visible>true</visible>
</column>
<column>
<field>fin.trs.line.dim3name</field>
<visible>true</visible>
</column>
<column>
<field>fin.trs.line.asset.beginyear</field>
<visible>true</visible>
</column>
<column>
<field>fin.trs.line.asset.beginperiod</field>
<visible>true</visible>
</column>
<column>
<field>fin.trs.line.asset.depreciationterm</field>
<visible>true</visible>
</column>
<column>
<field>fin.trs.head.code</field>
<visible>true</visible>
</column>
<column>
<field>fin.trs.head.number</field>
<visible>true</visible>
</column>
<column>
<field>fin.trs.line.dim1</field>
<visible>true</visible>
</column>
<column>
<field>fin.trs.line.basevaluesigned</field>
<visible>true</visible>
</column>
<column>
<field>fin.trs.head.yearperiod</field>
<operator>between</operator>
<from>2026/00</from>
<to>2026/55</to>
</column>
<column>
<field>fin.trs.head.status</field>
<operator>equal</operator>
<from>normal</from>
</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.trs.line.dim3</td>
<td label="" hideforuser="false" type="String">fin.trs.line.dim3name</td>
<td label="" hideforuser="false" type="Number">fin.trs.line.asset.beginyear</td>
<td label="" hideforuser="false" type="Number">fin.trs.line.asset.beginperiod</td>
<td label="" hideforuser="false" type="Number">fin.trs.line.asset.depreciationterm</td>
<td label="" hideforuser="false" type="String">fin.trs.head.code</td>
<td label="" hideforuser="false" type="Decimal">fin.trs.head.number</td>
<td label="" hideforuser="false" type="String">fin.trs.line.dim1</td>
<td label="" hideforuser="false" type="Value">fin.trs.line.basevaluesigned</td>
</th>
<tr>
<td>A0001</td>
<td>Laptop</td>
<td>2026</td>
<td>1</td>
<td>36</td>
<td>INK</td>
<td>202600009</td>
<td>0200</td>
<td>1500.00</td>
<key>
<office>1000</office>
<code>INK</code>
<number>202600009</number>
<line>2</line>
</key>
</tr>
<tr>
<td>A0001</td>
<td>Laptop</td>
<td>2026</td>
<td>1</td>
<td>36</td>
<td>ACTIVA</td>
<td>202600001</td>
<td>0209</td>
<td>-41.67</td>
<key>
<office>1000</office>
<code>ACTIVA</code>
<number>202600001</number>
<line>2</line>
</key>
</tr>
</browse>

View examples/browse-data/302_1-fixed-assets/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.