From 500fdee9d7e16dc235f7123f7883eb0186fc2ebc Mon Sep 17 00:00:00 2001 From: Stefan Grushko Date: Wed, 3 Apr 2024 22:41:50 +0200 Subject: [PATCH] breaking: Add Shopify GPC config, changed Order ID parsing Changed Order ID parsing to remove everything except for numbers and '-' Resolves #75 --- .../Transactions/TransactionsReader.cs | 4 +- ...ndConvertsTransactions_Paypal.verified.txt | 200 +++++++++--------- ...dConvertsTransactions_Shopify.verified.txt | 34 +++ .../IntegrationTests.cs | 6 + .../TestData/Shopify.csv | 34 +++ Mapp.UI/Mapp.UI.csproj | 2 +- ...CM.json => TransactionsConfigShopify.json} | 2 - 7 files changed, 178 insertions(+), 104 deletions(-) create mode 100644 Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.ConvertTransactions_ParsesAndConvertsTransactions_Shopify.verified.txt create mode 100644 Mapp.BusinessLogic.Transactions.Tests/TestData/Shopify.csv rename Mapp.UI/Transactions Configs/{TransactionsConfigShopPayCM.json => TransactionsConfigShopify.json} (99%) diff --git a/Mapp.BusinessLogic.Invoices/Transactions/TransactionsReader.cs b/Mapp.BusinessLogic.Invoices/Transactions/TransactionsReader.cs index d763cd2..cfb8658 100644 --- a/Mapp.BusinessLogic.Invoices/Transactions/TransactionsReader.cs +++ b/Mapp.BusinessLogic.Invoices/Transactions/TransactionsReader.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Numerics; using System.Text; using System.Text.RegularExpressions; using AutoMapper; @@ -114,12 +115,13 @@ private IEnumerable ReadTransactions(string fileName) { string columnNameKey = validLines[0][columnIndex].Trim(); //tolower? transactionsDict.Add(columnNameKey, validLines.Skip(1).Select(l => l[columnIndex]).ToArray()); - } + } var transactions = new List(); for (int index = 0; index < transactionsDict.First().Value.Count(); index++) { string orderId = transactionsDict[marketPlaceSetting.OrderIdColumnName][index]; + orderId = new string(orderId.ToCharArray().Where(c => char.IsDigit(c) || c == '-').ToArray()); // we only need to take numbers, since for Shoppify order is smth like #3214, however '-' should be ok if (string.IsNullOrEmpty(orderId)) orderId = "0000000000000000000"; diff --git a/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.ConvertTransactions_ParsesAndConvertsTransactions_Paypal.verified.txt b/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.ConvertTransactions_ParsesAndConvertsTransactions_Paypal.verified.txt index 4b66118..f999eb9 100644 --- a/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.ConvertTransactions_ParsesAndConvertsTransactions_Paypal.verified.txt +++ b/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.ConvertTransactions_ParsesAndConvertsTransactions_Paypal.verified.txt @@ -1,101 +1,101 @@ 0740000002001353907Czech Goods s.r.o. 01111900000013280900+00000016514842+000000461730770000000494070190011300424FIO -075000000200135392100000000000000000000000000000000000014425242Y551701G000000000000000000000000006CP060942Y551701G00000124011020 -07500000020013539210000000000000000000000000000000000000119424UJ3001204000000000000000000000000008AP69374UJ300120400000124011020 -07500000020013539210000000000000000000000000000000000000839528VN8497449000000000000000000000000009RT47188VN849744900000124011020 -07500000020013539210000000000000000000000000000000000000249823HJ517381C000000000000000000000000002Y211373HJ517381C00000124011020 -07500000020013539210000000000000000000000000000000000000559927504385014000000000000000000000000007VT1356750438501400000124011020 -07500000020013539210000000000000000000000000000000000000459920WX12197490000000000000000000000000079024140WX121974900000124011020 -07500000020013539210000000000000000000000000000000000000169824A1688552K000000000000000000000000002NN29244A1688552K00000124011020 -0750000002001353921000000000000000000000000000000000000036982755718351K000000000000000000000000009N72286755718351K00000124021020 -07500000020013539210000000000000000000000000000000000000612225FF607034E000000000000000000000000008T503315FF607034E00000124031020 -075000000200135392100000000000000000000000000000000000001298202C46474190000000000000000000000000084T074302C464741900000124031020 -07500000020013539210000000000000000000000000000000000000229825NK95330220000000000000000000000000081545465NK953302200000124031020 -07500000020013539210000000000000000000000000000000000000169824DD2731031000000000000000000000000006L605564DD273103100000124051020 -07500000020013539210000000000000000000000000000000000000449822GC0089022000000000000000000000000003PW83902GC008902200000124061020 -07500000020013539210000000000000000000000000000000000000399522SU609073A0000000000000000000000000037N43472SU609073A00000124061020 -0750000002001353921000000000000000000000000000000000000026982333959202M000000000000000000000000009V13608333959202M00000124061020 -07500000020013539210000000000000000000000000000000000000119822TT5814520000000000000000000000000004H220082TT581452000000124071020 -075000000200135392100000000000000000000000000000000000002825290M235144R000000000000000000000000001CY846590M235144R00000124071020 -07500000020013539210000000000000000000000000000000000000589722YG543352E0000000000000000000000000050422352YG543352E00000124081020 -07500000020013539210000000000000000000000000000000000000319421TK592734R0000000000000000000000000077S52531TK592734R00000124081020 -07500000020013539210000000000000000000000000000000000000149829AK965794U0000000000000000000000000066912449AK965794U00000124081020 -07500000020013539210000000000000000000000000000000000000449422D70480125000000000000000000000000004BW62712D7048012500000124091020 -07500000020013539210000000000000000000000000000000000000149422HP916203T0000000000000000000000000066K48502HP916203T00000124091020 -075000000200135392100000000000000000000000000000000000014889285R910193R000000000000000000000000005YP101385R910193R00000124091020 -075000000200135392100000000000000000000000000000000000001298294K233273A000000000000000000000000004LF224794K233273A00000124091020 -07500000020013539210000000000000000000000000000000000000822524W1411463T000000000000000000000000000MB45834W1411463T00000124101020 -075000000200135392100000000000000000000000000000000000002698223R7444142000000000000000000000000008SG722023R744414200000124101020 -07500000020013539210000000000000000000000000000000000000749824XW8390227000000000000000000000000006WP82034XW839022700000124101020 -0750000002001353921000000000000000000000000000000000000084942149410494W000000000000000000000000000KR7058149410494W00000124101020 -07500000020013539210000000000000000000000000000000000000199422XH516461K000000000000000000000000002BD20212XH516461K00000124101020 -07500000020013539210000000000000000000000000000000000000869826UH36698150000000000000000000000000056K20516UH366981500000124111020 -07500000020013539210000000000000000000000000000000000000354727DW207394B000000000000000000000000009F308517DW207394B00000124111020 -075000000200135392100000000000000000000000000000000000008698282U566753U000000000000000000000000001A3041582U566753U00000124111020 -07500000020013539210000000000000000000000000000000000001299627LN0389033000000000000000000000000003MA72627LN038903300000124121020 -07500000020013539210000000000000000000000000000000000000179829G3994664H0000000000000000000000000081J89919G3994664H00000124121020 -07500000020013539210000000000000000000000000000000000000249427RH10139300000000000000000000000000045873677RH101393000000124121020 -07500000020013539210000000000000000000000000000000000000269829R9825445C000000000000000000000000007UM76759R9825445C00000124131020 -07500000020013539210000000000000000000000000000000000000439827Y0556035D000000000000000000000000003B829587Y0556035D00000124131020 -07500000020013539210000000000000000000000000000000000000139823MN8928616000000000000000000000000002NF49223MN892861600000124141020 -07500000020013539210000000000000000000000000000000000000159920X47242239000000000000000000000000009BE54030X4724223900000124141020 -07500000020013539210000000000000000000000000000000000000149827UA512954H0000000000000000000000000083K36707UA512954H00000124141020 -07500000020013539210000000000000000000000000000000000000299421UF385230F000000000000000000000000002J110681UF385230F00000124141020 -07500000020013539210000000000000000000000000000000000000209824KL998432F000000000000000000000000008J930784KL998432F00000124151020 -07500000020013539210000000000000000000000000000000000000583826V41518125000000000000000000000000008R874306V4151812500000124151020 -075000000200135392100000000000000000000000000000000000001598279U367520S000000000000000000000000001DN568579U367520S00000124151020 -0750000002001353921000000000000000000000000000000000000011982185080614D000000000000000000000000006AS0831185080614D00000124151020 -075000000200135392100000000000000000000000000000000000001994227L667673R000000000000000000000000003M8098627L667673R00000124161020 -07500000020013539210000000000000000000000000000000000000439821HE928425K000000000000000000000000008L043871HE928425K00000124171020 -07500000020013539210000000000000000000000000000000000000388823CY6803207000000000000000000000000000AC53123CY680320700000124171020 -0750000002001353921000000000000000000000000000000000000031982703688980W000000000000000000000000007SA5008703688980W00000124171020 -07500000020013539210000000000000000000000000000000000000599825CV156153F000000000000000000000000002W937165CV156153F00000124171020 -07500000020013539210000000000000000000000000000000000000319426E65407840000000000000000000000000007JK65746E6540784000000124201020 -07500000020013539210000000000000000000000000000000000000249821TN8071153000000000000000000000000009E606631TN807115300000124201020 -075000000200135392100000000000000000000000000000000000001198212332081290000000000000000000000000078G0043123320812900000124201020 -07500000020013539210000000000000000000000000000000000000119826AP327382X000000000000000000000000001KL66416AP327382X00000124201020 -075000000200135392100000000000000000000000000000000000001194241P4190247000000000000000000000000000FG059041P419024700000124201020 -07500000020013539210000000000000000000000000000000000000119821NS656594Y000000000000000000000000003LN61591NS656594Y00000124201020 -07500000020013539210000000000000000000000000000000000000498623F65871243000000000000000000000000001PX34283F6587124300000124201020 -07500000020013539210000000000000000000000000000000000000639625SJ64388120000000000000000000000000034G07905SJ643881200000124201020 -07500000020013539210000000000000000000000000000000000000199828WU784374F0000000000000000000000000093P69468WU784374F00000124201020 -07500000020013539210000000000000000000000000000000000000159829GN75445470000000000000000000000000045U86179GN754454700000124211020 -07500000020013539210000000000000000000000000000000000000319825CK126662Y000000000000000000000000003L781225CK126662Y00000124211020 -075000000200135392100000000000000000000000000000000000001198559F7949000000000000000000000000000000VJ260959F794900000000124211020 -075000000200135392100000000000000000000000000000000000001194509E015160N000000000000000000000000006J3466509E015160N00000124211020 -07500000020013539210000000000000000000000000000000000000498650NA496815N000000000000000000000000009N520550NA496815N00000124211020 -07500000020013539210000000000000000000000000000000000000169827S6138574Y000000000000000000000000000HP29347S6138574Y00000124211020 -07500000020013539210000000000000000000000000000000000000199828FU514750V0000000000000000000000000043M64148FU514750V00000124221020 -07500000020013539210000000000000000000000000000000000000029956P770867330000000000000000000000000085761656P7708673300000124231020 -0750000002001353921000000000000000000000000000000000000044972774501892A000000000000000000000000003DY2838774501892A00000124241020 -07500000020013539210000000000000000000000000000000000000469829CA050844Y000000000000000000000000009BV30159CA050844Y00000124241020 -07500000020013539210000000000000000000000000000000000000169825D0311970H000000000000000000000000005BR79205D0311970H00000124241020 -07500000020013539210000000000000000000000000000000000000829627AL480913T000000000000000000000000002NN14347AL480913T00000124251020 -07500000020013539210000000000000000000000000000000000000219927YG706092H000000000000000000000000003JW98407YG706092H00000124251020 -07500000020013539210000000000000000000000000000000000000199425LW336935E000000000000000000000000008TX77515LW336935E00000124251020 -07500000020013539210000000000000000000000000000000000000389720J62129722000000000000000000000000000HM48880J6212972200000124251020 -07500000020013539210000000000000000000000000000000000000269827XT105182X000000000000000000000000003M241697XT105182X00000124261020 -07500000020013539210000000000000000000000000000000000000199420NF250473D000000000000000000000000004J820530NF250473D00000124261020 -07500000020013539210000000000000000000000000000000000000239821V54463510000000000000000000000000001RX84871V5446351000000124261020 -075000000200135392100000000000000000000000000000000000001598211N0993722000000000000000000000000000S9148711N099372200000124261020 -07500000020013539210000000000000000000000000000000000000119424PE840762K000000000000000000000000007BN83854PE840762K00000124261020 -07500000020013539210000000000000000000000000000000000000239828AN578801M000000000000000000000000009WC25248AN578801M00000124271020 -075000000200135392100000000000000000000000000000000000001394233J229372S000000000000000000000000003BF616933J229372S00000124271020 -07500000020013539210000000000000000000000000000000000001069628BN801441K000000000000000000000000001L629368BN801441K00000124271020 -075000000200135392100000000000000000000000000000000000001198277L302043Y000000000000000000000000006CS017077L302043Y00000124271020 -075000000200135392100000000000000000000000000000000000009599248A3025838000000000000000000000000006LU355448A302583800000124281020 -0750000002001353921000000000000000000000000000000000000013982447645583L000000000000000000000000005N56377447645583L00000124281020 -075000000200135392100000000000000000000000000000000000001394289P037201S000000000000000000000000003PH188589P037201S00000124281020 -07500000020013539210000000000000000000000000000000000000119823XU1110155000000000000000000000000001EB97053XU111015500000124281020 -07500000020013539210000000000000000000000000000000000000974424UN26545090000000000000000000000000000K64824UN265450900000124291020 -07500000020013539210000000000000000000000000000000000000260721YP116343G000000000000000000000000004DY07971YP116343G00000124291020 -0750000002001353921000000000000000000000000000000000000024982212750654C000000000000000000000000001L98986212750654C00000124291020 -075000000200135392100000000000000000000000000000000000001398214F839961V000000000000000000000000008KL681914F839961V00000124291020 -07500000020013539210000000000000000000000000000000000000199425PN7725504000000000000000000000000009CU32565PN772550400000124291020 -075000000200135392100000000000000000000000000000000000003596254Y540044L000000000000000000000000008X3804854Y540044L00000124301020 -075000000200135392100000000000000000000000000000000000001594294J935192X000000000000000000000000001EN189794J935192X00000124301020 -07500000020013539210000000000000000000000000000000000000179820R7939084S000000000000000000000000001B462750R7939084S00000124311020 -07500000020013539210000000000000000000000000000000000000798723P08362422000000000000000000000000005KB62533P0836242200000124311020 -075000000200135392100000000000000000000000000000000000001494287L111862W000000000000000000000000008KD755987L111862W00000124311020 -07500000020013539210000000000000000000000000000000000000199322PU6874029000000000000000000000000005KD66052PU687402900000124311020 -075000000200135392100000000000000000000000000000000007055800287L867660W000000000000000000000000004JU453787L867660W00000124121020 -07500000020013539210000000000000000000000000000000000143820051AV244180T000000000000000000000000000X517161AV244180T00000124261020 \ No newline at end of file +07500000020013539210000000000000000000000000000000000001442520942551701000000000000000000000000006060942551701000000000124011020 +07500000020013539210000000000000000000000000000000000000119423743001204000000000000000000000000008693743001204000000000124011020 +07500000020013539210000000000000000000000000000000000000839521888497449000000000000000000000000009471888497449000000000124011020 +07500000020013539210000000000000000000000000000000000000249821373517381000000000000000000000000002211373517381000000000124011020 +07500000020013539210000000000000000000000000000000000000559927504385014000000000000000000000000007135675043850140000000124011020 +07500000020013539210000000000000000000000000000000000000459921401219749000000000000000000000000007902414012197490000000124011020 +07500000020013539210000000000000000000000000000000000000169822441688552000000000000000000000000002292441688552000000000124011020 +07500000020013539210000000000000000000000000000000000000369826755718351000000000000000000000000009722867557183510000000124021020 +07500000020013539210000000000000000000000000000000000000612223315607034000000000000000000000000008503315607034000000000124031020 +07500000020013539210000000000000000000000000000000000000129823024647419000000000000000000000000008407430246474190000000124031020 +07500000020013539210000000000000000000000000000000000000229824659533022000000000000000000000000008154546595330220000000124031020 +07500000020013539210000000000000000000000000000000000000169825642731031000000000000000000000000006605564273103100000000124051020 +07500000020013539210000000000000000000000000000000000000449829020089022000000000000000000000000003839020089022000000000124061020 +07500000020013539210000000000000000000000000000000000000399523472609073000000000000000000000000003743472609073000000000124061020 +07500000020013539210000000000000000000000000000000000000269828333959202000000000000000000000000009136083339592020000000124061020 +07500000020013539210000000000000000000000000000000000000119820825814520000000000000000000000000004220082581452000000000124071020 +07500000020013539210000000000000000000000000000000000000282526590235144000000000000000000000000001846590235144000000000124071020 +07500000020013539210000000000000000000000000000000000000589722352543352000000000000000000000000005042235254335200000000124081020 +07500000020013539210000000000000000000000000000000000000319422531592734000000000000000000000000007752531592734000000000124081020 +07500000020013539210000000000000000000000000000000000000149822449965794000000000000000000000000006691244996579400000000124081020 +07500000020013539210000000000000000000000000000000000000449421270480125000000000000000000000000004627127048012500000000124091020 +07500000020013539210000000000000000000000000000000000000149428502916203000000000000000000000000006648502916203000000000124091020 +07500000020013539210000000000000000000000000000000000001488921385910193000000000000000000000000005101385910193000000000124091020 +07500000020013539210000000000000000000000000000000000000129824794233273000000000000000000000000004224794233273000000000124091020 +07500000020013539210000000000000000000000000000000000000822528341411463000000000000000000000000000458341411463000000000124101020 +07500000020013539210000000000000000000000000000000000000269820237444142000000000000000000000000008722023744414200000000124101020 +07500000020013539210000000000000000000000000000000000000749820348390227000000000000000000000000006820348390227000000000124101020 +07500000020013539210000000000000000000000000000000000000849428149410494000000000000000000000000000705814941049400000000124101020 +07500000020013539210000000000000000000000000000000000000199420212516461000000000000000000000000002202125164610000000000124101020 +07500000020013539210000000000000000000000000000000000000869825163669815000000000000000000000000005620516366981500000000124111020 +07500000020013539210000000000000000000000000000000000000354728517207394000000000000000000000000009308517207394000000000124111020 +07500000020013539210000000000000000000000000000000000000869821582566753000000000000000000000000001304158256675300000000124111020 +07500000020013539210000000000000000000000000000000000001299626270389033000000000000000000000000003726270389033000000000124121020 +07500000020013539210000000000000000000000000000000000000179829193994664000000000000000000000000008189919399466400000000124121020 +07500000020013539210000000000000000000000000000000000000249426771013930000000000000000000000000004587367710139300000000124121020 +07500000020013539210000000000000000000000000000000000000269827599825445000000000000000000000000007767599825445000000000124131020 +07500000020013539210000000000000000000000000000000000000439825870556035000000000000000000000000003829587055603500000000124131020 +07500000020013539210000000000000000000000000000000000000139822238928616000000000000000000000000002492238928616000000000124141020 +07500000020013539210000000000000000000000000000000000000159923047242239000000000000000000000000009540304724223900000000124141020 +07500000020013539210000000000000000000000000000000000000149826707512954000000000000000000000000008336707512954000000000124141020 +07500000020013539210000000000000000000000000000000000000299420681385230000000000000000000000000002110681385230000000000124141020 +07500000020013539210000000000000000000000000000000000000209820784998432000000000000000000000000008930784998432000000000124151020 +07500000020013539210000000000000000000000000000000000000583820641518125000000000000000000000000008874306415181250000000124151020 +07500000020013539210000000000000000000000000000000000000159828579367520000000000000000000000000001568579367520000000000124151020 +07500000020013539210000000000000000000000000000000000000119821185080614000000000000000000000000006083118508061400000000124151020 +07500000020013539210000000000000000000000000000000000000199428627667673000000000000000000000000003809862766767300000000124161020 +07500000020013539210000000000000000000000000000000000000439823871928425000000000000000000000000008043871928425000000000124171020 +07500000020013539210000000000000000000000000000000000000388821236803207000000000000000000000000000531236803207000000000124171020 +07500000020013539210000000000000000000000000000000000000319828703688980000000000000000000000000007500870368898000000000124171020 +07500000020013539210000000000000000000000000000000000000599827165156153000000000000000000000000002937165156153000000000124171020 +07500000020013539210000000000000000000000000000000000000319424665407840000000000000000000000000007657466540784000000000124201020 +07500000020013539210000000000000000000000000000000000000249826318071153000000000000000000000000009606631807115300000000124201020 +07500000020013539210000000000000000000000000000000000000119821233208129000000000000000000000000007800431233208129000000124201020 +07500000020013539210000000000000000000000000000000000000119826416327382000000000000000000000000001664163273820000000000124201020 +07500000020013539210000000000000000000000000000000000000119420414190247000000000000000000000000000059041419024700000000124201020 +07500000020013539210000000000000000000000000000000000000119821591656594000000000000000000000000003615916565940000000000124201020 +07500000020013539210000000000000000000000000000000000000498628365871243000000000000000000000000001342836587124300000000124201020 +07500000020013539210000000000000000000000000000000000000639629056438812000000000000000000000000003407905643881200000000124201020 +07500000020013539210000000000000000000000000000000000000199829468784374000000000000000000000000009369468784374000000000124201020 +07500000020013539210000000000000000000000000000000000000159821797544547000000000000000000000000004586179754454700000000124211020 +07500000020013539210000000000000000000000000000000000000319821225126662000000000000000000000000003781225126662000000000124211020 +07500000020013539210000000000000000000000000000000000000119859597949000000000000000000000000000000260959794900000000000124211020 +07500000020013539210000000000000000000000000000000000000119456509015160000000000000000000000000006346650901516000000000124211020 +07500000020013539210000000000000000000000000000000000000498650550496815000000000000000000000000009520550496815000000000124211020 +07500000020013539210000000000000000000000000000000000000169823476138574000000000000000000000000000293476138574000000000124211020 +07500000020013539210000000000000000000000000000000000000199824148514750000000000000000000000000004364148514750000000000124221020 +07500000020013539210000000000000000000000000000000000000029955677086733000000000000000000000000008576165677086733000000124231020 +07500000020013539210000000000000000000000000000000000000449728774501892000000000000000000000000003283877450189200000000124241020 +07500000020013539210000000000000000000000000000000000000469820159050844000000000000000000000000009301590508440000000000124241020 +07500000020013539210000000000000000000000000000000000000169822050311970000000000000000000000000005792050311970000000000124241020 +07500000020013539210000000000000000000000000000000000000829624347480913000000000000000000000000002143474809130000000000124251020 +07500000020013539210000000000000000000000000000000000000219928407706092000000000000000000000000003984077060920000000000124251020 +07500000020013539210000000000000000000000000000000000000199427515336935000000000000000000000000008775153369350000000000124251020 +07500000020013539210000000000000000000000000000000000000389728062129722000000000000000000000000000488806212972200000000124251020 +07500000020013539210000000000000000000000000000000000000269821697105182000000000000000000000000003241697105182000000000124261020 +07500000020013539210000000000000000000000000000000000000199420530250473000000000000000000000000004820530250473000000000124261020 +07500000020013539210000000000000000000000000000000000000239827154463510000000000000000000000000001848715446351000000000124261020 +07500000020013539210000000000000000000000000000000000000159827110993722000000000000000000000000000914871109937220000000124261020 +07500000020013539210000000000000000000000000000000000000119423854840762000000000000000000000000007838548407620000000000124261020 +07500000020013539210000000000000000000000000000000000000239825248578801000000000000000000000000009252485788010000000000124271020 +07500000020013539210000000000000000000000000000000000000139426933229372000000000000000000000000003616933229372000000000124271020 +07500000020013539210000000000000000000000000000000000001069629368801441000000000000000000000000001629368801441000000000124271020 +07500000020013539210000000000000000000000000000000000000119827077302043000000000000000000000000006017077302043000000000124271020 +07500000020013539210000000000000000000000000000000000000959924483025838000000000000000000000000006355448302583800000000124281020 +07500000020013539210000000000000000000000000000000000000139827447645583000000000000000000000000005563774476455830000000124281020 +07500000020013539210000000000000000000000000000000000000139428589037201000000000000000000000000003188589037201000000000124281020 +07500000020013539210000000000000000000000000000000000000119820531110155000000000000000000000000001970531110155000000000124281020 +07500000020013539210000000000000000000000000000000000000974428242654509000000000000000000000000000064824265450900000000124291020 +07500000020013539210000000000000000000000000000000000000260727971116343000000000000000000000000004079711163430000000000124291020 +07500000020013539210000000000000000000000000000000000000249826212750654000000000000000000000000001989862127506540000000124291020 +07500000020013539210000000000000000000000000000000000000139821914839961000000000000000000000000008681914839961000000000124291020 +07500000020013539210000000000000000000000000000000000000199425657725504000000000000000000000000009325657725504000000000124291020 +07500000020013539210000000000000000000000000000000000000359624854540044000000000000000000000000008380485454004400000000124301020 +07500000020013539210000000000000000000000000000000000000159429794935192000000000000000000000000001189794935192000000000124301020 +07500000020013539210000000000000000000000000000000000000179827507939084000000000000000000000000001462750793908400000000124311020 +07500000020013539210000000000000000000000000000000000000798723308362422000000000000000000000000005625330836242200000000124311020 +07500000020013539210000000000000000000000000000000000000149425987111862000000000000000000000000008755987111862000000000124311020 +07500000020013539210000000000000000000000000000000000000199320526874029000000000000000000000000005660526874029000000000124311020 +07500000020013539210000000000000000000000000000000000705580023787867660000000000000000000000000004453787867660000000000124121020 +07500000020013539210000000000000000000000000000000000143820057161244180000000000000000000000000000517161244180000000000124261020 \ No newline at end of file diff --git a/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.ConvertTransactions_ParsesAndConvertsTransactions_Shopify.verified.txt b/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.ConvertTransactions_ParsesAndConvertsTransactions_Shopify.verified.txt new file mode 100644 index 0000000..56e3c28 --- /dev/null +++ b/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.ConvertTransactions_ParsesAndConvertsTransactions_Shopify.verified.txt @@ -0,0 +1,34 @@ +0740000002001353907Czech Goods s.r.o. 01111900000013280900+00000016514842+000000461730770000000494070190011300424FIO +07500000020013539220000000000000000000000000000000000001139820000003099000000000000000000000000003099000000000000000000124311023 +07500000020013539220000000000000000000000000000000000000860020000003098000000000000000000000000003098000000000000000000124301023 +07500000020013539220000000000000000000000000000000000001250020000003097000000000000000000000000003097000000000000000000124301023 +07500000020013539220000000000000000000000000000000000000169920000003096000000000000000000000000003096000000000000000000124291023 +07500000020013539220000000000000000000000000000000000000289920000003095000000000000000000000000003095000000000000000000124291023 +07500000020013539220000000000000000000000000000000000001004520000003094000000000000000000000000003094000000000000000000124281023 +07500000020013539220000000000000000000000000000000000283000020000003093000000000000000000000000003093000000000000000000124281023 +07500000020013539220000000000000000000000000000000000000458520000003090000000000000000000000000003090000000000000000000124261023 +07500000020013539220000000000000000000000000000000000000597020000003089000000000000000000000000003089000000000000000000124261023 +07500000020013539220000000000000000000000000000000000003530020000003088000000000000000000000000003088000000000000000000124251023 +07500000020013539220000000000000000000000000000000000000289920000003083000000000000000000000000003083000000000000000000124231023 +07500000020013539220000000000000000000000000000000000001582520000003082000000000000000000000000003082000000000000000000124231023 +07500000020013539220000000000000000000000000000000000000540020000003079000000000000000000000000003079000000000000000000124221023 +07500000020013539220000000000000000000000000000000000000299920000003076000000000000000000000000003076000000000000000000124221023 +07500000020013539220000000000000000000000000000000000001563520000003074000000000000000000000000003074000000000000000000124201023 +07500000020013539220000000000000000000000000000000000000399020000003073000000000000000000000000003073000000000000000000124201023 +07500000020013539220000000000000000000000000000000000000299920000003072000000000000000000000000003072000000000000000000124201023 +07500000020013539220000000000000000000000000000000000000187520000003070000000000000000000000000003070000000000000000000124191023 +07500000020013539220000000000000000000000000000000000000429820000003067000000000000000000000000003067000000000000000000124181023 +07500000020013539220000000000000000000000000000000000000853020000003066000000000000000000000000003066000000000000000000124171023 +07500000020013539220000000000000000000000000000000000000209020000003065000000000000000000000000003065000000000000000000124171023 +07500000020013539220000000000000000000000000000000000001220020000003064000000000000000000000000003064000000000000000000124171023 +07500000020013539220000000000000000000000000000000000000410020000003062000000000000000000000000003062000000000000000000124161023 +07500000020013539220000000000000000000000000000000000000298020000003061000000000000000000000000003061000000000000000000124151023 +07500000020013539220000000000000000000000000000000000000589720000003059000000000000000000000000003059000000000000000000124141023 +07500000020013539220000000000000000000000000000000000000299050000003055000000000000000000000000003055000000000000000000124141023 +07500000020013539220000000000000000000000000000000000000220020000003057000000000000000000000000003057000000000000000000124131023 +07500000020013539220000000000000000000000000000000000000249920000003056000000000000000000000000003056000000000000000000124131023 +07500000020013539220000000000000000000000000000000000000299020000003055000000000000000000000000003055000000000000000000124111023 +07500000020013539220000000000000000000000000000000000001299420000003054000000000000000000000000003054000000000000000000124091023 +07500000020013539220000000000000000000000000000000000000939620000003050000000000000000000000000003050000000000000000000124071023 +07500000020013539220000000000000000000000000000000000000490020000003049000000000000000000000000003049000000000000000000124031023 +07500000020013539220000000000000000000000000000000000003099220000003048000000000000000000000000003048000000000000000000124021023 \ No newline at end of file diff --git a/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.cs b/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.cs index 6305451..eeede39 100644 --- a/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.cs +++ b/Mapp.BusinessLogic.Transactions.Tests/IntegrationTests.cs @@ -73,6 +73,12 @@ public async Task ConvertTransactions_ParsesAndConvertsTransactions_AmazonNL() await IntegrationTestBase("AmazonNL"); } + [Fact] + public async Task ConvertTransactions_ParsesAndConvertsTransactions_Shopify() + { + await IntegrationTestBase("Shopify"); + } + [Fact] [Bug] public async Task ConvertTransactions_ParsesAndConvertsTransactions_ZerosBug() diff --git a/Mapp.BusinessLogic.Transactions.Tests/TestData/Shopify.csv b/Mapp.BusinessLogic.Transactions.Tests/TestData/Shopify.csv new file mode 100644 index 0000000..26644a5 --- /dev/null +++ b/Mapp.BusinessLogic.Transactions.Tests/TestData/Shopify.csv @@ -0,0 +1,34 @@ +Transaction Date,Type,Order,Card Brand,Card Source,Payout Status,Payout Date,Available On,Amount,Fee,Net,Checkout,Payment Method Name,Presentment Amount,Presentment Currency,Currency,VAT +2023-10-31 12:00:42 +0100,charge,#3099,master,online,pending,2023-12-01,2023-11-03,2636.49,107.33,2529.16,#42675990692187,card,113.98,USD,CZK,0.00 +2023-10-30 19:49:07 +0100,charge,#3098,visa,online,pending,2023-12-01,2023-11-02,475.22,24.53,450.69,#42672842211675,card,86.00,PLN,CZK,0.00 +2023-10-30 14:46:07 +0100,charge,#3097,visa,online,pending,2023-12-01,2023-11-02,690.73,32.82,657.91,#42616161075547,card,125.00,PLN,CZK,0.00 +2023-10-29 21:50:14 +0100,charge,#3096,visa,online,pending,2023-12-01,2023-11-02,396.22,21.46,374.76,#42667949523291,card,16.99,USD,CZK,0.00 +2023-10-29 03:48:20 +0100,charge,#3095,visa,online,pending,2023-12-01,2023-11-02,676.07,38.95,637.12,#42663650034011,card,28.99,USD,CZK,0.00 +2023-10-28 20:38:16 +0200,charge,#3094,american_express,online,pending,2023-12-01,2023-11-02,2342.57,118.94,2223.63,#42662122881371,card,100.45,USD,CZK,0.00 +2023-10-28 19:55:44 +0200,charge,#3093,master,online,pending,2023-12-01,2023-11-02,1817.31,75.86,1741.45,#42661940232539,card,28300.00,HUF,CZK,0.00 +2023-10-26 19:10:59 +0200,charge,#3090,master,online,paid,2023-11-01,2023-10-31,1133.27,49.68,1083.59,#42651143635291,card,45.85,EUR,CZK,0.00 +2023-10-26 01:40:36 +0200,charge,#3089,visa,online,paid,2023-11-01,2023-10-30,1394.56,73.35,1321.21,#42647323738459,card,59.70,USD,CZK,0.00 +2023-10-25 13:54:03 +0200,charge,#3088,master,online,paid,2023-11-01,2023-10-30,5214.23,256.87,4957.36,#42643499090267,card,353.00,AUD,CZK,0.00 +2023-10-23 21:36:53 +0200,charge,#3083,master,online,paid,2023-11-01,2023-10-26,673.92,38.82,635.10,#42634660970843,card,28.99,USD,CZK,0.00 +2023-10-23 20:50:44 +0200,charge,#3082,master,online,paid,2023-11-01,2023-10-26,3678.81,183.18,3495.63,#42634437558619,card,158.25,USD,CZK,0.00 +2023-10-22 21:40:39 +0200,charge,#3079,visa,online,paid,2023-11-01,2023-10-26,1254.70,66.68,1188.02,#42629232329051,card,54.00,USD,CZK,0.00 +2023-10-22 03:02:53 +0200,charge,#3076,visa,online,paid,2023-11-01,2023-10-26,696.82,39.96,656.86,#42624960332123,card,29.99,USD,CZK,0.00 +2023-10-20 22:23:12 +0200,charge,#3074,master,online,paid,2023-11-01,2023-10-25,3644.75,181.36,3463.39,#42618988855643,card,156.35,USD,CZK,0.00 +2023-10-20 13:56:09 +0200,charge,#3073,visa,online,paid,2023-11-01,2023-10-25,983.66,53.50,930.16,#42616571363675,card,39.90,EUR,CZK,0.00 +2023-10-20 05:40:46 +0200,charge,#3072,visa,online,paid,2023-11-01,2023-10-25,698.40,40.06,658.34,#42586800783707,card,29.99,USD,CZK,0.00 +2023-10-19 04:26:27 +0200,charge,#3070,visa,online,paid,2023-11-01,2023-10-24,439.28,27.41,411.87,#42603178393947,card,18.75,USD,CZK,0.00 +2023-10-18 10:58:14 +0200,charge,#3067,visa,online,paid,2023-11-01,2023-10-23,1002.37,54.57,947.80,#42604534137179,card,42.98,USD,CZK,0.00 +2023-10-17 14:00:07 +0200,charge,#3066,american_express,online,paid,2023-11-01,2023-10-20,1993.02,102.10,1890.92,#42599961985371,card,85.30,USD,CZK,0.00 +2023-10-17 13:36:27 +0200,charge,#3065,visa,online,paid,2023-11-01,2023-10-20,515.40,26.14,489.26,#42599763607899,card,20.90,EUR,CZK,0.00 +2023-10-17 09:31:56 +0200,charge,#3064,visa,online,paid,2023-11-01,2023-10-20,2850.51,143.46,2707.05,#42587880161627,card,122.00,USD,CZK,0.00 +2023-10-16 11:17:17 +0200,charge,#3062,master,online,paid,2023-11-01,2023-10-19,1012.27,44.93,967.34,#42522733674843,card,41.00,EUR,CZK,0.00 +2023-10-15 18:19:16 +0200,charge,#3061,master,online,paid,2023-11-01,2023-10-19,736.04,34.58,701.46,#42590177624411,card,29.80,EUR,CZK,0.00 +2023-10-14 19:59:27 +0200,charge,#3059,visa,online,paid,2023-11-01,2023-10-19,1385.51,73.07,1312.44,#42585603801435,card,58.97,USD,CZK,0.00 +2023-10-14 07:07:50 +0200,refund,#3055,master,online,paid,2023-11-01,2023-10-16,-738.51,0.00,-738.51,#42569948889435,card,29.90,EUR,CZK,0.00 +2023-10-13 21:51:43 +0200,charge,#3057,master,online,paid,2023-11-01,2023-10-18,627.61,36.52,591.09,#42581091549531,card,22.00,GBP,CZK,0.00 +2023-10-13 03:14:12 +0200,charge,#3056,visa,online,paid,2023-11-01,2023-10-18,584.93,34.41,550.52,#42576776233307,card,24.99,USD,CZK,0.00 +2023-10-11 19:37:49 +0200,charge,#3055,master,online,paid,2023-11-01,2023-10-16,734.79,41.53,693.26,#42569948889435,card,29.90,EUR,CZK,0.00 +2023-10-09 17:19:00 +0200,charge,#3054,american_express,online,paid,2023-11-01,2023-10-12,3023.43,151.71,2871.72,#42557051339099,card,129.94,USD,CZK,0.00 +2023-10-07 07:53:17 +0200,charge,#3050,visa,online,paid,2023-11-01,2023-10-12,2169.13,110.35,2058.78,#42540003393883,card,93.96,USD,CZK,0.00 +2023-10-03 17:25:04 +0200,charge,#3049,master,online,paid,2023-11-01,2023-10-06,1382.63,72.80,1309.83,#42518763340123,card,49.00,GBP,CZK,0.00 +2023-10-02 03:56:33 +0200,charge,#3048,visa,online,paid,2023-11-01,2023-10-05,7151.31,350.04,6801.27,#42509077578075,card,309.92,USD,CZK,0.00 diff --git a/Mapp.UI/Mapp.UI.csproj b/Mapp.UI/Mapp.UI.csproj index ca6915a..46971e6 100644 --- a/Mapp.UI/Mapp.UI.csproj +++ b/Mapp.UI/Mapp.UI.csproj @@ -220,7 +220,7 @@ Always - + Always diff --git a/Mapp.UI/Transactions Configs/TransactionsConfigShopPayCM.json b/Mapp.UI/Transactions Configs/TransactionsConfigShopify.json similarity index 99% rename from Mapp.UI/Transactions Configs/TransactionsConfigShopPayCM.json rename to Mapp.UI/Transactions Configs/TransactionsConfigShopify.json index 2c49450..e8ea907 100644 --- a/Mapp.UI/Transactions Configs/TransactionsConfigShopPayCM.json +++ b/Mapp.UI/Transactions Configs/TransactionsConfigShopify.json @@ -12,7 +12,6 @@ ], "ValueComponentsColumnName": [ "Presentment Amount" - ], "TransferTypeNames": [ @@ -20,7 +19,6 @@ "RefundTypeNames": [ "refund", "chargeback" - ], "OrderTypeNames": [ "charge"