Jump to content

Dinero og PrestaShop


presta-dyr

Recommended Posts

Hej alle

 

Jeg har længe (faktisk siden 2013) pønset på at skrive et integrationsmodul til Dinero. Men så var det, Dinero helt afviste at lave et API. Senere skiftede de mening og kundgjorde så, at der ville komme et API, hvor der var begrænsning på antallet af transaktioner. Og som det er nu, er der alligevel ingen (væsentlige) begrænsninger.

 

Nu kommer så mit spørgsmål: Hvor stor er interessen for et modul til Dinero til 500 kr. plus moms? Vel at mærke uden yderligere omkostninger (bortset fra abonnementet hos Dinero).

 

 

/Kjeld

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
  • 4 weeks later...

One time pay er altid en god ting :) 

Kom bare med det.
Jeg bruger IEX.dk lige nu til mit gamle, men det med at betale en fast mdr gebyr nej tak.

Så hellere 500kr.- også virker det bare.

 

Kig på IEX hvordan de gør nu, så kan du tage lidt fra dem, og lave modulet.

 

Men ja så længe det virker og det virker til både 1.6.x og til 1.7.x Så bare kom igang :)

Link to comment
Share on other sites

  • 7 months later...

Hej Kjeld,

Nu kan jeg se at det snart er et års tid siden du startede tråden, og så vidt jeg kan se, har du stadig ikke noget DInero-modul til salg i din shop. Er det stadig et projekt som du har planer om at kaste dig over på et tidspunkt?

Pt. skal man enten benytte Storebuddy eller Pairy for at koble Prestashop op med Dinero, og begge løsninger er abonnementsløsninger som hurtigt bliver meget dyre.
Et modul i stil med dine moduler til Billy og e-conomic vil derfor bestemt stadig være eftertragtet :)

Link to comment
Share on other sites

Hej ?

 

Jeg kom i gang med de indledende øvelser (dvs. basal test af API'et), men kom så fra det igen. Siden blev Dinero så solgt til Visma og det ærgrer mig faktisk. Når Visma ejer både E-conomic og Dinero, bliver det så som så med den reelle konkurrence. Jeg har også haft kig på integration med xena.biz og saldi.dk, men jeg mangler stadig at finde et økonomisystem, der har en model, hvor man har API-adgang og betaler lidt eller ingenting, når man har få transaktioner.

 

Så det korte af det lange er, at jeg ikke er kommet videre.

 

 

/Kjeld

Link to comment
Share on other sites

Helt enig i at der mangler et billigt økonomisystem med API-adgang for den helt lille webshop! Jeg håber dog stadig at du vil overveje at færdiggøre Dinero-modulet. Rent kommercielt er jeg sikker på at der er et marked for modulet, og uden at vide det, så vil jeg gætte på at meget af forarbejdet allerede er gjort ved at tage udgangspunkt i dit eksisterende Billy-modul.

/Mathias

Link to comment
Share on other sites

Jeg er ved at lægge sidste hånd på version 1 af et modul der oprettet poster i kassekladden, direkte fra Prestashop :)

 

Prisen for det færdige modul har jeg ikke lige lagt mig fast på endnu - nu vil jeg lige teste lidt på det og se om det spiller som jeg har tiltænkt det.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Så er det lige oppe over.

Har kørt live tests, på min egen webshop, i et par uger nu.

Et par små bugs skal lige glattes ud, men ikke noget alvorligt - det virker over al forventning, taget i betragtning at det er mit første add-on til Prestashop (er autodidakt programmør, men har ikke kodet til Prestashop tidligere)

 

Lige nu er modulet til godkendelse ved Prestashop Addon team, når de har sagt god vil jeg lige have Dinero's blåstempel også og så gives det fri.

Link to comment
Share on other sites

Hej Morten,

 

Det lyder rigtig spændende.

