Added FinTsClientCallback to ask user to select a tan procedure; renamed AllowedJob to SupportedJob
This commit is contained in:
parent
7fcc8db798
commit
742343b139
|
@ -25,6 +25,7 @@ import java.util.*
|
||||||
|
|
||||||
|
|
||||||
open class FinTsClient @JvmOverloads constructor(
|
open class FinTsClient @JvmOverloads constructor(
|
||||||
|
protected val callback: FinTsClientCallback,
|
||||||
protected val base64Service: IBase64Service,
|
protected val base64Service: IBase64Service,
|
||||||
protected val webClient: IWebClient = OkHttpWebClient(),
|
protected val webClient: IWebClient = OkHttpWebClient(),
|
||||||
protected val messageBuilder: MessageBuilder = MessageBuilder(),
|
protected val messageBuilder: MessageBuilder = MessageBuilder(),
|
||||||
|
@ -91,7 +92,9 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
open fun tryGetTransactionsOfLast90DaysWithoutTanAsync(bank: BankData, customer: CustomerData,
|
open fun tryGetTransactionsOfLast90DaysWithoutTanAsync(bank: BankData, customer: CustomerData,
|
||||||
callback: (GetTransactionsResponse) -> Unit) {
|
callback: (GetTransactionsResponse) -> Unit) {
|
||||||
|
|
||||||
callback(tryGetTransactionsOfLast90DaysWithoutTan(bank, customer, false))
|
threadPool.runAsync {
|
||||||
|
callback(tryGetTransactionsOfLast90DaysWithoutTan(bank, customer, false))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -159,6 +162,7 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
val balanceResponse = getBalanceAfterDialogInit(bank, customer, dialogData)
|
val balanceResponse = getBalanceAfterDialogInit(bank, customer, dialogData)
|
||||||
|
|
||||||
if (balanceResponse.successful == false && balanceResponse.couldCreateMessage == true) { // don't break here if required HKSAL message is not implemented
|
if (balanceResponse.successful == false && balanceResponse.couldCreateMessage == true) { // don't break here if required HKSAL message is not implemented
|
||||||
|
closeDialog(bank, customer, dialogData)
|
||||||
return GetTransactionsResponse(balanceResponse)
|
return GetTransactionsResponse(balanceResponse)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,13 +243,19 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
|
|
||||||
protected open fun initDialog(bank: BankData, customer: CustomerData, dialogData: DialogData): Response {
|
protected open fun initDialog(bank: BankData, customer: CustomerData, dialogData: DialogData): Response {
|
||||||
|
|
||||||
|
val tanProcedureSelectedResponse = ensureTanProcedureIsSelected(bank, customer)
|
||||||
|
if (tanProcedureSelectedResponse.successful == false) {
|
||||||
|
return tanProcedureSelectedResponse
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
val requestBody = messageBuilder.createInitDialogMessage(bank, customer, product, dialogData)
|
val requestBody = messageBuilder.createInitDialogMessage(bank, customer, product, dialogData)
|
||||||
|
|
||||||
val response = getAndHandleResponseForMessage(requestBody, bank)
|
val response = getAndHandleResponseForMessage(requestBody, bank)
|
||||||
|
|
||||||
if (response.successful) {
|
if (response.successful) {
|
||||||
updateBankData(bank, response)
|
updateBankData(bank, response)
|
||||||
updateCustomerData(customer, response)
|
updateCustomerData(customer, bank, response)
|
||||||
|
|
||||||
response.messageHeader?.let { header -> dialogData.dialogId = header.dialogId }
|
response.messageHeader?.let { header -> dialogData.dialogId = header.dialogId }
|
||||||
}
|
}
|
||||||
|
@ -269,7 +279,7 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
return synchronizeCustomerSystemId(bank, customer)
|
return synchronizeCustomerSystemId(bank, customer)
|
||||||
}
|
}
|
||||||
|
|
||||||
return FinTsClientResponse(true, false)
|
return FinTsClientResponse(true, true, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -292,7 +302,7 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
|
|
||||||
if (response.successful) {
|
if (response.successful) {
|
||||||
updateBankData(bank, response)
|
updateBankData(bank, response)
|
||||||
updateCustomerData(customer, response)
|
updateCustomerData(customer, bank, response)
|
||||||
|
|
||||||
response.messageHeader?.let { header -> dialogData.dialogId = header.dialogId }
|
response.messageHeader?.let { header -> dialogData.dialogId = header.dialogId }
|
||||||
|
|
||||||
|
@ -303,6 +313,40 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// TODO: glatt ziehen
|
||||||
|
protected open fun ensureTanProcedureIsSelected(bank: BankData, customer: CustomerData): Response {
|
||||||
|
var askWithProceduresSupportedByBank = false
|
||||||
|
|
||||||
|
if (bank.supportedTanProcedures.isEmpty() && customer.selectedTanProcedure == null) { // no tan procedures ever received
|
||||||
|
getAnonymousBankInfo(bank)
|
||||||
|
|
||||||
|
if (bank.supportedTanProcedures.isNotEmpty()) { // TODO: what if we didn't receive any? find a workaround for this
|
||||||
|
|
||||||
|
customer.selectedTanProcedure =
|
||||||
|
callback.askUserForTanProcedure(bank.supportedTanProcedures) // a bit problematic as user is not necessarily allowed to use all procedures bank supports
|
||||||
|
|
||||||
|
askWithProceduresSupportedByBank = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (customer.selectedTanProcedure == null) {
|
||||||
|
if (customer.supportedTanProcedures.isNotEmpty()) {
|
||||||
|
customer.selectedTanProcedure =
|
||||||
|
callback.askUserForTanProcedure(customer.supportedTanProcedures)
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (askWithProceduresSupportedByBank == false && bank.supportedTanProcedures.isNotEmpty()) {
|
||||||
|
customer.selectedTanProcedure =
|
||||||
|
callback.askUserForTanProcedure(bank.supportedTanProcedures)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
val noTanProcedureSelected = customer.selectedTanProcedure == null
|
||||||
|
|
||||||
|
return Response(!!!noTanProcedureSelected, noTanProcedureSelected = noTanProcedureSelected)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected open fun getAndHandleResponseForMessage(message: MessageBuilderResult, bank: BankData): Response {
|
protected open fun getAndHandleResponseForMessage(message: MessageBuilderResult, bank: BankData): Response {
|
||||||
message.createdMessage?.let { requestBody ->
|
message.createdMessage?.let { requestBody ->
|
||||||
return getAndHandleResponseForMessage(requestBody, bank)
|
return getAndHandleResponseForMessage(requestBody, bank)
|
||||||
|
@ -363,9 +407,17 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
// bank.bic = bankParameters. // TODO: where's the BIC?
|
// bank.bic = bankParameters. // TODO: where's the BIC?
|
||||||
// bank.finTs3ServerAddress = // TODO: parse HIKOM
|
// bank.finTs3ServerAddress = // TODO: parse HIKOM
|
||||||
}
|
}
|
||||||
|
|
||||||
|
response.getFirstSegmentById<TanInfo>(InstituteSegmentId.TanInfo)?.let { tanInfo ->
|
||||||
|
bank.supportedTanProcedures = mapToTanProcedures(tanInfo)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.supportedJobs.isNotEmpty()) {
|
||||||
|
bank.supportedJobs = response.supportedJobs
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun updateCustomerData(customer: CustomerData, response: Response) {
|
protected open fun updateCustomerData(customer: CustomerData, bank: BankData, response: Response) {
|
||||||
response.getFirstSegmentById<BankParameters>(InstituteSegmentId.BankParameters)?.let { bankParameters ->
|
response.getFirstSegmentById<BankParameters>(InstituteSegmentId.BankParameters)?.let { bankParameters ->
|
||||||
// TODO: ask user if there is more than one supported language? But it seems that almost all banks only support German.
|
// TODO: ask user if there is more than one supported language? But it seems that almost all banks only support German.
|
||||||
if (customer.selectedLanguage == Dialogsprache.Default && bankParameters.supportedLanguages.isNotEmpty()) {
|
if (customer.selectedLanguage == Dialogsprache.Default && bankParameters.supportedLanguages.isNotEmpty()) {
|
||||||
|
@ -419,23 +471,76 @@ open class FinTsClient @JvmOverloads constructor(
|
||||||
// TODO: may also make use of other info
|
// TODO: may also make use of other info
|
||||||
}
|
}
|
||||||
|
|
||||||
val allowedJobsForBank = response.allowedJobs
|
val supportedJobs = response.supportedJobs
|
||||||
if (allowedJobsForBank.isNotEmpty()) { // if allowedJobsForBank is empty than bank didn't send any allowed job
|
if (supportedJobs.isNotEmpty()) { // if allowedJobsForBank is empty than bank didn't send any allowed job
|
||||||
for (account in customer.accounts) {
|
for (account in customer.accounts) {
|
||||||
val allowedJobsForAccount = mutableListOf<AllowedJob>()
|
setAllowedJobsForAccount(account, supportedJobs)
|
||||||
|
}
|
||||||
for (job in allowedJobsForBank) {
|
}
|
||||||
if (isJobSupported(account, job)) {
|
else if (bank.supportedJobs.isNotEmpty()) {
|
||||||
allowedJobsForAccount.add(job)
|
for (account in customer.accounts) {
|
||||||
}
|
if (account.allowedJobs.isEmpty()) {
|
||||||
|
setAllowedJobsForAccount(account, bank.supportedJobs)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
account.allowedJobs = allowedJobsForAccount
|
response.getFirstSegmentById<TanInfo>(InstituteSegmentId.TanInfo)?.let { tanInfo ->
|
||||||
|
customer.supportedTanProcedures = mapToTanProcedures(tanInfo)
|
||||||
|
|
||||||
|
customer.selectedTanProcedure?.let { selectedProcedure ->
|
||||||
|
if (customer.supportedTanProcedures.isNotEmpty() &&
|
||||||
|
customer.supportedTanProcedures.contains(selectedProcedure) == false) {
|
||||||
|
// currently selected tan procedure is not in list of supported procedures -> ask user the next time when needed
|
||||||
|
customer.selectedTanProcedure = null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun isJobSupported(account: AccountData, job: AllowedJob): Boolean {
|
private fun setAllowedJobsForAccount(account: AccountData, supportedJobs: List<SupportedJob>) {
|
||||||
|
val allowedJobsForAccount = mutableListOf<SupportedJob>()
|
||||||
|
|
||||||
|
for (job in supportedJobs) {
|
||||||
|
if (isJobSupported(account, job)) {
|
||||||
|
allowedJobsForAccount.add(job)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
account.allowedJobs = allowedJobsForAccount
|
||||||
|
}
|
||||||
|
|
||||||
|
protected open fun mapToTanProcedures(tanInfo: TanInfo): List<TanProcedure> {
|
||||||
|
return tanInfo.tanProcedureParameters.procedureParameters.mapNotNull {
|
||||||
|
mapToTanProcedure(it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected open fun mapToTanProcedure(parameters: TanProcedureParameters): TanProcedure? {
|
||||||
|
val function = parameters.securityFunction
|
||||||
|
val procedureName = parameters.procedureName
|
||||||
|
val nameLowerCase = procedureName.toLowerCase()
|
||||||
|
|
||||||
|
return when {
|
||||||
|
nameLowerCase.contains("chiptan") -> {
|
||||||
|
if (nameLowerCase.contains("qr")) {
|
||||||
|
TanProcedure(procedureName, function, TanProcedureType.ChipTanQrCode)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
TanProcedure(procedureName, function, TanProcedureType.ChipTan)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
nameLowerCase.contains("sms") -> TanProcedure(procedureName, function, TanProcedureType.SmsTan)
|
||||||
|
nameLowerCase.contains("push") -> TanProcedure(procedureName, function, TanProcedureType.PushTan)
|
||||||
|
|
||||||
|
// TODO: what about other tan procedures we're not aware of?
|
||||||
|
// we filter out iTAN and Einschritt-Verfahren as they are not permitted anymore according to PSD2
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected open fun isJobSupported(account: AccountData, job: SupportedJob): Boolean {
|
||||||
for (allowedJobName in account.allowedJobNames) {
|
for (allowedJobName in account.allowedJobNames) {
|
||||||
if (allowedJobName == job.jobName) {
|
if (allowedJobName == job.jobName) {
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
package net.dankito.fints
|
||||||
|
|
||||||
|
import net.dankito.fints.model.TanProcedure
|
||||||
|
|
||||||
|
|
||||||
|
interface FinTsClientCallback {
|
||||||
|
|
||||||
|
fun askUserForTanProcedure(supportedTanProcedures: List<TanProcedure>): TanProcedure?
|
||||||
|
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.fints.model
|
package net.dankito.fints.model
|
||||||
|
|
||||||
import net.dankito.fints.response.segments.AccountType
|
import net.dankito.fints.response.segments.AccountType
|
||||||
import net.dankito.fints.response.segments.AllowedJob
|
import net.dankito.fints.response.segments.SupportedJob
|
||||||
|
|
||||||
|
|
||||||
open class AccountData(
|
open class AccountData(
|
||||||
|
@ -17,7 +17,7 @@ open class AccountData(
|
||||||
val productName: String?,
|
val productName: String?,
|
||||||
val accountLimit: String?,
|
val accountLimit: String?,
|
||||||
val allowedJobNames: List<String>,
|
val allowedJobNames: List<String>,
|
||||||
var allowedJobs: List<AllowedJob> = listOf()
|
var allowedJobs: List<SupportedJob> = listOf()
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override fun toString(): String {
|
override fun toString(): String {
|
||||||
|
|
|
@ -3,6 +3,7 @@ package net.dankito.fints.model
|
||||||
import net.dankito.fints.messages.datenelemente.implementierte.BPDVersion
|
import net.dankito.fints.messages.datenelemente.implementierte.BPDVersion
|
||||||
import net.dankito.fints.messages.datenelemente.implementierte.Dialogsprache
|
import net.dankito.fints.messages.datenelemente.implementierte.Dialogsprache
|
||||||
import net.dankito.fints.messages.datenelemente.implementierte.HbciVersion
|
import net.dankito.fints.messages.datenelemente.implementierte.HbciVersion
|
||||||
|
import net.dankito.fints.response.segments.SupportedJob
|
||||||
|
|
||||||
|
|
||||||
open class BankData(
|
open class BankData(
|
||||||
|
@ -20,7 +21,9 @@ open class BankData(
|
||||||
var countMaxJobsPerMessage: Int = 0,
|
var countMaxJobsPerMessage: Int = 0,
|
||||||
|
|
||||||
var supportedHbciVersions: List<HbciVersion> = listOf(),
|
var supportedHbciVersions: List<HbciVersion> = listOf(),
|
||||||
var supportedLanguages: List<Dialogsprache> = listOf()
|
var supportedTanProcedures: List<TanProcedure> = listOf(),
|
||||||
|
var supportedLanguages: List<Dialogsprache> = listOf(),
|
||||||
|
var supportedJobs: List<SupportedJob> = listOf()
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ open class CustomerData(
|
||||||
var iban: String? = null,
|
var iban: String? = null,
|
||||||
var accounts: List<AccountData> = listOf(),
|
var accounts: List<AccountData> = listOf(),
|
||||||
var updVersion: Int = UPDVersion.VersionNotReceivedYet,
|
var updVersion: Int = UPDVersion.VersionNotReceivedYet,
|
||||||
var availableTanProcedures: List<TanProcedure> = listOf(),
|
var supportedTanProcedures: List<TanProcedure> = listOf(),
|
||||||
var selectedTanProcedure: TanProcedure? = null,
|
var selectedTanProcedure: TanProcedure? = null,
|
||||||
var securityMethod: Sicherheitsverfahren = Sicherheitsverfahren.PIN_TAN_Verfahren,
|
var securityMethod: Sicherheitsverfahren = Sicherheitsverfahren.PIN_TAN_Verfahren,
|
||||||
var version: VersionDesSicherheitsverfahrens = VersionDesSicherheitsverfahrens.PIN_Zwei_Schritt,
|
var version: VersionDesSicherheitsverfahrens = VersionDesSicherheitsverfahrens.PIN_Zwei_Schritt,
|
||||||
|
|
|
@ -10,7 +10,7 @@ open class TanProcedure(
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override fun toString(): String {
|
override fun toString(): String {
|
||||||
return "$displayName ($type, ${securityFunction.code}"
|
return "$displayName ($type, ${securityFunction.code})"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -16,6 +16,7 @@ open class Response constructor(
|
||||||
* When a serious error occurred during web request or response parsing.
|
* When a serious error occurred during web request or response parsing.
|
||||||
*/
|
*/
|
||||||
val exception: Exception? = null,
|
val exception: Exception? = null,
|
||||||
|
val noTanProcedureSelected: Boolean = false,
|
||||||
val messageCreationError: MessageBuilderResult? = null
|
val messageCreationError: MessageBuilderResult? = null
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
@ -26,7 +27,8 @@ open class Response constructor(
|
||||||
get() = exception == null && messageFeedback?.isError == true
|
get() = exception == null && messageFeedback?.isError == true
|
||||||
|
|
||||||
open val successful: Boolean
|
open val successful: Boolean
|
||||||
get() = couldCreateMessage && didReceiveResponse && responseContainsErrors == false
|
get() = noTanProcedureSelected == false &&couldCreateMessage && didReceiveResponse
|
||||||
|
&& responseContainsErrors == false
|
||||||
|
|
||||||
open val isStrongAuthenticationRequired: Boolean
|
open val isStrongAuthenticationRequired: Boolean
|
||||||
get() = tanResponse?.isStrongAuthenticationRequired == true
|
get() = tanResponse?.isStrongAuthenticationRequired == true
|
||||||
|
@ -67,8 +69,8 @@ open class Response constructor(
|
||||||
* Returns all jobs bank supports otherwise. This does not necessarily mean that they are also allowed for
|
* Returns all jobs bank supports otherwise. This does not necessarily mean that they are also allowed for
|
||||||
* customer / account, see [net.dankito.fints.model.AccountData.allowedJobNames].
|
* customer / account, see [net.dankito.fints.model.AccountData.allowedJobNames].
|
||||||
*/
|
*/
|
||||||
open val allowedJobs: List<AllowedJob>
|
open val supportedJobs: List<SupportedJob>
|
||||||
get() = receivedSegments.mapNotNull { it as? AllowedJob }
|
get() = receivedSegments.mapNotNull { it as? SupportedJob }
|
||||||
|
|
||||||
|
|
||||||
open fun <T : ReceivedSegment> getFirstSegmentById(id: ISegmentId): T? {
|
open fun <T : ReceivedSegment> getFirstSegmentById(id: ISegmentId): T? {
|
||||||
|
|
|
@ -220,7 +220,7 @@ open class ResponseParser @JvmOverloads constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected open fun parseAllowedJob(segment: String, segmentId: String, dataElementGroups: List<String>): AllowedJob {
|
protected open fun parseAllowedJob(segment: String, segmentId: String, dataElementGroups: List<String>): SupportedJob {
|
||||||
var jobName = segmentId.substring(0, 5) // cut off last 'S' (which stands for 'parameter')
|
var jobName = segmentId.substring(0, 5) // cut off last 'S' (which stands for 'parameter')
|
||||||
jobName = jobName.replaceFirst("HI", "HK")
|
jobName = jobName.replaceFirst("HI", "HK")
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ open class ResponseParser @JvmOverloads constructor(
|
||||||
// Bei aelteren Version fehlt das Datenelement 'Sicherheitsklasse'. Ist fuer PIN/TAN eh zu ignorieren
|
// Bei aelteren Version fehlt das Datenelement 'Sicherheitsklasse'. Ist fuer PIN/TAN eh zu ignorieren
|
||||||
val securityClass = if (dataElementGroups.size > 3) parseNullableInt(dataElementGroups[3]) else null
|
val securityClass = if (dataElementGroups.size > 3) parseNullableInt(dataElementGroups[3]) else null
|
||||||
|
|
||||||
return AllowedJob(jobName, maxCountJobs, minimumCountSignatures, securityClass, segment)
|
return SupportedJob(jobName, maxCountJobs, minimumCountSignatures, securityClass, segment)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -254,6 +254,8 @@ open class ResponseParser @JvmOverloads constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun mapToTanProcedureParameters(proceduresDataElements: List<String>): List<TanProcedureParameters> {
|
protected open fun mapToTanProcedureParameters(proceduresDataElements: List<String>): List<TanProcedureParameters> {
|
||||||
|
// TODO: this throws an error for HITANS in version 4, but PSD2 needs HKTAN at least in version 6 anyway
|
||||||
|
|
||||||
val parsedProceduresParameters = mutableListOf<TanProcedureParameters>()
|
val parsedProceduresParameters = mutableListOf<TanProcedureParameters>()
|
||||||
var remainingDataElements = proceduresDataElements
|
var remainingDataElements = proceduresDataElements
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,8 @@ open class FinTsClientResponse(
|
||||||
|
|
||||||
val isSuccessful: Boolean,
|
val isSuccessful: Boolean,
|
||||||
|
|
||||||
|
val noTanProcedureSelected: Boolean,
|
||||||
|
|
||||||
val isStrongAuthenticationRequired: Boolean,
|
val isStrongAuthenticationRequired: Boolean,
|
||||||
val tanRequired: TanResponse? = null,
|
val tanRequired: TanResponse? = null,
|
||||||
|
|
||||||
|
@ -25,9 +27,9 @@ open class FinTsClientResponse(
|
||||||
) {
|
) {
|
||||||
|
|
||||||
|
|
||||||
constructor(response: Response) : this(response.successful, response.isStrongAuthenticationRequired,
|
constructor(response: Response) : this(response.successful, response.noTanProcedureSelected,
|
||||||
response.tanResponse, response.errorsToShowToUser, response.exception,
|
response.isStrongAuthenticationRequired, response.tanResponse, response.errorsToShowToUser,
|
||||||
response.messageCreationError?.isJobAllowed ?: true,
|
response.exception, response.messageCreationError?.isJobAllowed ?: true,
|
||||||
response.messageCreationError?.isJobVersionSupported ?: true,
|
response.messageCreationError?.isJobVersionSupported ?: true,
|
||||||
response.messageCreationError?.allowedVersions ?: listOf(),
|
response.messageCreationError?.allowedVersions ?: listOf(),
|
||||||
response.messageCreationError?.supportedVersions ?: listOf())
|
response.messageCreationError?.supportedVersions ?: listOf())
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package net.dankito.fints.response.segments
|
package net.dankito.fints.response.segments
|
||||||
|
|
||||||
|
|
||||||
open class AllowedJob(
|
open class SupportedJob(
|
||||||
val jobName: String,
|
val jobName: String,
|
||||||
val maxCountJobs: Int,
|
val maxCountJobs: Int,
|
||||||
val minimumCountSignatures: Int,
|
val minimumCountSignatures: Int,
|
|
@ -10,10 +10,10 @@ open class TanInfo(
|
||||||
|
|
||||||
segmentString: String
|
segmentString: String
|
||||||
)
|
)
|
||||||
: AllowedJob(jobName, maxCountJobs, minimumCountSignatures, securityClass, segmentString) {
|
: SupportedJob(jobName, maxCountJobs, minimumCountSignatures, securityClass, segmentString) {
|
||||||
|
|
||||||
constructor(allowedJob: AllowedJob, tanProcedureParameters: TwoStepTanProcedureParameters)
|
constructor(supportedJob: SupportedJob, tanProcedureParameters: TwoStepTanProcedureParameters)
|
||||||
: this(allowedJob.jobName, allowedJob.maxCountJobs, allowedJob.minimumCountSignatures,
|
: this(supportedJob.jobName, supportedJob.maxCountJobs, supportedJob.minimumCountSignatures,
|
||||||
allowedJob.securityClass, tanProcedureParameters, allowedJob.segmentString)
|
supportedJob.securityClass, tanProcedureParameters, supportedJob.segmentString)
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
package net.dankito.fints.java;
|
package net.dankito.fints.java;
|
||||||
|
|
||||||
import net.dankito.fints.FinTsClient;
|
import net.dankito.fints.FinTsClient;
|
||||||
|
import net.dankito.fints.FinTsClientCallback;
|
||||||
import net.dankito.fints.banks.BankFinder;
|
import net.dankito.fints.banks.BankFinder;
|
||||||
import net.dankito.fints.messages.datenelemente.implementierte.signatur.Sicherheitsfunktion;
|
import net.dankito.fints.messages.datenelemente.implementierte.signatur.Sicherheitsfunktion;
|
||||||
import net.dankito.fints.model.*;
|
import net.dankito.fints.model.*;
|
||||||
|
@ -8,6 +9,9 @@ import net.dankito.fints.model.mapper.BankDataMapper;
|
||||||
import net.dankito.fints.response.client.GetTransactionsResponse;
|
import net.dankito.fints.response.client.GetTransactionsResponse;
|
||||||
import net.dankito.fints.util.Java8Base64Service;
|
import net.dankito.fints.util.Java8Base64Service;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -27,7 +31,16 @@ public class JavaShowcase {
|
||||||
CustomerData customer = new CustomerData("<customer_id>", "<pin>");
|
CustomerData customer = new CustomerData("<customer_id>", "<pin>");
|
||||||
customer.setSelectedTanProcedure(new TanProcedure("", Sicherheitsfunktion.PIN_TAN_911, TanProcedureType.ChipTan));
|
customer.setSelectedTanProcedure(new TanProcedure("", Sicherheitsfunktion.PIN_TAN_911, TanProcedureType.ChipTan));
|
||||||
|
|
||||||
FinTsClient finTsClient = new FinTsClient(new Java8Base64Service());
|
FinTsClientCallback callback = new FinTsClientCallback() {
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public TanProcedure askUserForTanProcedure(@NotNull List<? extends TanProcedure> supportedTanProcedures) {
|
||||||
|
// TODO: if entering TAN is required select your tan procedure here
|
||||||
|
return supportedTanProcedures.get(0);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
FinTsClient finTsClient = new FinTsClient(callback, new Java8Base64Service());
|
||||||
|
|
||||||
// some banks support retrieving account transactions of last 90 days without TAN
|
// some banks support retrieving account transactions of last 90 days without TAN
|
||||||
long ninetyDaysAgoMilliseconds = 90 * 24 * 60 * 60 * 1000L;
|
long ninetyDaysAgoMilliseconds = 90 * 24 * 60 * 60 * 1000L;
|
||||||
|
|
|
@ -4,21 +4,31 @@ import net.dankito.fints.messages.datenelemente.abgeleiteteformate.Laenderkennze
|
||||||
import net.dankito.fints.messages.datenelemente.implementierte.Dialogsprache
|
import net.dankito.fints.messages.datenelemente.implementierte.Dialogsprache
|
||||||
import net.dankito.fints.messages.datenelemente.implementierte.KundensystemStatus
|
import net.dankito.fints.messages.datenelemente.implementierte.KundensystemStatus
|
||||||
import net.dankito.fints.messages.datenelemente.implementierte.KundensystemStatusWerte
|
import net.dankito.fints.messages.datenelemente.implementierte.KundensystemStatusWerte
|
||||||
import net.dankito.fints.messages.datenelemente.implementierte.signatur.Sicherheitsfunktion
|
|
||||||
import net.dankito.fints.model.*
|
import net.dankito.fints.model.*
|
||||||
import net.dankito.fints.response.client.FinTsClientResponse
|
import net.dankito.fints.response.client.FinTsClientResponse
|
||||||
import net.dankito.fints.util.Java8Base64Service
|
import net.dankito.fints.util.Java8Base64Service
|
||||||
import org.assertj.core.api.Assertions.assertThat
|
import org.assertj.core.api.Assertions.assertThat
|
||||||
import org.junit.Ignore
|
import org.junit.Ignore
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
|
|
||||||
@Ignore // not an automatic test, supply your settings below
|
@Ignore // not an automatic test, supply your settings below
|
||||||
class FinTsClientTest {
|
class FinTsClientTest {
|
||||||
|
|
||||||
private val underTest = object : FinTsClient(Java8Base64Service()) {
|
private val callback = object : FinTsClientCallback {
|
||||||
|
|
||||||
fun synchronizeCustomerSystemId(customer: CustomerData, bank: BankData): FinTsClientResponse {
|
override fun askUserForTanProcedure(supportedTanProcedures: List<TanProcedure>): TanProcedure? {
|
||||||
|
// TODO: if entering TAN is required select your tan procedure here
|
||||||
|
return supportedTanProcedures.first()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private val underTest = object : FinTsClient(callback, Java8Base64Service()) {
|
||||||
|
|
||||||
|
fun testSynchronizeCustomerSystemId(bank: BankData, customer: CustomerData): FinTsClientResponse {
|
||||||
return synchronizeCustomerSystemId(bank, customer)
|
return synchronizeCustomerSystemId(bank, customer)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +62,7 @@ class FinTsClientTest {
|
||||||
fun synchronizeCustomerSystemId() {
|
fun synchronizeCustomerSystemId() {
|
||||||
|
|
||||||
// when
|
// when
|
||||||
val result = underTest.synchronizeCustomerSystemId(Customer, Bank)
|
val result = underTest.testSynchronizeCustomerSystemId(Bank, Customer)
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertThat(result.isSuccessful).isTrue()
|
assertThat(result.isSuccessful).isTrue()
|
||||||
|
|
|
@ -351,7 +351,7 @@ class ResponseParserTest : FinTsTestBase() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun parseAllowedJobs() {
|
fun parseSupportedJobs() {
|
||||||
|
|
||||||
// when
|
// when
|
||||||
val result = underTest.parse(
|
val result = underTest.parse(
|
||||||
|
@ -455,7 +455,7 @@ class ResponseParserTest : FinTsTestBase() {
|
||||||
assertThat(result.receivedSegments).hasSize(92)
|
assertThat(result.receivedSegments).hasSize(92)
|
||||||
|
|
||||||
for (segment in result.receivedSegments) {
|
for (segment in result.receivedSegments) {
|
||||||
assertThat(segment is AllowedJob).describedAs("$segment should be of type AllowedJob").isTrue()
|
assertThat(segment is SupportedJob).describedAs("$segment should be of type AllowedJob").isTrue()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,434 @@
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190718EUR106728,17
|
||||||
|
:61:1907200722DR273,10N033NONREF
|
||||||
|
:86:118?00ECHTZEIT-UEBERWEISUNG?109310?20SVWZ+Bahnfahrten DATUM 2
|
||||||
|
0.0?217.2019, 19.24 UHR 1.TAN 592?22935?30BELADEBEXXX?31DE3210050
|
||||||
|
0006016708591?32Marieke Schmidt?34997
|
||||||
|
:62F:C190722EUR106455,07
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190722EUR106455,07
|
||||||
|
:61:1907240724DR100,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-07-23T15.33 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 232//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190724EUR106355,07
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190724EUR106355,07
|
||||||
|
:61:1907260726DR6,99NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+005061423265?21MREF+0200
|
||||||
|
013221814?22CRED+DE77ZZZ00000569719?23SVWZ+KD-Nr. K511159080/ RG-
|
||||||
|
?24Nr. 150555947887?30COBADEFFXXX?31DE97500400000589011600?321u1
|
||||||
|
Telecom GmbH?34992
|
||||||
|
:62F:C190726EUR106348,08
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190726EUR106348,08
|
||||||
|
:61:1907290729DR420,51NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+1325292693302220190729?2
|
||||||
|
125292693?22MREF+000001065754?23CRED+DE56LKK00000143200?24SVWZ+Be
|
||||||
|
itrag 07/19 00141651?2529 faellig 29.07.19 KRANKEN?26VERSICHERUNG
|
||||||
|
?27ABWA+Sozialversicherung fur?28 Landwirtschaft, Forsten un?29d?
|
||||||
|
30HELADEFFXXX?31DE61500500000040100059?32SVLFG Krankenkasse?34992
|
||||||
|
:61:1907290729DR100,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-07-27T15.46 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 159//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190729EUR105827,57
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190729EUR105827,57
|
||||||
|
:61:1908010731DR3,99N024NONREF
|
||||||
|
:86:809?00ENTGELTABSCHLUSS?106666?20Entgeltabrechnung?21siehe Anl
|
||||||
|
age?3072051210
|
||||||
|
:62F:C190731EUR105823,58
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190731EUR105823,58
|
||||||
|
:61:1908010801DR580,00N012NONREF
|
||||||
|
:86:117?00DAUERAUFTRAG?107000?20SVWZ+Miete?30HYVEDEMMXXX?31DE8770
|
||||||
|
0202701640043438?32Karin M<>ller?34997
|
||||||
|
:62F:C190801EUR105243,58
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190801EUR105243,58
|
||||||
|
:61:1908020802DR100,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-02T13.25 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 159//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190802EUR105143,58
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190802EUR105143,58
|
||||||
|
:61:1908070807DR19395,68NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+144/187/81344-----L020?2
|
||||||
|
18201900001251?22MREF+BY689135399618?23CRED+DE13ZZZ00000076365?24
|
||||||
|
SVWZ+STEUERNR 144/187/81344?25 EINK.ST 2018 19.395,68EUR?26ABWA+F
|
||||||
|
inanzamt Muenchen?30BYLADEMMXXX?31DE37700500000000024962?32Finanz
|
||||||
|
amt M<>nchen - Erhebun?33g Finanzkasse?34992
|
||||||
|
:61:1908070807DR300,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-06T18.12 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 232//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190807EUR85447,90
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190807EUR85447,90
|
||||||
|
:61:1908080808DR150,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-07T18.38 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+MUENCHEN//KREISSPK. MU?23ENCHEN STARNBERG EB
|
||||||
|
ERSBERG/?24DE?30BYLADEM1KMS?31DE02702501509000481409?32KREISSPK.
|
||||||
|
MUENCHEN STARNBER?33G EBERSBERG?34003
|
||||||
|
:62F:C190808EUR85297,90
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190808EUR85297,90
|
||||||
|
:61:1908090809DR50,00N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20SVWZ+AUFLADUNG PAYPAL GUTH
|
||||||
|
A?21BEN GIROPAY0014400457SJZ34?22W66U2?23DATUM 08.08.2019, 22.30
|
||||||
|
UHR?241.TAN 936060?30GENODE61OG1?31DE76664900000009116702?32GIRO
|
||||||
|
SOLUTION FUER PAYPAL?34997
|
||||||
|
:61:1908090809CR36,06N062NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109249?20EREF+YYW1006309018143 PA
|
||||||
|
YPA?21L?30DEUTDEFFXXX?31DE88500700100175526303?32PayPal (Europe)
|
||||||
|
S.a.r.l. et?33 Cie., S.C.A.
|
||||||
|
:62F:C190809EUR85283,96
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190809EUR85283,96
|
||||||
|
:61:1908130813DR90,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-12T17.28 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 232//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190813EUR85193,96
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190813EUR85193,96
|
||||||
|
:61:1908140814DR24,00NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+3932191157543 -VK- 002?2
|
||||||
|
1106915289?22MREF+M00210691528900001?23CRED+DE3711000000030246?24
|
||||||
|
SVWZ+Kuernbergstr. 36 .3.MR?25, Abschlag Strom 08/2019 Be?26trag
|
||||||
|
24,00 Eur?30PBNKDEFFXXX?31DE50700100800014060800?32SWM Versorgung
|
||||||
|
s GmbH?34992
|
||||||
|
:61:1908140814DR300,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-13T19.59 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 159//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE41701500009000481409?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190814EUR84869,96
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190814EUR84869,96
|
||||||
|
:61:1908160816DR289,70NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+0033-BY-21190882D018-1?2
|
||||||
|
16082019?22MREF+RG63A20161109180225753?23017490?24CRED+DE14ZZZ000
|
||||||
|
00026683?25SVWZ+FW01 21190882D018 0819?30HYVEDEMMXXX?31DE33700202
|
||||||
|
700000081124?32DRV BAYERN SUeD?34992
|
||||||
|
:61:1908160816DR2002,90NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+144/187/81344-----L120?2
|
||||||
|
18201900033611?22MREF+BY689135399618?23CRED+DE13ZZZ00000076365?24
|
||||||
|
SVWZ+STEUERNR 144/187/81344?25 UMS.ST JUL.19 2.002,90EUR?26ABWA+F
|
||||||
|
inanzamt Muenchen?30BYLADEMMXXX?31DE37700500000000024962?32Finanz
|
||||||
|
amt M<>nchen - Erhebun?33g Finanzkasse?34992
|
||||||
|
:62F:C190816EUR82577,36
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190816EUR82577,36
|
||||||
|
:61:1908190819DR1000,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-18T23.48 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 159//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE41701500009000481409?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190819EUR81577,36
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190819EUR81577,36
|
||||||
|
:61:1908200820DR21,38NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+13027964922019?21MREF+M5
|
||||||
|
005132260002?22CRED+DE3505800000015150?23SVWZ+D-Nr M500513226, /I
|
||||||
|
NV/?24201907051420 vom 13.08.2019?25, TELEFONIE Juli 2019, Zahl?2
|
||||||
|
6B 1302796492?27ABWA+M-net Telek. GmbH?30BYLADEMMXXX?31DE74700500
|
||||||
|
000000028273?32M-net Telekommunikations Gm?33bH?34992
|
||||||
|
:62F:C190820EUR81555,98
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190820EUR81555,98
|
||||||
|
:61:1908210821CR15154,89N062NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109249?20EREF+211?21SVWZ+1907311/
|
||||||
|
31.07.2019/EUR?22 15154.89/2019-08-12/...?30DRESDEFF700?31DE85700
|
||||||
|
800000757304200?32Device Insight GmbH
|
||||||
|
:62F:C190821EUR96710,87
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190821EUR96710,87
|
||||||
|
:61:1908260826DR54,90NDDTNONREF
|
||||||
|
:86:105?00ERSTLASTSCHRIFT?109248?20EREF+1-11/366-3147882-178?21MR
|
||||||
|
EF+201042277?22CRED+DE97ZZZ00000169525?23SVWZ+RNR 90654410 V. 15.
|
||||||
|
08.?2419 BRU 54,90 Vielen Dank fu?25er Ihren Einkauf. shop.heis?2
|
||||||
|
6e.de?30PBNKDEFFXXX?31DE22250100300540160303?32Heise Medien GmbH
|
||||||
|
+ Co. KG?34991
|
||||||
|
:62F:C190826EUR96655,97
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190826EUR96655,97
|
||||||
|
:61:1908270827DR6,99NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+003809515790?21MREF+0200
|
||||||
|
013221814?22CRED+DE77ZZZ00000569719?23SVWZ+KD-Nr. K511159080/ RG-
|
||||||
|
?24Nr. 150563678193?30COBADEFFXXX?31DE97500400000589011600?321u1
|
||||||
|
Telecom GmbH?34992
|
||||||
|
:62F:C190827EUR96648,98
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190827EUR96648,98
|
||||||
|
:61:1908280828DR420,51NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+1325292693302220190828?2
|
||||||
|
125292693?22MREF+000001065754?23CRED+DE56LKK00000143200?24SVWZ+Be
|
||||||
|
itrag 08/19 00141651?2529 faellig 28.08.19 KRANKEN?26VERSICHERUNG
|
||||||
|
?27ABWA+Sozialversicherung fur?28 Landwirtschaft, Forsten un?29d?
|
||||||
|
30HELADEFFXXX?31DE61500500000040100059?32SVLFG Krankenkasse?34992
|
||||||
|
:61:1908280828DR70,43N033NONREF
|
||||||
|
:86:118?00ECHTZEIT-UEBERWEISUNG?109310?20SVWZ+Bestellung Nummer.
|
||||||
|
344?21253 DATUM 28.08.2019, 08.30?22 UHR 1.TAN 073873?30DEUTDEDB5
|
||||||
|
95?31DE06590700700017905101?32EXP GmbH?34997
|
||||||
|
:62F:C190828EUR96158,04
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190828EUR96158,04
|
||||||
|
:61:1908280829DR10,00N033NONREF
|
||||||
|
:86:118?00ECHTZEIT-UEBERWEISUNG?109310?20SVWZ+Fu<46>ball DATUM 28.08
|
||||||
|
.20?2119, 23.44 UHR 1.TAN 726220?30GENODEF1AUB?31DE61720900000005
|
||||||
|
610036?32Michael Port?34997
|
||||||
|
:62F:C190829EUR96148,04
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190829EUR96148,04
|
||||||
|
:61:1909010830DR3,99N024NONREF
|
||||||
|
:86:809?00ENTGELTABSCHLUSS?106666?20Entgeltabrechnung?21siehe Anl
|
||||||
|
age?3072051210
|
||||||
|
:62F:C190830EUR96144,05
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190830EUR96144,05
|
||||||
|
:61:1909020902DR580,00N012NONREF
|
||||||
|
:86:117?00DAUERAUFTRAG?107000?20SVWZ+Miete?30HYVEDEMMXXX?31DE8770
|
||||||
|
0202701640043438?32Karin M<>ller?34997
|
||||||
|
:62F:C190902EUR95564,05
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190902EUR95564,05
|
||||||
|
:61:1909130913DR289,70NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+0034-BY-21190882D018-1?2
|
||||||
|
13092019?22MREF+RG63A20161109180225753?23017490?24CRED+DE14ZZZ000
|
||||||
|
00026683?25SVWZ+FW01 21190882D018 0919?30HYVEDEMMXXX?31DE33700202
|
||||||
|
700000081124?32DRV BAYERN SUeD?34992
|
||||||
|
:62F:C190913EUR95274,35
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190913EUR95274,35
|
||||||
|
:61:1909160916DR24,00NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+3938148326034 -VK- 002?2
|
||||||
|
1106915289?22MREF+M00210691528900001?23CRED+DE3711000000030246?24
|
||||||
|
SVWZ+Kuernbergstr. 36 .3.MR?25, Abschlag Strom 09/2019 Be?26trag
|
||||||
|
24,00 Eur?30PBNKDEFFXXX?31DE50700100800014060800?32SWM Versorgung
|
||||||
|
s GmbH?34992
|
||||||
|
:61:1909160916DR13001,62NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+144/187/81344-----L110?2
|
||||||
|
19201900117661?22MREF+BY689135399618?23CRED+DE13ZZZ00000076365?24
|
||||||
|
SVWZ+STEUERNR 144/187/81344?25 EINK.ST 3VJ.19 10.627,00EU?26R UMS
|
||||||
|
.ST AUG.19 2.374,62EUR?27ABWA+Finanzamt Muenchen?30BYLADEMMXXX?31
|
||||||
|
DE37700500000000024962?32Finanzamt M<>nchen - Erhebun?33g Finanzka
|
||||||
|
sse?34992
|
||||||
|
:62F:C190916EUR82248,73
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190916EUR82248,73
|
||||||
|
:61:1909180918DR100,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-09-17T14.20 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 061//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:61:1909180918CR0,01N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Test cash transfer?
|
||||||
|
30BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl
|
||||||
|
:61:1909180918DR0,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T14.59.01.0
|
||||||
|
2?2175?22SVWZ+Test cash transfer?23DATUM 18.09.2019, 14.59 UHR?30
|
||||||
|
BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl?34997
|
||||||
|
:61:1909180918CR0,01N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Test cash transfer
|
||||||
|
2?30BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl
|
||||||
|
:61:1909180918DR0,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T17.41.08.0
|
||||||
|
7?2154?22SVWZ+Test cash transfer 2?23DATUM 18.09.2019, 17.41 UHR?
|
||||||
|
30BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl?34997
|
||||||
|
:62F:C190918EUR82148,73
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190918EUR82148,73
|
||||||
|
:61:1909190919CR51,00N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Let
|
||||||
|
s go big test?3
|
||||||
|
0BYLADEM1AIC?31DE11720512100560165557?32CHRISTIAN DANKL
|
||||||
|
:61:1909190919DR51,00N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T20.35.38.0
|
||||||
|
6?2130?22SVWZ+Let
|
||||||
|
s go big test?23DATUM 18.09.2019, 20.35 UHR?30B
|
||||||
|
YLADEM1AIC?31DE11720512100560165557?32Christian Dankl?34997
|
||||||
|
:61:1909190919CR101,00N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Let
|
||||||
|
s go big test 2
|
||||||
|
?30BYLADEM1AIC?31DE11720512100560165557?32CHRISTIAN DANKL
|
||||||
|
:61:1909190919DR101,00N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T20.36.07.0
|
||||||
|
4?2135?22SVWZ+Let
|
||||||
|
s go big test 2?23DATUM 18.09.2019, 20.36 UHR?3
|
||||||
|
0BYLADEM1AIC?31DE11720512100560165557?32CHRISTIAN DANKL?34997
|
||||||
|
:61:1909190919DR0,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T20.39.01.0
|
||||||
|
0?2101?22SVWZ+Testueberweisung?23DATUM 18.09.2019, 20.39 UHR?30BE
|
||||||
|
LADEBEXXX?31DE32100500006016708591?32Marieke Schmidt?34997
|
||||||
|
:61:1909190919DR30,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-19T00.20.19.0
|
||||||
|
8?2137?22SVWZ+Fussball?23DATUM 19.09.2019, 00.20 UHR?241.TAN 3795
|
||||||
|
05?30GENODEF1AUB?31DE61720900000005610036?32Michael Port?34997
|
||||||
|
:61:1909190919DR9,07NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+13030203282019?21MREF+M5
|
||||||
|
005132260002?22CRED+DE3505800000015150?23SVWZ+D-Nr M500513226, /I
|
||||||
|
NV/?24201908051258 vom 12.09.2019?25, TELEFONIE August 2019, Za?2
|
||||||
|
6hlB 1303020328?27ABWA+M-net Telek. GmbH?30BYLADEMMXXX?31DE747005
|
||||||
|
00000000028273?32M-net Telekommunikations Gm?33bH?34992
|
||||||
|
:62F:C190919EUR82109,64
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190919EUR82109,64
|
||||||
|
:61:1909230923DR32,00N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-22T12.52.39.0
|
||||||
|
4?2135?22SVWZ+Bayernticket n<>chste W?23oche?24DATUM 22.09.2019, 1
|
||||||
|
2.52 UHR?251.TAN 293047?30BELADEBEXXX?31DE32100500006016708591?32
|
||||||
|
Marieke Schmidt?34997
|
||||||
|
:62F:C190923EUR82077,64
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190923EUR82077,64
|
||||||
|
:61:1909260926DR6,99NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+005181496989?21MREF+0200
|
||||||
|
013221814?22CRED+DE77ZZZ00000569719?23SVWZ+KD-Nr. K511159080/ RG-
|
||||||
|
?24Nr. 150571431714?30COBADEFFXXX?31DE97500400000589011600?321u1
|
||||||
|
Telecom GmbH?34992
|
||||||
|
:61:1909260926DR420,51NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+1325292693302220190926?2
|
||||||
|
125292693?22MREF+000001065754?23CRED+DE56LKK00000143200?24SVWZ+Be
|
||||||
|
itrag 09/19 00141651?2529 faellig 26.09.19 KRANKEN?26VERSICHERUNG
|
||||||
|
?27ABWA+Sozialversicherung fur?28 Landwirtschaft, Forsten un?29d?
|
||||||
|
30HELADEFFXXX?31DE61500500000040100059?32SVLFG Krankenkasse?34992
|
||||||
|
:61:1909260926CR220,00N062NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109249?20EREF+Cashback - 9660114?
|
||||||
|
21SVWZ+Cashback.CHECK24 sagt?22danke.?30COBADEFFXXX?31DE187004004
|
||||||
|
10275663301?32CHECK24.de
|
||||||
|
:62F:C190926EUR81870,14
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190926EUR81870,14
|
||||||
|
:61:1909300930DR100,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-09-27T19.44 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 159//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:61:1910010930DR3,99N024NONREF
|
||||||
|
:86:809?00ENTGELTABSCHLUSS?106666?20Entgeltabrechnung?21siehe Anl
|
||||||
|
age?3072051210
|
||||||
|
:61:1910010930CR0,00N066NONREF
|
||||||
|
:86:805?00ABSCHLUSS?106666?20Abrechnung 30.09.2019?21siehe Anlage
|
||||||
|
?3072051210
|
||||||
|
:62F:C190930EUR81766,15
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190930EUR81766,15
|
||||||
|
:61:1910011001DR540,07N012NONREF
|
||||||
|
:86:117?00DAUERAUFTRAG?107000?20SVWZ+RS-V-11-0055-1498-0523?21 P8
|
||||||
|
013011?30HYVEDEMM414?31DE54302201900323535205?32ARAG SE?34997
|
||||||
|
:61:1910011001DR580,00N012NONREF
|
||||||
|
:86:117?00DAUERAUFTRAG?107000?20SVWZ+Miete?30HYVEDEMMXXX?31DE8770
|
||||||
|
0202701640043438?32Karin M<>ller?34997
|
||||||
|
:62F:C191001EUR80646,08
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C191001EUR80646,08
|
||||||
|
:61:1910021002CR0,01N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Test cash transfer?
|
||||||
|
30BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl
|
||||||
|
:61:1910021002DR0,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-10-02T12.21.31.0
|
||||||
|
1?2194?22SVWZ+Test cash transfer?23DATUM 02.10.2019, 12.21 UHR?30
|
||||||
|
BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl?34997
|
||||||
|
:62F:C191002EUR80646,08
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C191002EUR80646,08
|
||||||
|
:61:1910031004CR8144,36N062NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109249?20EREF+674?21SVWZ+1908301/
|
||||||
|
EUR 8144.36/20?2219-10-02/...?30DRESDEFF700?31DE85700800000757304
|
||||||
|
200?32Device Insight GmbH
|
||||||
|
:62F:C191004EUR88790,44
|
||||||
|
-
|
|
@ -0,0 +1,435 @@
|
||||||
|
HIKAZ:7:5:3+@16075@
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190731EUR105823,58
|
||||||
|
:61:1908010801DR580,00N012NONREF
|
||||||
|
:86:117?00DAUERAUFTRAG?107000?20SVWZ+Miete?30HYVEDEMMXXX?31DE8770
|
||||||
|
0202701640043438?32Karin Müller?34997
|
||||||
|
:62F:C190801EUR105243,58
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190801EUR105243,58
|
||||||
|
:61:1908020802DR100,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-02T13.25 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 159//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190802EUR105143,58
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190802EUR105143,58
|
||||||
|
:61:1908070807DR19395,68NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+144/187/81344-----L020?2
|
||||||
|
18201900001251?22MREF+BY689135399618?23CRED+DE13ZZZ00000076365?24
|
||||||
|
SVWZ+STEUERNR 144/187/81344?25 EINK.ST 2018 19.395,68EUR?26ABWA+F
|
||||||
|
inanzamt Muenchen?30BYLADEMMXXX?31DE37700500000000024962?32Finanz
|
||||||
|
amt München - Erhebun?33g Finanzkasse?34992
|
||||||
|
:61:1908070807DR300,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-06T18.12 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 232//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190807EUR85447,90
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190807EUR85447,90
|
||||||
|
:61:1908080808DR150,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-07T18.38 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+MUENCHEN//KREISSPK. MU?23ENCHEN STARNBERG EB
|
||||||
|
ERSBERG/?24DE?30BYLADEM1KMS?31DE02702501509000481409?32KREISSPK.
|
||||||
|
MUENCHEN STARNBER?33G EBERSBERG?34003
|
||||||
|
:62F:C190808EUR85297,90
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190808EUR85297,90
|
||||||
|
:61:1908090809DR50,00N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20SVWZ+AUFLADUNG PAYPAL GUTH
|
||||||
|
A?21BEN GIROPAY0014400457SJZ34?22W66U2?23DATUM 08.08.2019, 22.30
|
||||||
|
UHR?241.TAN 936060?30GENODE61OG1?31DE76664900000009116702?32GIRO
|
||||||
|
SOLUTION FUER PAYPAL?34997
|
||||||
|
:61:1908090809CR36,06N062NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109249?20EREF+YYW1006309018143 PA
|
||||||
|
YPA?21L?30DEUTDEFFXXX?31DE88500700100175526303?32PayPal (Europe)
|
||||||
|
S.a.r.l. et?33 Cie., S.C.A.
|
||||||
|
:62F:C190809EUR85283,96
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190809EUR85283,96
|
||||||
|
:61:1908130813DR90,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-12T17.28 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 232//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190813EUR85193,96
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190813EUR85193,96
|
||||||
|
:61:1908140814DR24,00NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+3932191157543 -VK- 002?2
|
||||||
|
1106915289?22MREF+M00210691528900001?23CRED+DE3711000000030246?24
|
||||||
|
SVWZ+Kuernbergstr. 36 .3.MR?25, Abschlag Strom 08/2019 Be?26trag
|
||||||
|
24,00 Eur?30PBNKDEFFXXX?31DE50700100800014060800?32SWM Versorgung
|
||||||
|
s GmbH?34992
|
||||||
|
:61:1908140814DR300,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-13T19.59 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 159//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE41701500009000481409?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190814EUR84869,96
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190814EUR84869,96
|
||||||
|
:61:1908160816DR289,70NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+0033-BY-21190882D018-1?2
|
||||||
|
16082019?22MREF+RG63A20161109180225753?23017490?24CRED+DE14ZZZ000
|
||||||
|
00026683?25SVWZ+FW01 21190882D018 0819?30HYVEDEMMXXX?31DE33700202
|
||||||
|
700000081124?32DRV BAYERN SUeD?34992
|
||||||
|
:61:1908160816DR2002,90NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+144/187/81344-----L120?2
|
||||||
|
18201900033611?22MREF+BY689135399618?23CRED+DE13ZZZ00000076365?24
|
||||||
|
SVWZ+STEUERNR 144/187/81344?25 UMS.ST JUL.19 2.002,90EUR?26ABWA+F
|
||||||
|
inanzamt Muenchen?30BYLADEMMXXX?31DE37700500000000024962?32Finanz
|
||||||
|
amt München - Erhebun?33g Finanzkasse?34992
|
||||||
|
:62F:C190816EUR82577,36
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190816EUR82577,36
|
||||||
|
:61:1908190819DR1000,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-08-18T23.48 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 159//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE41701500009000481409?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:62F:C190819EUR81577,36
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190819EUR81577,36
|
||||||
|
:61:1908200820DR21,38NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+13027964922019?21MREF+M5
|
||||||
|
005132260002?22CRED+DE3505800000015150?23SVWZ+D-Nr M500513226, /I
|
||||||
|
NV/?24201907051420 vom 13.08.2019?25, TELEFONIE Juli 2019, Zahl?2
|
||||||
|
6B 1302796492?27ABWA+M-net Telek. GmbH?30BYLADEMMXXX?31DE74700500
|
||||||
|
000000028273?32M-net Telekommunikations Gm?33bH?34992
|
||||||
|
:62F:C190820EUR81555,98
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190820EUR81555,98
|
||||||
|
:61:1908210821CR15154,89N062NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109249?20EREF+211?21SVWZ+1907311/
|
||||||
|
31.07.2019/EUR?22 15154.89/2019-08-12/...?30DRESDEFF700?31DE85700
|
||||||
|
800000757304200?32Device Insight GmbH
|
||||||
|
:62F:C190821EUR96710,87
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190821EUR96710,87
|
||||||
|
:61:1908260826DR54,90NDDTNONREF
|
||||||
|
:86:105?00ERSTLASTSCHRIFT?109248?20EREF+1-11/366-3147882-178?21MR
|
||||||
|
EF+201042277?22CRED+DE97ZZZ00000169525?23SVWZ+RNR 90654410 V. 15.
|
||||||
|
08.?2419 BRU 54,90 Vielen Dank fu?25er Ihren Einkauf. shop.heis?2
|
||||||
|
6e.de?30PBNKDEFFXXX?31DE22250100300540160303?32Heise Medien GmbH
|
||||||
|
+ Co. KG?34991
|
||||||
|
:62F:C190826EUR96655,97
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190826EUR96655,97
|
||||||
|
:61:1908270827DR6,99NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+003809515790?21MREF+0200
|
||||||
|
013221814?22CRED+DE77ZZZ00000569719?23SVWZ+KD-Nr. K511159080/ RG-
|
||||||
|
?24Nr. 150563678193?30COBADEFFXXX?31DE97500400000589011600?321u1
|
||||||
|
Telecom GmbH?34992
|
||||||
|
:62F:C190827EUR96648,98
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190827EUR96648,98
|
||||||
|
:61:1908280828DR420,51NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+1325292693302220190828?2
|
||||||
|
125292693?22MREF+000001065754?23CRED+DE56LKK00000143200?24SVWZ+Be
|
||||||
|
itrag 08/19 00141651?2529 faellig 28.08.19 KRANKEN?26VERSICHERUNG
|
||||||
|
?27ABWA+Sozialversicherung fur?28 Landwirtschaft, Forsten un?29d?
|
||||||
|
30HELADEFFXXX?31DE61500500000040100059?32SVLFG Krankenkasse?34992
|
||||||
|
:61:1908280828DR70,43N033NONREF
|
||||||
|
:86:118?00ECHTZEIT-UEBERWEISUNG?109310?20SVWZ+Bestellung Nummer.
|
||||||
|
344?21253 DATUM 28.08.2019, 08.30?22 UHR 1.TAN 073873?30DEUTDEDB5
|
||||||
|
95?31DE06590700700017905101?32EXP GmbH?34997
|
||||||
|
:62F:C190828EUR96158,04
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190828EUR96158,04
|
||||||
|
:61:1908280829DR10,00N033NONREF
|
||||||
|
:86:118?00ECHTZEIT-UEBERWEISUNG?109310?20SVWZ+Fußball DATUM 28.08
|
||||||
|
.20?2119, 23.44 UHR 1.TAN 726220?30GENODEF1AUB?31DE61720900000005
|
||||||
|
610036?32Michael Port?34997
|
||||||
|
:62F:C190829EUR96148,04
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190829EUR96148,04
|
||||||
|
:61:1909010830DR3,99N024NONREF
|
||||||
|
:86:809?00ENTGELTABSCHLUSS?106666?20Entgeltabrechnung?21siehe Anl
|
||||||
|
age?3072051210
|
||||||
|
:62F:C190830EUR96144,05
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190830EUR96144,05
|
||||||
|
:61:1909020902DR580,00N012NONREF
|
||||||
|
:86:117?00DAUERAUFTRAG?107000?20SVWZ+Miete?30HYVEDEMMXXX?31DE8770
|
||||||
|
0202701640043438?32Karin Müller?34997
|
||||||
|
:62F:C190902EUR95564,05
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190902EUR95564,05
|
||||||
|
:61:1909130913DR289,70NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+0034-BY-21190882D018-1?2
|
||||||
|
13092019?22MREF+RG63A20161109180225753?23017490?24CRED+DE14ZZZ000
|
||||||
|
00026683?25SVWZ+FW01 21190882D018 0919?30HYVEDEMMXXX?31DE33700202
|
||||||
|
700000081124?32DRV BAYERN SUeD?34992
|
||||||
|
:62F:C190913EUR95274,35
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190913EUR95274,35
|
||||||
|
:61:1909160916DR24,00NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+3938148326034 -VK- 002?2
|
||||||
|
1106915289?22MREF+M00210691528900001?23CRED+DE3711000000030246?24
|
||||||
|
SVWZ+Kuernbergstr. 36 .3.MR?25, Abschlag Strom 09/2019 Be?26trag
|
||||||
|
24,00 Eur?30PBNKDEFFXXX?31DE50700100800014060800?32SWM Versorgung
|
||||||
|
s GmbH?34992
|
||||||
|
:61:1909160916DR13001,62NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+144/187/81344-----L110?2
|
||||||
|
19201900117661?22MREF+BY689135399618?23CRED+DE13ZZZ00000076365?24
|
||||||
|
SVWZ+STEUERNR 144/187/81344?25 EINK.ST 3VJ.19 10.627,00EU?26R UMS
|
||||||
|
.ST AUG.19 2.374,62EUR?27ABWA+Finanzamt Muenchen?30BYLADEMMXXX?31
|
||||||
|
DE37700500000000024962?32Finanzamt München - Erhebun?33g Finanzka
|
||||||
|
sse?34992
|
||||||
|
:62F:C190916EUR82248,73
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190916EUR82248,73
|
||||||
|
:61:1909180918DR100,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-09-17T14.20 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 061//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:61:1909180918CR0,01N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Test cash transfer?
|
||||||
|
30BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl
|
||||||
|
:61:1909180918DR0,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T14.59.01.0
|
||||||
|
2?2175?22SVWZ+Test cash transfer?23DATUM 18.09.2019, 14.59 UHR?30
|
||||||
|
BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl?34997
|
||||||
|
:61:1909180918CR0,01N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Test cash transfer
|
||||||
|
2?30BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl
|
||||||
|
:61:1909180918DR0,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T17.41.08.0
|
||||||
|
7?2154?22SVWZ+Test cash transfer 2?23DATUM 18.09.2019, 17.41 UHR?
|
||||||
|
30BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl?34997
|
||||||
|
:62F:C190918EUR82148,73
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190918EUR82148,73
|
||||||
|
:61:1909190919CR51,00N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Let's go big test?3
|
||||||
|
0BYLADEM1AIC?31DE11720512100560165557?32CHRISTIAN DANKL
|
||||||
|
:61:1909190919DR51,00N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T20.35.38.0
|
||||||
|
6?2130?22SVWZ+Let's go big test?23DATUM 18.09.2019, 20.35 UHR?30B
|
||||||
|
YLADEM1AIC?31DE11720512100560165557?32Christian Dankl?34997
|
||||||
|
:61:1909190919CR101,00N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Let's go big test 2
|
||||||
|
?30BYLADEM1AIC?31DE11720512100560165557?32CHRISTIAN DANKL
|
||||||
|
:61:1909190919DR101,00N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T20.36.07.0
|
||||||
|
4?2135?22SVWZ+Let's go big test 2?23DATUM 18.09.2019, 20.36 UHR?3
|
||||||
|
0BYLADEM1AIC?31DE11720512100560165557?32CHRISTIAN DANKL?34997
|
||||||
|
:61:1909190919DR0,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-18T20.39.01.0
|
||||||
|
0?2101?22SVWZ+Testueberweisung?23DATUM 18.09.2019, 20.39 UHR?30BE
|
||||||
|
LADEBEXXX?31DE32100500006016708591?32Marieke Schmidt?34997
|
||||||
|
:61:1909190919DR30,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-19T00.20.19.0
|
||||||
|
8?2137?22SVWZ+Fussball?23DATUM 19.09.2019, 00.20 UHR?241.TAN 3795
|
||||||
|
05?30GENODEF1AUB?31DE61720900000005610036?32Michael Port?34997
|
||||||
|
:61:1909190919DR9,07NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109200?20EREF+13030203282019?21MREF+M5
|
||||||
|
005132260002?22CRED+DE3505800000015150?23SVWZ+D-Nr M500513226, /I
|
||||||
|
NV/?24201908051258 vom 12.09.2019?25, TELEFONIE August 2019, Za?2
|
||||||
|
6hlB 1303020328?27ABWA+M-net Telek. GmbH?30BYLADEMMXXX?31DE747005
|
||||||
|
00000000028273?32M-net Telekommunikations Gm?33bH?34992
|
||||||
|
:62F:C190919EUR82109,64
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190919EUR82109,64
|
||||||
|
:61:1909230923DR32,00N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-09-22T12.52.39.0
|
||||||
|
4?2135?22SVWZ+Bayernticket nächste W?23oche?24DATUM 22.09.2019, 1
|
||||||
|
2.52 UHR?251.TAN 293047?30BELADEBEXXX?31DE32100500006016708591?32
|
||||||
|
Marieke Schmidt?34997
|
||||||
|
:62F:C190923EUR82077,64
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190923EUR82077,64
|
||||||
|
:61:1909260926DR6,99NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+005181496989?21MREF+0200
|
||||||
|
013221814?22CRED+DE77ZZZ00000569719?23SVWZ+KD-Nr. K511159080/ RG-
|
||||||
|
?24Nr. 150571431714?30COBADEFFXXX?31DE97500400000589011600?321u1
|
||||||
|
Telecom GmbH?34992
|
||||||
|
:61:1909260926DR420,51NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+1325292693302220190926?2
|
||||||
|
125292693?22MREF+000001065754?23CRED+DE56LKK00000143200?24SVWZ+Be
|
||||||
|
itrag 09/19 00141651?2529 faellig 26.09.19 KRANKEN?26VERSICHERUNG
|
||||||
|
?27ABWA+Sozialversicherung fur?28 Landwirtschaft, Forsten un?29d?
|
||||||
|
30HELADEFFXXX?31DE61500500000040100059?32SVLFG Krankenkasse?34992
|
||||||
|
:61:1909260926CR220,00N062NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109249?20EREF+Cashback - 9660114?
|
||||||
|
21SVWZ+Cashback.CHECK24 sagt?22danke.?30COBADEFFXXX?31DE187004004
|
||||||
|
10275663301?32CHECK24.de
|
||||||
|
:62F:C190926EUR81870,14
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190926EUR81870,14
|
||||||
|
:61:1909300930DR100,00N032NONREF
|
||||||
|
:86:106?00BARGELDAUSZAHLUNG?109200?20SVWZ+2019-09-27T19.44 Debit?
|
||||||
|
21k.3 2019-12?22ABWA+FL 159//STADTSPARKASSE?23 MUENCHEN/DE?30SSKM
|
||||||
|
DEMMXXX?31DE19701500009000481417?32STADTSPARKASSE MUENCHEN?34003
|
||||||
|
:61:1910010930DR3,99N024NONREF
|
||||||
|
:86:809?00ENTGELTABSCHLUSS?106666?20Entgeltabrechnung?21siehe Anl
|
||||||
|
age?3072051210
|
||||||
|
:61:1910010930CR0,00N066NONREF
|
||||||
|
:86:805?00ABSCHLUSS?106666?20Abrechnung 30.09.2019?21siehe Anlage
|
||||||
|
?3072051210
|
||||||
|
:62F:C190930EUR81766,15
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C190930EUR81766,15
|
||||||
|
:61:1910011001DR540,07N012NONREF
|
||||||
|
:86:117?00DAUERAUFTRAG?107000?20SVWZ+RS-V-11-0055-1498-0523?21 P8
|
||||||
|
013011?30HYVEDEMM414?31DE54302201900323535205?32ARAG SE?34997
|
||||||
|
:61:1910011001DR580,00N012NONREF
|
||||||
|
:86:117?00DAUERAUFTRAG?107000?20SVWZ+Miete?30HYVEDEMMXXX?31DE8770
|
||||||
|
0202701640043438?32Karin Müller?34997
|
||||||
|
:62F:C191001EUR80646,08
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C191001EUR80646,08
|
||||||
|
:61:1910021002CR0,01N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Test cash transfer?
|
||||||
|
30BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl
|
||||||
|
:61:1910021002DR0,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-10-02T12.21.31.0
|
||||||
|
1?2194?22SVWZ+Test cash transfer?23DATUM 02.10.2019, 12.21 UHR?30
|
||||||
|
BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl?34997
|
||||||
|
:62F:C191002EUR80646,08
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C191002EUR80646,08
|
||||||
|
:61:1910031004CR8144,36N062NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109249?20EREF+674?21SVWZ+1908301/
|
||||||
|
EUR 8144.36/20?2219-10-02/...?30DRESDEFF700?31DE85700800000757304
|
||||||
|
200?32Device Insight GmbH
|
||||||
|
:62F:C191004EUR88790,44
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C191004EUR88790,44
|
||||||
|
:61:1910071007CR0,01N061NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109310?20SVWZ+Give it to me baby?
|
||||||
|
30BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl
|
||||||
|
:61:1910071007DR0,01N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20KREF+2019-10-07T11.58.24.0
|
||||||
|
3?2128?22SVWZ+Give it to me baby?23DATUM 07.10.2019, 15.38 UHR?30
|
||||||
|
BYLADEM1AIC?31DE11720512100560165557?32Christian Dankl?34997
|
||||||
|
:62F:C191007EUR88790,44
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C191007EUR88790,44
|
||||||
|
:61:1910081008CR2,56N062NONREF
|
||||||
|
:86:166?00GUTSCHR. UEBERWEISUNG?109201?20EREF+144/187/81344 UMS.G
|
||||||
|
041?210201907570045?22SVWZ+ERSTATT.144/187/81344?23UMS.ST SEP.19
|
||||||
|
2,56 EUR?24ABWA+FINANZAMT MUENCHEN?30BYLADEMMXXX?31DE377005000000
|
||||||
|
00024962?32Finanzamt München - Erhebun?33g Finanzkasse
|
||||||
|
:62F:C191008EUR88793,00
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C191008EUR88793,00
|
||||||
|
:61:1910101010DR70,00N033NONREF
|
||||||
|
:86:177?00ONLINE-UEBERWEISUNG?109310?20SVWZ+AUFLADUNG PAYPAL GUTH
|
||||||
|
A?21BEN GIROPAY0014400457SK1JL?220Y472?23DATUM 09.10.2019, 20.06
|
||||||
|
UHR?241.TAN 680663?30GENODE61OG1?31DE76664900000009116702?32GIRO
|
||||||
|
SOLUTION FUER PAYPAL?34997
|
||||||
|
:62F:C191010EUR88723,00
|
||||||
|
-
|
||||||
|
:20:STARTUMSE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:60F:C191010EUR88723,00
|
||||||
|
:61:1910111011DR289,70NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+0035-BY-21190882D018-1?2
|
||||||
|
11102019?22MREF+RG63A20161109180225753?23017490?24CRED+DE14ZZZ000
|
||||||
|
00026683?25SVWZ+FW01 21190882D018 1019?30HYVEDEMMXXX?31DE33700202
|
||||||
|
700000081124?32DRV BAYERN SUeD?34992
|
||||||
|
:62F:C191011EUR88433,30
|
||||||
|
-+@438@
|
||||||
|
:20:STARTDISPE
|
||||||
|
:25:72051210/0560165557
|
||||||
|
:28C:00000/001
|
||||||
|
:34F:EURD24,00
|
||||||
|
:13:1910121425
|
||||||
|
:61:1910141010DR24,00NDDTNONREF
|
||||||
|
:86:105?00FOLGELASTSCHRIFT?109248?20EREF+3931191467398 -VK- 002?2
|
||||||
|
1106915289?22MREF+M00210691528900001?23CRED+DE3711000000030246?24
|
||||||
|
SVWZ+Kuernbergstr. 36 .3.MR?25, Abschlag Strom 10/2019 Be?26trag
|
||||||
|
24,00 Eur?30PBNKDEFFXXX?31DE50700100800014060800?32SWM Versorgung
|
||||||
|
s GmbH?34992
|
||||||
|
:90D:1EUR24,00
|
||||||
|
:90C:0EUR0,00
|
||||||
|
-'
|
Loading…
Reference in New Issue