OCR på räkningar

Diskussion i 'Appförslag och idéer' startad av Buzz, 21 jul 2010.

  1. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    1. Tanken är att man ska logga in som vanligt, öppna sidan för att betala räkningar och sedan skanna en faktura för att få formuläret på banken att fyllas i automatiskt
    2. Nej, det är inte bara OCR-nummer utan även giro-nummer samt summa.
    3. Det går absolut att få det till clipboard:en för att sedan manuellt klistra in det, men vi gör det betydligt enklare än så.
    4. Nordea kommer stödjas om vi bara får någon Nordea-kund att skicka över oss html-sidan för att betala en faktura.
    5. Just nu fokuserar vi på ett plugin för Chrome. Men helst ser vi ju givetvis stöd för flera webbläsare. Den som har kunskap om Firefox-plugin får givetvis hugga in i den nöten, i sanna crowdsourcing-anda.
     
  2. tkarki

    tkarki Teen Droid Medlem

    Blev medlem:
    5 nov 2009
    Inlägg:
    388
    Mottagna gillanden:
    2

    MINA ENHETER

    Schysst det var ju oväntat enkelt!
    Följande fungerar för Länsförsäkringar i background.html. (la till en ny else if för lansforsakringar.se som anropar handleLansforsakringar också)

    function handleLansforsakringar(invoice, tab) {
    chrome.tabs.executeScript(tab.id, {
    code: "document.getElementById('paymentId').value= '"+ invoice.reference +"'"
    });
    }
     
  3. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Tack! Jag har tagit in det i min fork av Johans agiro-server.
     
  4. 2444ever

    2444ever Teen Droid Medlem

    Blev medlem:
    22 nov 2010
    Inlägg:
    404
    Mottagna gillanden:
    9
    Telefon:
    Sony 1 III

    MINA ENHETER

    Telefon:
    Sony 1 III
    Angående Nordea, är det bara ID för de aktuella fälten ni behöver?
     
  5. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Ja, det borde räcka.
     
  6. 2444ever

    2444ever Teen Droid Medlem

    Blev medlem:
    22 nov 2010
    Inlägg:
    404
    Mottagna gillanden:
    9
    Telefon:
    Sony 1 III

    MINA ENHETER

    Telefon:
    Sony 1 III
    Ok, är väldigt restriktiv med att installera nytt på PC:n, men har nu installerat chrome.
    Har även läst genom tråden eh gång till (fr. sida 10). Är väl lite osmart, förstår inte riktigt hur man skall göra för att kunna testa. Finns det någon steg för steg-lista i tråden, eller det har kanske inte kommit så långt än?
     
  7. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    De senaste två, tre trådarna har handlat om utveckling. Det finns egentligen ingen officiell test-version ännu. Men du kan få ett snapshot-bygge:
    http://akerfeldt.se/~gein/apk/
    Ladda ner extension-katalogen också och installera den som ett tillägg i Chrome. Kom ihåg att det är ett snapshot mitt i utveckling, så det kan bugga.
     
  8. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Håller på att sätta upp en Wordpress-installation som framtida hemsida. Någon som säger emot? :) Behöver nog hjälp med att snygga till den också. Så om någon är intresserad, hojta till!
     
  9. 2444ever

    2444ever Teen Droid Medlem

    Blev medlem:
    22 nov 2010
    Inlägg:
    404
    Mottagna gillanden:
    9
    Telefon:
    Sony 1 III

    MINA ENHETER

    Telefon:
    Sony 1 III
    Det var en massa nytt för mig, men har lyckats installera plugin, o apk - tur det finns guider :)

    Några iaktagelser
    Appen (körd på stock X10):
    1. Vid misslyckad scanning så börjar den tugga fokuserar - tappar fokus - fokuserar - o.s.v., då måste man starta om från kodinmatningen, annars står den bara o tuggar fokusering. Detta oavsett om någon tidigare lyckad skanning. Hjälper inte o trycka "Radera alla"/"Skanna".
    2. Den börjar skanna direkt utan att man trycker på "Skanna" när appen öppnas, det ger att om man inte håller bilden så den direkt får lyckad skanning så står den o tuggar fokusering o man måste starta om enligt ovan.
    3. Första skanningen efter man angett koden brukar dessutom bli ofullständig, t.ex. första 3 positionerna på OCR (kan iofs vara en effekt av att jag lite stressigt försöker hålla den så skann-rutan hamnar exakt där direkt).
    4. I nederkant av bilden över "Skicka" så visas tre fält (inskannat?), dessa tre fält visar alltid senaste skanning i alla 3 fälten.
    5. När alla fälten är ifyllda så skickas det automatiskt, det skall vara så?
    6. Vid skanning av nästa faktura (efter "Radera alla") så fylls det skannade fältet i längst upp, men också de andra fälten från förra fakturan (antagligen senaste värden för alla fälten).
    Chrome:
    Jag har kodat för Nordea (och testat)
    Kod:
                                } else if (tabs[i].url.indexOf("nordea.se") != -1) {
                                    found++;
                                    handleNordea(o, tabs[i]);
                                }
    ...
    function handleNordea(invoice, tab) {
        chrome.tabs.executeScript(tab.id, {
            code: "document.getElementById('paymentmessage').value= '"+ invoice.reference +"';" +
                  "document.getElementById('paymentamount').value= '"+ invoice.amount +"'"
        });
    }
    
    Kontonumret har ID 'paymenttoaccount', det finns inget fält för det i invoice än eller?

    I Nordea-formuläret så måste man ange Postgiro eller Bankgiro, dessutom måste dessa formateras enligt följande:
    för PlusGiro 1234567-8 och för Bankgiro 1234-5678 eller 123-4567.
    På mina fakturor så verkar #41# efter kontonummer indikera bankgiro, annars är det lite olika koder där. Vet inte om man kan gå på det. (Såg i något inlägg en ref till dokument om detta, men har inte läst genom det nu).

    Ett litet önskemål: Går det att ha det så att ett enbart numeriskt tangentbord kommer upp när man skall mata in koden (som t.ex. vid editering av tfn-nummer i kontakterna i min X10).


    Det var lite feedback från mig, vissa/alla kanske ni är medvetna om och jobbar på?
    Och, väldigt schysst app ni fått till, finns det mycket segare saker än o mata in OCR.

    /2444ever
     
  10. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    • Det beteendet du beskriver vad gäller fokus sker på min telefon också. Det är korrekt att den skannas automatiskt första gången tills den hittat en sträng. Men om den strängen inte är giltig så ska det inte göra att man måste börja om. Däremot får man göra manuellt skanna genom att trycka på knappen. Jag kan då sikta in mig på t.ex. OCR-numret och klicka på Skanna-knappen utan problem.
    • På min telefon så ser jag inga fält i bildens nederkant, snarare i överkanten. Om du syftar på "Referensnummer, Belopp, Gironummer och Debug".
    • Ja, när alla fält är ifyllda så skickas all data. Så fungerar det just nu, men det kommer sannolikt ändras till att varje fält skickas direkt när det är inläst istället. Men det krävs eventuellt förändringar i servern/chrome-pluggen.
    • Radera alla-knappen fungerar inte riktigt som förväntat ännu.
    Helt klart är iaf att vi måste testa det på många fler telefoner såfort vi har en mer testduglig version av appen. Idag beter sig appen kanske inte riktigt som man förväntar sig, t.ex. att Radera alla-knappen inte riktigt gör det den ska. Skicka-knappen gör väl ingenting alls tror jag. Och automatisk skanning sker bara första gången.

    Mycket bra! Vi lägger in din kod för Nordea-hantering. Gironumret skannas av (som du ser) men skickas aldrig till servern. Saknas stöd för det just nu. Tanken är, precis som du säger, att identifiera formatet på gironumret genom att titta på dokumenttypen.

    Vad gäller numeriskt tangentbord så får jag upp det när koden ska matas in. Kan det ha med android-version att göra kanske? Det är möjligtvis så att jag explicit måste ange att bara den numeriska layouten ska synas för äldre versioner (android < 2.3).
     
    Last edited: 17 jan 2011
  11. 2444ever

    2444ever Teen Droid Medlem

    Blev medlem:
    22 nov 2010
    Inlägg:
    404
    Mottagna gillanden:
    9
    Telefon:
    Sony 1 III

    MINA ENHETER

    Telefon:
    Sony 1 III
    • "Fälten" i nerkant var p.g.a. att jag kryssat i "visa debugbild" i inställningar.
    • Om det skall vara någon form av autoskanning så kanske det skall styras av ngn inställning.
    Om "Radera alla" hade rensat invoice-objektet, och om man hade kunnat bryta skann-loopen jag får så hade jag haft användning för appen redan nu.

    Ser att det har diskuterats en del i tråden att man skall kunna ha en lista av inskannade fakturor i browsern (eller jag missuppfattar).
    Tror det hade varit en bra option om man kunnat välja att det blir en "lista" (p.s.s. som om man inte har ngn flik som får träff) som man sedan kan välja från med klick och få samma ifyllning som idag. Kanske en inställning som skickas med till browsern. Isf kan man börja med att skanna alla fakturor.
    Jag upplevde det som att det tog en liten stund att överföra uppgifterna, därav behovet att kunna skanna allt först och slippa väntetid efter varje skanning.
     
  12. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Primärt till wulax och Johan (och alla andra som vill utveckla!),
    Jag har skapat ett nytt repository som heter droidgiro och lyckats med konststycket att slå ihop våra tidigare repositoryn samtidigt som jag fick med historiken. Är relativt ny på git men det var inte så värst svårt ändå.
    Ibland uppstår konstiga tillstånd med git där git merge tycker "Already updated" trots att jag inte ser ändringarna. Men det löste sig till slut.

    Passade på att dela upp koden i tre olika delar. android, server och browser.
    Vad tror ni? För mig är det betydligt smidigare med ett repo eftersom jag är pillar i båda projekten.
    https://github.com/pakerfeldt/droidgiro
     
  13. johannilsson

    johannilsson Adult Droid Medlem

    Blev medlem:
    23 jun 2009
    Inlägg:
    577
    Mottagna gillanden:
    8

    MINA ENHETER

    Eller köra det som en organization på github så har de egna repon och kan taggas och branchas individuellt. Går bra så här med annars.
     
    speakman gillar detta.
  14. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Nej, din idé är mycket bättre förstås! Tänkte inte på det.
     
  15. speakman

    speakman Teen Droid Medlem

    Blev medlem:
    15 apr 2010
    Inlägg:
    262
    Mottagna gillanden:
    13

    MINA ENHETER

  16. tkarki

    tkarki Teen Droid Medlem

    Blev medlem:
    5 nov 2009
    Inlägg:
    388
    Mottagna gillanden:
    2

    MINA ENHETER

    > Vad gäller numeriskt tangentbord så får jag upp det när koden ska matas in.
    > Kan det ha > med android-version att göra kanske? Det är möjligtvis så att jag explicit > måste ange att > bara den numeriska layouten ska synas för äldre versioner (android > < 2.3).

    Jag får också upp numeriska tangentbordet på HTC Desire med 2.2... Man får dock inte något felmeddelande om man anger fel pin nu utan den går bara vidare? (har inte haft möjlighet att testa längre än så - då det inte var mitt fokus just då)
     
  17. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Det stämmer att man inte får något felmeddelande ännu. Tanken är att man ska komma tillbaka till pin-kodsaktiviteten om koden man skrev in inte är giltig.
     
  18. wulax

    wulax Kid Droid Medlem

    Blev medlem:
    7 jul 2010
    Inlägg:
    61
    Mottagna gillanden:
    7

    MINA ENHETER

    Okej, jag har nu försökt läsa på lite om git men förstår fortfarande inte hur jag ska använda det på bästa sätt.. Bör jag göra en fork av droidgiro till mitt eget repository och sedan använda "pull requests" för att köra in nya saker till upstream den vägen? Eller har ni tänkt er att skicka ändringar direkt till upstream/master?

    En annan fråga, vad ska vi ändra namnutrymmet/paketnamnet till för androiddelen? se.droidgiro.android?
     
  19. pakerfeldt

    pakerfeldt Adult Droid Medlem

    Blev medlem:
    28 feb 2010
    Inlägg:
    716
    Mottagna gillanden:
    72

    MINA ENHETER

    Oj, jag har redan gått loss på paketnamnet i android-projeket. Det blev se.droidgiro.scanner (jag tog bort android då det kändes överflödigt). Är du av en annan åsikt wulax så får du gärna ändra.

    Vad gäller git. Johan frågade samma sak. Jag vet egentligen inte hur man i regel gör. Rent tekniskt så behöver du inte göra en fork. Du har precis samma rättigheter som jag, dvs du kan pusha direkt till droidgiro/android.git. Vad som är mest praktiskt däremot, vet jag inte riktigt. Vi får väl prova oss fram helt enkelt. Men jag föreslår att du gör en clone av det "riktigt" repository och jobbar i det. Om du gör stora ändringar kan du ju göra en temporär branch i repositoryt innan du mergar tillbaka till master.

    red/ vad är egentligen snyggast: droidgiro, Droidgiro eller DroidGiro? :)
     
  20. speakman

    speakman Teen Droid Medlem

    Blev medlem:
    15 apr 2010
    Inlägg:
    262
    Mottagna gillanden:
    13

    MINA ENHETER

    Detta med Git är en hel vetenskap, men vanligast är nog att man jobbar i sina egna repository och sedan skickar pull requests när man har något att bidra med. Man utser då en projektledare som har "huvudrepot" för projektet och det är då dit man skickar sina bidrag.

    Vill man göra det riktigt professionellt så snyggar man upp sitt bidrag lite, med först "git rebase origin/master" mot huvudrepots master så man vet att den blir applicerbar på den senaste versionen, och slutligen med "git rebase -i origin/master" så snyggar man till sina egna commits (det kan ju bli en hel del medans man testar sig fram) så de var och en prydligt representerar en unik förändring.

    Det är som sagt en hel vetenskap och man kan dra hur hårt som helst. Det jag beskrev ovan är lite enkelt hur Linux Kernel hanteras, men för uppstartsprojekt som behöver lite mer momentum är perfektion så är nog enklast att bara committa och skicka pull requests rakt av.

    Mer läsning finns här och här kan man läsa på om praxis för commit messages (rätt nyttigt faktiskt).