Vil det endelige modul være i stand til at oprette en faktura i Dinero som kan downloades direkte fra Prestashop, eller forestiller du dig at man fortsætter med at benytte Prestashops indbyggede fakturafunktion, og modulet så nøjes med at overføre kladdeposteringer til Dinero for hver ordre?
Og hvordan i forhold til returneringer? Vil modulet være i stand til at håndterer både fulde og delvise krediteringer på en ordre?

/Mathias

Link to comment
Share on other sites

  • 2 weeks later...

Så kom v.1.0 addons: https://addons.prestashop.com/en/accounting-invoicing/28606-dinero.html

 

I første omgang foregår det sådan at modulet oprettet kassekladde posterne, og vedhæfter din Prestashop faktura som bilag.

Der kan pt. kun håndteres salg, men går allerede med ideer til ændringer. Der i blandt at den skal kunne håndtere hele og delvise krediteringer.

 

Hvis Dinero lader deres API tillade det, kunne en mulighed være at lave det valgfrit for brugeren om man vil bruge Prestashop faktura eller Dinero faktura.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Hej Morten,

Det ser godt ud det du har lavet indtil videre!
Nu har jeg selv arbejdet med Dineros API i et andet projekt, og da du både kan oprette fakturaer gennem API'et, og efterfølgende hente fakturaerne som pdf, så  burde der ikke være noget til hinder for at du udbyggede dit modul til at give brugeren valget mellem at bruge Prestashops fakturaer eller Dineros egne. Det kræver selvfølgelig stadig noget udvikling - men Dineros API bør ikke være nogen stopklods :)

Link to comment
Share on other sites

Hej Morten

Jeg har testet lidt på dit modul og det virker efter hensigten: Opretter dine ordre i kassekladden, og vedhæfter din Prestashop faktura som bilag. Det er let at installere og virker med det samme.

 

Modulet lever dog ikke helt op til forventningerne, da vi stadig skal rette en del til i Dinero for at bogføringen er korrekt for os. Vi forventer ikke en 100 % automatisk bogføring, men ønsker omvendt heller ikke, at ændre 2-4 linjer på hver ordre i kassekladden.

 

Jeg har derfor er par ”lette” forbedringsforsalg, som i min optik vil give dit modul langt større værdi, uden det ændre på hvor dejlig simpelt det fungerer.

 

1.       Gør det muligt at vælge, om den skal overføre alle linjer fra ordren eller som nu: samlet salg, fragt, betaling. Vi har visse varer der sælges med brugtmoms, kortgebyr bogføres på egen konto og hvis der tilføjes en rabat til ordren, ville det også være fint den stod på egen linje.

2.       Gør det muligt at vælge, om den skal bruge ”Ordrenummer” eller ”Fakturanummer” til ”beskrivelsen” i kassekladden i Dinero. Vi bruger fakturanummeret, da ordrenummeret i sig selv ikke giver noget mening hos os.

3.       Gør det muligt, at overføre ordre til Dinero med tilbagevirkende kraft. F.eks. efter dato eller fakturanummer. Jeg forstiller mig at de fleste der gerne vil købe dit modul ikke nødvendigvis har bogført alt til dags dag, så det vil virkelig være en hjælp, hvis man kunne vælge, at den skulle oprette tidligere gennemførte ordre i kassekladden.

 

Det er alle 3 væsentlige funktioner for min shop, så tænker andre shops også kunne få gavn af disse forbedringsforsalg. Vi har i bund og grund ikke brug for andre funktioner, da vi alene gerne vil spare tid på vores ugentlige bogføring.

 

Jeg ser frem til at høre, om det er noget der evt. er på vej, eller om du har andre planer.

 

Hilsen

/Nicklas

Link to comment
Share on other sites

Jeg har lige et par kommentarer.

Ad 1) Det er ikke tilladt at overvælte kortgebyr for privatkunder fra næste år. Så det er måske ikke så vigtigt med lige den feature.

