""" Options: Date: 2026-05-09 18:01:21 Version: 6.110 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://ws4.fibudata.net #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: OnlinehandelEcommerceAufstellungRequest.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum class Onlinehandel_Enum_Dateityp(str, Enum): AR = 'AR' ZA = 'ZA' A_R__FREMD = 'AR_Fremd' BANKZAHLUNG = 'Bankzahlung' FOLGEMONAT_A_R = 'FolgemonatAR' OFFENE_POSTEN = 'OffenePosten' WARENBEWEGUNGEN = 'Warenbewegungen' FOLGEMONAT_A_R_MANUELL = 'FolgemonatARManuell' COMMINGLING = 'Commingling' ABGLEICH_DATEI = 'AbgleichDatei' WARENBESTAND = 'Warenbestand' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class onlinehandel_datei(IPrimaryKey, IMandnr, IDel, ITableBase): id: Optional[int] = None mandant: Optional[int] = None bankindex: Optional[int] = None del_: Optional[int] = field(metadata=config(field_name='del'), default=None) dateiname: Optional[str] = None kopf_hash: Optional[str] = None betragskonvertierung: Optional[int] = None datumskonvertierung: Optional[int] = None trennzeichen: Optional[str] = None originalname: Optional[str] = None textcodierung: Optional[int] = None dateityp: Optional[int] = None kopfspalte_vorhanden: Optional[int] = None dateiinhalt: Optional[str] = None _erstellt: Optional[datetime.datetime] = None _aenderung: Optional[datetime.datetime] = None _checked: Optional[datetime.datetime] = None originaldatei: Optional[bytes] = None anfangsdatum: Optional[datetime.datetime] = None enddatum: Optional[datetime.datetime] = None positionen_anzahl: Optional[int] = None betragssumme: Optional[Decimal] = None abrechnung_id: Optional[int] = None offene_positionen_id: Optional[int] = None bemerkung: Optional[str] = None guid: Optional[str] = None naechste_datei_id: Optional[int] = None letzte_datei_id: Optional[int] = None id2_text: Optional[str] = None kopf_faengt_mit: Optional[str] = None muster: Optional[int] = None schnittstelle: Optional[int] = None subpfad: Optional[str] = None originaldateiname: Optional[str] = None dateiinhalt_pfad: Optional[str] = None anfangssaldo: Optional[Decimal] = None endsaldo: Optional[Decimal] = None aktueller_saldo: Optional[Decimal] = None json_data: Optional[str] = None waehrung: Optional[str] = None # @Ignore() primary_key: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class bankdaten(IPrimaryKey, IBankindex, IPKindex, IDel): datenindex: Optional[int] = None bankindex: Optional[int] = None text: Optional[str] = None datum: Optional[datetime.datetime] = None betrag: Optional[Decimal] = None erfasst: Optional[datetime.datetime] = None bnr: Optional[int] = None auftraggeber: Optional[str] = None auftraggeber_b_l_z: Optional[str] = None auftraggeber_kto: Optional[str] = None buchungstyp: Optional[str] = None buchungstext: Optional[str] = None verbucht: Optional[datetime.datetime] = None pkonto_i_d: Optional[int] = None fälligkeit: Optional[datetime.datetime] = None ktr: Optional[int] = None rnr: Optional[str] = None transfer: Optional[int] = None info: Optional[int] = None del_: Optional[int] = field(metadata=config(field_name='del'), default=None) az: Optional[int] = None vorlaufnr: Optional[int] = None infotxt: Optional[str] = None briefktxt: Optional[str] = None briefkvorl: Optional[int] = None skontoeuro: Optional[Decimal] = None mahnstufe: Optional[int] = None mahndatum: Optional[datetime.datetime] = None dta: Optional[int] = None eingangdatum: Optional[datetime.datetime] = None file: Optional[int] = None volltext: Optional[str] = None ausgeblendet: Optional[int] = None zurueckgesetzt: Optional[int] = None faelligkeit: Optional[int] = None faelligkeit_s_k: Optional[int] = None bankindex_tr: Optional[int] = None i_d__verrechnung: Optional[int] = None i_d__transfer: Optional[int] = None i_d__lokal: Optional[int] = None originalauszug: Optional[int] = None is_skonto_ausbuchung: Optional[int] = None ablaufdatum: Optional[datetime.datetime] = None dokumentenart: Optional[str] = None archivstruktur: Optional[str] = None zeitstempel: Optional[str] = None ocranalyse: Optional[str] = None fremdguid: Optional[str] = None is_einbehalt: Optional[int] = None barcode: Optional[str] = None is_freigabe: Optional[int] = None ustmerkmal: Optional[str] = None kein_o_p: Optional[int] = None i_d__wiederkehrend: Optional[int] = None bearbeiter: Optional[str] = None # @Ignore() primary_key: Optional[int] = None # @Ignore() pk_index: Optional[int] = None # @Ignore() del_: Optional[int] = field(metadata=config(field_name='del'), default=None) class Spaltenkonfiguration(str, Enum): ORDERI_D = 'OrderiD' BETRAG = 'Betrag' GEBUEHR_EXTRA = 'GebuehrExtra' GEBUEHR_INKL = 'GebuehrInkl' BETRAGX_1 = 'Betragx_1' GEBUEHR_EXTRA_X_1 = 'Gebuehr_extra_x_1' GEBUEHR_INKL__X_1 = 'GebuehrInkl_X_1' WAEHRUNG = 'Waehrung' ID = 'ID' SONSTIGES = 'Sonstiges' DATUM = 'Datum' BUCHUNGSTEXT = 'Buchungstext' ZAHLBETRAG = 'Zahlbetrag' ZAHLART = 'Zahlart' I_D1 = 'ID1' I_D2 = 'ID2' MENGE = 'Menge' U_ST = 'USt' I_D_INTERN = 'ID_intern' U_ST__I_D = 'USt_ID' BRUTTO_WAEHRUNG = 'BruttoWaehrung' KURS = 'Kurs' I_D__URSPRUNG = 'ID_Ursprung' WAEHRUNGSFAKTOR__E_U_R__WAEHRUNG = 'Waehrungsfaktor_EUR_Waehrung' WAEHRUNGSFAKTOR__WAEHRUNG__E_U_R = 'Waehrungsfaktor_Waehrung_EUR' SOLL__HABEN = 'Soll_Haben' VOLLTEXT = 'Volltext' SONSTIGES_OHNE_VOLLTEXT = 'SonstigesOhneVolltext' KURS_DATUM = 'KursDatum' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OnlinehandelItem: fehler: bool = False original: Optional[str] = None header: Optional[str] = None col_nummer: int = 0 konfiguration: Optional[Spaltenkonfiguration] = None summenkonfiguration: bool = False value: Optional[Object] = None datum: Optional[datetime.datetime] = None zahl: Decimal = decimal.Decimal(0) datum_string: Optional[str] = None zahl_string: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Onlinehandel_Index_Datensatz_Model: menge: Decimal = decimal.Decimal(0) datei__index: int = 0 zeile__index: int = 0 datei_guid: Optional[str] = None typ__a_r__z_a: Optional[Onlinehandel_Enum_Dateityp] = None zeile__item: Optional[List[OnlinehandelItem]] = None parse_i_d: Optional[str] = None zeile__zahlsystem: Optional[str] = None i_d__liste: Optional[List[str]] = None is_bearbeitet: int = 0 geparsed_guid: Optional[str] = None datum: Optional[datetime.datetime] = None buchungstext: Optional[str] = None zuzahlender_betrag: Decimal = decimal.Decimal(0) zahlbetrag: Decimal = decimal.Decimal(0) dateiname: Optional[str] = None kurs: Decimal = decimal.Decimal(0) bruttowährung: Decimal = decimal.Decimal(0) treffer_stelle: int = 0 treffer_info: Optional[str] = None volltext: Optional[str] = None i_d__all__liste: Optional[List[str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class mandtalk(IPrimaryKey, ITableBase, IMandnr, IDel, INutzerid): id: Optional[int] = None _erstellt: Optional[datetime.datetime] = None _aenderung: Optional[datetime.datetime] = None mandant: Optional[int] = None guid: Optional[str] = None benutzer_id: Optional[int] = None datenindex: Optional[int] = None erledigt: Optional[datetime.datetime] = None von: Optional[str] = None meldung: Optional[str] = None vorlage_id: Optional[int] = None del_: Optional[int] = field(metadata=config(field_name='del'), default=None) intern: Optional[int] = None token: Optional[str] = None typ: Optional[int] = None anzahl_ungelesener_chats: Optional[int] = None letztes_chat_datum: Optional[datetime.datetime] = None mandtalk_channel: Optional[int] = None mandtalk_channel_source_id: Optional[int] = None archivstruktur_id: Optional[int] = None zugeordnete_nutzer_id: Optional[int] = None # @Ignore() primary_key: Optional[int] = None # @Ignore() nutzerid: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Onlinehandel_Buchungsmanager_Model_ws: betrag: Decimal = decimal.Decimal(0) datum: Optional[datetime.datetime] = None ids: Optional[str] = None buchungstext: Optional[str] = None buchung: Optional[str] = None betrag_typ: Optional[str] = None sonstiges: Optional[str] = None u_st__i_d: Optional[str] = None u_st__i_d__nr: Optional[str] = None parsing__typ: Optional[str] = None betrag_enum: Optional[Spaltenkonfiguration] = None zahlart: Optional[str] = None online_handel_item__d_b: Optional[Onlinehandel_Index_Datensatz_Model] = None geparsed_guid: Optional[str] = None datei_typ: Optional[str] = None is_parsed_betrag: bool = False parsing__betrag: Decimal = decimal.Decimal(0) is_bankausgleich: bool = False order_i_d: Optional[str] = None menge: Decimal = decimal.Decimal(0) info: Optional[str] = None obm_model: Optional[Onlinehandel_Buchungsmanager_Model_ws] = None beträge: Optional[str] = None zeile: int = 0 guid: Optional[str] = None talk_id: Optional[int] = None talk: Optional[mandtalk] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Onlinehandel_Buchungsmanager_downgrade_Model_ws: betrag: Decimal = decimal.Decimal(0) datum: Optional[datetime.datetime] = None ids: Optional[str] = None buchungstext: Optional[str] = None buchung: Optional[str] = None betrag_typ: Optional[str] = None sonstiges: Optional[str] = None u_st__i_d: Optional[str] = None u_st__i_d__nr: Optional[str] = None parsing__typ: Optional[str] = None betrag_enum: Optional[Spaltenkonfiguration] = None zahlart: Optional[str] = None online_handel_item__d_bxx: Optional[Onlinehandel_Index_Datensatz_Model] = None geparsed_guid: Optional[str] = None datei_typ: Optional[str] = None is_parsed_betrag: bool = False parsing__betrag: Decimal = decimal.Decimal(0) is_bankausgleich: bool = False order_i_d: Optional[str] = None menge: Decimal = decimal.Decimal(0) info: Optional[str] = None beträge: Optional[str] = None zeile: int = 0 guid: Optional[str] = None datei__index: int = 0 is_bearbeitet: int = 0 zeile__zahlsystem: Optional[str] = None zeile__index: int = 0 i_d_intern: Optional[int] = None talk_id: Optional[int] = None talk: Optional[mandtalk] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OnlinehandelAbrechnungBuchungskreisModel: bezeichnung: Optional[str] = None spezial: Optional[str] = None anzahl: int = 0 anzahl_minuten: int = 0 onlinehandel_datei__d_b: Optional[onlinehandel_datei] = None buchungs_liste: Optional[List[Onlinehandel_Buchungsmanager_Model_ws]] = None dateieinträge: Optional[List[Onlinehandel_Buchungsmanager_Model_ws]] = None buchungs_liste_down: Optional[List[Onlinehandel_Buchungsmanager_downgrade_Model_ws]] = None dateieinträge_down: Optional[List[Onlinehandel_Buchungsmanager_downgrade_Model_ws]] = None bank_i_d: int = 0 liste_bankdaten: Optional[List[bankdaten]] = None class IPrimaryKey: primary_key: Optional[int] = None class IMandnr: mandant: Optional[int] = None class IDel: del_: Optional[int] = field(metadata=config(field_name='del'), default=None) class ITableBase: id: Optional[int] = None _erstellt: Optional[datetime.datetime] = None _aenderung: Optional[datetime.datetime] = None class INutzerid: nutzerid: Optional[int] = None class IPKindex: pk_index: Optional[int] = None class IBankindex: bankindex: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OnlinehandelEcommerceAufstellungResponse: summe__betrag: Decimal = decimal.Decimal(0) _summe_minuten: Decimal = decimal.Decimal(0) result_berechnung: Optional[str] = None _buchungskreis_kalk: Optional[List[OnlinehandelAbrechnungBuchungskreisModel]] = None clip_board: Optional[str] = None _buchungsgruppe_list_dic: Optional[Dict[int, List[Onlinehandel_RegelwerkGruppenModel]]] = None _onlinehandel_liste: Optional[List[onlinehandel_datei]] = None _detail_liste: Optional[Dict[int, List[Onlinehandel_RegelwerkDetailModel]]] = None # @Route("/fibuscan/Onlinehandel/EcommerceAufstellung", "GET, POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OnlinehandelEcommerceAufstellungRequest(IReturn[OnlinehandelEcommerceAufstellungResponse]): id: int = 0