> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PaymentTransaction

> Money observed on a payment account: a booking the bank, the payment provider or an external system reported. Assigning a transaction to a sales order or a sales invoice records a payment there (see the payments).



**Kind**: `object`

## Fields

**`id`**: `ID!`

The ID of the payment transaction.

---

**`paymentAccountId`**: `ID!`

The payment account the transaction belongs to.

---

**`transactionId`**: `String!`

The ID of the transaction at the bank, the payment provider or the external system. Unique within the payment account, not across accounts.

---

**`bookingDate`**: `DateTime!`

When the bank or the provider booked the transaction, in the time zone of the ERP server.

---

**`direction`**: `PaymentDirection!`

Whether money came in or went out; follows from the sign of 'amount'.

---

**`amount`**: `Decimal!`

The amount with two decimals: positive for money received, negative for money sent or taken back.

---

**`currencyCode`**: `String!`

The currency of the amount (ISO 4217), in upper case.

---

**`kind`**: `PaymentTransactionKind!`

What the transaction stands for.

---

**`state`**: `PaymentTransactionState!`

How far the bank or the provider has processed the transaction.

---

**`counterparty`**: `PaymentTransactionCounterparty!`

The payer of money received, the payee of money sent, as the bank or the provider reported it.

---

**`paymentReference`**: `String`

The payment reference as delivered. It carries the order or invoice numbers the matching looks for.

---

**`referenceTransactionId`**: `String`

For refunds, chargebacks and fees: the 'transactionId' of the earlier transaction of the same payment account that this one refers to.

---

**`providerReference`**: `String`

A further reference of the bank or the provider, for example a mandate or an end-to-end reference.

---

**`statusText`**: `String`

The status message of the bank or the provider, for example why a payment failed.

---

**`additionalInformation`**: `String`

Further information the bank or the provider delivered with the transaction.

---

**`internalNote`**: `String`

A note for internal use. An import keeps it.

---

**`isIgnored`**: `Boolean!`

Whether the transaction is ignored: it is left out of the matching and out of the default list. Set with 'IgnorePaymentTransaction' and 'UnignorePaymentTransaction'; import filters and workflows can set it too.

---

**`lastImportedAt`**: `DateTime!`

When the transaction was last read in or refreshed from the bank, the provider or the external system. Assigning, ignoring or a note do not change it, so it is no change timestamp.

---

**`lastImportedBy`**: `ID`

The user who ran the last import.

---

**`assignedAmount`**: `Decimal!`

The part of 'amount' that is assigned: payments of sales documents and of incoming invoices, refunds paid out without a sales document and, for a fee, the order costs booked from it. 'QueryPaymentTransactionAssignmentsByPaymentTransactionId' lists them.

---

**`openAmount`**: `Decimal!`

What is left to assign: 'amount' minus 'assignedAmount'. A cash discount written off on a document does not count as assigned.

---

**`refundableAmount`**: `Decimal!`

What can still be refunded without a sales document ('RefundPaymentTransactionRemainder'): 'amount' minus all refunds and minus all payments of the transaction, a cash discount included. Never below 0.

---

**`assignmentStatus`**: `PaymentTransactionAssignmentStatus!`

How much of the transaction is assigned.