Ad 2) Fakturanummeret giver jo kun mening, hvis dannelse af fakturaer er slået til i PrestaShop. Om man så bruger ordre-ID eller reference (den der sære samling bogstaver PrestaShop tildeler ordren), kan jo komme ud på et; bare sporbarheden er opretholdt. Fidusen med at bruge reference er, at en evt. konkurrent ikke kan lure, hvor mange ordrer man har haft.

Ad 3) Du skal ikke forstille dig selv :rolleyes:

 

/Kjeld

Link to comment
Share on other sites

Hej Kjeld

Fint med indput :)

Ad 1) Ja, det er helt korrekt, men vi har ikke tænkt os at ændre det før 01.01.2018. Så derfor er det vel relevant et stykke tid endnu. Der gennemføres jo normalt også nogle ekstra ordre her i juletiden, så det bliver til ekstra mange rettelser...

Ad 2) Ja, det er også helt korrekt. Vi bruger PrestaShop til dannelse af fakturaer, så derfor har vi også valgt at bruge "fakturanummeret" således vi er helt sikre på at alt er korrekt i Dinero, og vi ikke skal lede unødvendigt efter ordre, ved f.eks. rettelser, mm.

Ad 3) ;)

Har Morten nogen kommentar?

Link to comment
Share on other sites

Ad 1) Da det, som Kjeld skriver, ikke er tilladt fra årsskiftet at lade kunden bære gebyret er det ikke lige den feature jeg vil bruge krudt på (der er rigeligt med andre småting der er vigtigere til modulet). Men delen med at lade det være op til brugeren med hvor meget der skal oprettes som selvstændige linier kunne være relevant.

Ad 2) Det er absolut noget jeg vil notere mig, at lade brugeren vælge fakturanummer, ordre-id eller reference strengen.

Ad 3) Hmmm tjaeh - jeg ved ikke helt om det er relevant. Man har vel alle sine salg i sit regnskab alligevel?!

Link to comment
Share on other sites

On 10/11/2017 at 1:57 PM, Thissel said:

Hej Morten,

Det ser godt ud det du har lavet indtil videre!
Nu har jeg selv arbejdet med Dineros API i et andet projekt, og da du både kan oprette fakturaer gennem API'et, og efterfølgende hente fakturaerne som pdf, så  burde der ikke være noget til hinder for at du udbyggede dit modul til at give brugeren valget mellem at bruge Prestashops fakturaer eller Dineros egne. Det kræver selvfølgelig stadig noget udvikling - men Dineros API bør ikke være nogen stopklods :)

Tror skam også det kan gøres (Storebuddy gør det), skal bare lige have gennemskuet API'et til det - det er jo ikke ligefrem fordi dokumentationen er helt vild god :D

Link to comment
Share on other sites

Nej, dokumentationen er ikke videre pædagogisk :)

Måske nedenstående kan hjælpe dig i gang. Det er en lettere forsimplet udgave af den kode jeg i et andet projekt benytter til at oprette fakturaer i Dinero via API'en.

Helt grundlæggende skal man først oprette en ny kontakt i Dinero (eller have id'et på en eksisterende kontakt man vil benytte) før man kan oprette en faktura.

 

function dinero($token,$guid,$data,$type,$attempt){
    
    $data_string = json_encode($data);
    
    $header = array("Content-Type: application/json",
                    "Authorization: Bearer ".$token,
                    "Host: api.dinero.dk",
                    "Content-Length: ".strlen($data_string));

    $posttype = "POST";
    if($guid != ""){ $guid = "/".$guid; $posttype ="PUT"; }
            
    $string = "https://api.dinero.dk/v1/XXXXX/".$type.$guid;
    $curl = curl_init("https://api.dinero.dk/v1/XXXXX/".$type.$guid);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $posttype);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_HEADER, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);

    $response = curl_exec($curl);
    if (!$response) {
        die("Connection Failure.\n");
    }
    
    $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
    curl_close($curl);

    $header = substr($response, 0, $headerSize);
    $body = substr($response, $headerSize);
    $result = json_decode($body);

   	return $result;
    }
}


function dinero_getToken(){

    $additionalHeaders = 'Authorization: Basic '.base64_encode('[USERNAME]:[PASSWORD]');
    
    $curl = curl_init("https://authz.dinero.dk/dineroapi/oauth/token");
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array($additionalHeaders, 'Content-Type: application/x-www-form-urlencoded'));
    curl_setopt($curl, CURLOPT_HEADER, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, "grant_type=password&scope=read write&username=[PASSWORD]&password=[PASSWORD]");

    $response = curl_exec($curl);
    if (!$response) {
        die("Connection Failure.\n");
    }

    $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
    curl_close($curl);

    $header = substr($response, 0, $headerSize);
    $body = substr($response, $headerSize);
    $result = json_decode($body);
    
    if ( isset($result->error) ) {
        error_log($result->error_message);
        die($result->error_message."\n");
    } else {
        return $result->access_token;
    }
}


/* Create invoice lines */   

$invoice_productlines[$i] = array(
  "Description" => $product_data["name"],
  "Comments" => html_entity_decode($description),
  "BaseAmountValue" => $amount,
  "Quantity" => $product["value"],
  "AccountNumber" => 1000,
  "Unit" => "parts"
);

/* Get Dinero token */

$token = dinero_getToken();

/* Create or update contact */

$data = array(
  "Name" => $company,
  "Street" => $address,
  "ZipCode" => $zip,
  "City" => $city,
  "CountryKey" => "DK",
  "Phone" => $phone,
  "Email" => $email,
  "AttPerson" => $firstname." ".$lastname,
  "VatNumber" => $cvr,
  "EanNumber" => $ean,
  "IsPerson" => false
);

$dinero_contact = dinero($token,$dinero_id,$data,"contacts",1);

if(!isset($dinero_id) || $dinero_id == ""){
  $dinero_id = $dinero_contact->ContactGuid;
}

/* Create or update invoice */

$data = array(
  "ContactGuid" => $dinero_id,
  "Comment" => $order_comment,
  "Language" => $dinero_lang,
  "ProductLines" => $invoice_productlines
);

dinero($token,$dinero_invoiceid,$data,"invoices",1);

}

 

Link to comment
Share on other sites

  • 1 year later...
  • 2 months later...
1 minute ago, Timpet said:

Jeg har selv lavet en, og er nysgerrig for hvorfor folk gerne vil have dem.i kassekladden og ikke blot som en faktura i Dinero med samme faktura nummer som i prestashop?

Da jeg startede på dette plugin, havde Dinero endnu ikke åbnet for muligheden for at oprette faktura via API.

Jeg har så "desværre" haft for meget om ørerne til at få kigget mere på det siden - selvom jeg af og til har savnet at den oprettede faktura direkte i Dinero.

Link to comment
Share on other sites

Det gør mit modul, altså opretter en faktura, den bruger ovnen i købet fakturanummeret fra prestashop så det hele tiden er ens.

Jeg har dog fået en del input fra en kunde, og tænker om der generelt er behov for en ændring af det for at gøre det mere attraktivt.

Andre spillere på markedet lader Dinero udsende fakturaen, hvilket og er en mulighed og så stiger fakturanummeret bare med nummeret i Dinero.

Edited by Timpet
Typos (see edit history)
Link to comment
Share on other sites

Den optimale løsning, i min optik, er at fakturaen oprettes i Dinero, men også kan ses direkte inde på den enkelte ordre i backoffice.

Du kan med fordel også lige tjekke at dit modul fungerer i ThirtyBees (det gør det jo med stor sandsynlighed), og i så fald tilføje det i listen over kompatible versioner på din hjemmeside ;)

Link to comment
Share on other sites

Personligt foretrækker jeg en løsning hvor man mere eller mindre deaktiverer Prestashops egen fakturafunktion og dermed heller ikke følger fakturanummeringen i Prestashop.

Om Dinero-fakturaen udsendes via Dinero eller Prestashop er ikke så afgørende i mine øjne, men det giver selvfølgelig en større grad af fleksibilitet hvis mailen sendes fra Prestashop, og man dermed kan sørge for at look and feel på mailen matcher ordrebekræftelsen og øvrige transactional e-mails.

 

Link to comment
Share on other sites

18 hours ago, Timpet said:

Jeg har selv lavet et modul, og er nysgerrig for hvorfor folk gerne vil have dem i kassekladden og ikke blot som en faktura i Dinero med samme faktura nummer som i prestashop?

Jeg ved ikke, om jeg er lidt gammeldags, men jeg nummererer alle mine bilag med et fortløbende nummer.
Derfor vil jeg gerne have alle fakturaer fra min shop i kassekladden, så de kan få det rette bilagsnummer.
Men jeg hører dog gerne om en smartere måde at bogføre på, fordi pt. bruger jeg kun kassekladden i Dinero.

Link to comment
Share on other sites

Det lyder som unødigt dobbelt arbejde i mine øre, hvis man kan lade fakturanummeret være ens, eller nøjes med at bruge dinero's faktura er bilagsnummeret ikke nødvendigt. Jeg går udfra Dinero har styr på håndtering af deres faktura i deres regnskab.

Link to comment
Share on other sites

Når jeg modtager en ordre i Prestashop så sendes bekræftelse til kunden og der oprettes en følgeseddel, når jeg markere en ordre som afsendt så oprettes fakturaen direkte i Dinero og på den faktura er der ordre reference fra Prestashop så der er sammenhæng.

På den måde sikre jeg at ALT fakturering sker igennem mit regnskabsprogram hvilket jeg personligt synes er både smart, praktisk og betryggende.

 

Link to comment
Share on other sites

Jeg har en smule svært ved abbonnements betalingsmodellen for et modul.

Det sagt, så ser det faktisk meget interessant ud, nu hvor jeg ikke har tiden til selv at lave funktionerne på mit modul :)

 

Hvordan håndterer dit modul faktura til kunder der er oprettet i Dinero med en specifik betalings betingelse?
F.eks. har jeg en del kunder der betaler med Kjelds EAN modul som har f.eks. Netto 30 dg. betingelse, ligesom jeg har et par kunder der har Lb. Md. + 30 Dg.
Hvis de kommer over automatisk, bliver kunden så automatisk matchet med eksisterende kunde/betingelser i Dinero?

Link to comment
Share on other sites

Fordelen ved abonnement er jo så at jeg bøjer mig i støvet og fikser det du godt kunne tænke dig.

Jeg har ikke tænkt over EAN, men jeg koder det gerne på på din skyld. Jeg kan lave et felt så du selv definere betalingsfristen ved brug af EAN. På kort betalinger bliver den automatisk sat til nul.

Link to comment
Share on other sites

Dels bruger jeg EAN betaling en del, men til mine kontokunder benytter jeg Universal Payment Module (har ikke lige fundet andet der dækker den slags ordentligt endnu)

Men hvis det kan komme til at virke med EAN og konto kunder også, så kunne det godt tænkes at jeg sprang på - det ville fjerne et par manuelle steps.

Link to comment
Share on other sites

  • 2 months later...
On 5/22/2019 at 3:30 PM, Claust said:

@Timpet kan jeg skrotte Storebuddy til Dinero, og købe dit modul istedet?

Claust, det jeg tænker jeg du godt kan. Jeg kender dog ikke storebuddy så grundlæggende. Hvem sender dine mails med fakturaen til kunden? Måske du vil fange mig på [email protected], så kan vi tag en dialog om det der?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...