Angebote an Kunden erstellen (B2B)

Mit diesem B2B-Anwendungsbeispiel "Angebote an Kunden erstellen" kann ein Käufer aus dem Warenkorb heraus ein individuelles Angebot im PDF-Format für seine Kunden erstellen.

Alle Produkte, die aktuell im Warenkorb liegen, werden in dieses PDF übernommen.

Beispiel-Ansicht:

Den Inhalt des PDFs kann der Käufer durch ein Konfigurations-Formular (siehe unten) beeinflussen, z. B.

Produktbilder anzeigen

Produktpreise anzeigen

Lieferzeiten anzeigen

Anzeige seines eigenen Firmenlogos

Kalkulationspauschale + Angabe des Wertes in Prozent

Rundungsfunktion für Kalkulationspauschale

Angebotsnummer

Kommission

Angebotsdatum

Gültigkeitsdatum

Telefonnummer

Adresse des Empfängers

Zusätzliche Warenkorb-Position

Beispiel-Ansicht des Konfigurations-Formulars:

 

Integration

Das Feature "Angebot für Ihre Kunden erstellen" setzt sich aus den folgenden WEBSALE-Bausteinen zusammen:

PDF-Anzeige des Warenkorbs

Wegweiser: PDF Anzeige des Warenkorbs

OneTime-Parameter (WS-OTPX) für die Eingabefelder und Übergaben in das PDF

Referenz: WS-OTPX

freie Adressdatenfelder (A-Suffix) für die Übergabe eines Kunden-Logos (optional)

Referenz: A-Suffix1…50

 

Konfigurations-Formular anlegen

Integrieren Sie folgenden Code auf einer beliebigen Seite (z. B. auf der Warenkorbseite (ws_basket.htm)):
 

<form action="~FORM-Basket~" method="post">
   <input type="hidden" name="otpofferbasket" value="true">

   <label><input type="checkbox" name="otpshowproductimage" value="true" checked> Produktbilder</label>
   <label><input type="checkbox" name="otpshowbasketprice" value="true" checked> Produktpreis</label>
   <label><input type="checkbox" name="otpshowbasketinventory" value="true" checked> Lieferzeiten</label>
   {A-Suffix1}<label><input type="checkbox" name="otpshowownlogo" value="true" checked> Eigenes Firmenlogo</label>{/A-Suffix1}

   <input type="text" name="otpoffernumber" value="" placeholder="Angebotsnummer">
   <input type="date" name="otpofferdate" value="" placeholder="Angebotsdatum">

   Adresse Ihres Kunden:
   <select name="otpofferaddrsalutation">
      <option value="" disabled>Anrede</option>
      <option value="Herr">Herr</option>
      <option value="Frau">Frau</option>
   </select>

   <input type="text" name="otpofferaddrfirstname" value="" placeholder="Vorname">
   <input type="text" name="otpofferaddrlastname" value="" placeholder="Nachname">
   <input type="text" name="otpofferaddrstreet1" value="" placeholder="Straße, Nr.">
   <input type="tel" name="otpofferaddrzip" value="" placeholder="PLZ">
   <input type="text" name="otpofferaddrcity" value="" placeholder="Ort">

   <select name="otpofferaddrcountry">
      {@A-Country_data}
         <option value="~A-Country_value~">~A-Country_value~</option>
      {/@A-Country_data}
   </select>

   Eingabe Kalkulation in Prozent + MwSt.:
   <input type="tel" name="otppricecalculation" value="" placeholder="0%">

   Eigene Position:
   <input type="text" name="otpoffercustompositionname" value="" placeholder="Pos. Name">
   <input type="tel" name="otpoffercustompositionquantity" value="1" placeholder="Pos. Menge">
   <input type="number" min="0.00" max="100000.00" step="0.01" name="otpoffercustompositionprice" value="" placeholder="Einzelpreis">

   <button type="submit" name="~BT-GeneratePDF~">Angebot erstellen</button>
</form>

 

PDF-Anzeige des Angebots

Legen Sie, wie im Topic "PDF-Anzeige des Warenkorbs" beschrieben, ein neues Template an.

Wegweiser: PDF Anzeige des Warenkorbs

Mit diesem Template wird das PDF generiert.

Mittels OTP-Parameter werden die gewünschten Informationen/Bestandteile des Angebots in das PDF übernommen.

Referenz: WS-OTPX

Beispiel:

{WS-OTPofferbasket}
  {WS-OTPshowownlogo}
    <img src="../images/~A-Suffix1~">
  {/WS-OTPshowownlogo}

   Adresse:
   {WS-OTPofferaddrsalutation}~WS-OTPofferaddrsalutation~{/WS-OTPofferaddrsalutation}<br>
   {WS-OTPofferaddrfirstname}~WS-OTPofferaddrfirstname~{/WS-OTPofferaddrfirstname} {WS-OTPofferaddrlastname}~WS-OTPofferaddrlastname~{/WS-OTPofferaddrlastname}<br>
   {WS-OTPofferaddrstreet1}~WS-OTPofferaddrstreet1~{/WS-OTPofferaddrstreet1}<br>
   {WS-OTPofferaddrzip}~WS-OTPofferaddrzip~{/WS-OTPofferaddrzip} {WS-OTPofferaddrcity}~WS-OTPofferaddrcity~{/WS-OTPofferaddrcity}<br>
   {WS-OTPofferaddrcountry}~WS-OTPofferaddrcountry~{/WS-OTPofferaddrcountry}

   {WS-OTPofferdate}Angebot erstellt am: ~WS-OTPofferdate~{/WS-OTPofferdate}
   {WS-OTPoffernumber}Angebot ~WS-OTPoffernumber~{/WS-OTPoffernumber}

   {BASKET-PR-Data}
      <table>
         <tr>
            {WS-OTPshowproductimage}
               <td></td>
            {/WS-OTPshowproductimage}
            <td>Produkt</td>
            <td>Menge</td>
            {WS-OTPshowbasketprice}
               <td>Einzelpreis</td>
               <td>Gesamtpreis</td>
            {/WS-OTPshowbasketprice}
         </tr>

         ~DC-CommercialCalc3_set(0)~
         {@BASKET-PR-Data}
            <tr>
               {WS-OTPshowproductimage}
                  <td><img src="~BASKET-PR-ThumbNail~"></td>
               {/WS-OTPshowproductimage}
               <td>~BASKET-PR-Name~</td>
               <td>~BASKET-PR-Quantity~</td>
               {WS-OTPshowbasketprice}
                  <td>
                     ~DC-CommercialCalc1_set($BASKET-PR-Price$)~
                     
                     {WS-TplComment}<!-- Hinzufügen der eigenen Kalkulation -->{/WS-TplComment}
                     {WS-OTPpricecalculation}~DC-CommercialCalc1_VATadd($WS-OTPpricecalculation$)~{/WS-OTPpricecalculation}

                     ~DC-CommercialCalc1~ ~WS-CurrencySymbol~
                  </td>
                  <td>
                     ~DC-CommercialCalc1_set($BASKET-PR-Sum$)~

                     {WS-TplComment}<!-- Hinzufügen der eigenen Kalkulation -->{/WS-TplComment}
                     {WS-OTPpricecalculation}~DC-CommercialCalc1_VATadd($WS-OTPpricecalculation$)~{/WS-OTPpricecalculation}

                     ~DC-CommercialCalc1~ ~WS-CurrencySymbol~

                     {WS-TplComment}<!-- Berechnen des Gesamtpreises -->{/WS-TplComment}
                     ~DC-CommercialCalc3_add($DC-CommercialCalc1$)~
                  </td>
               {/WS-OTPshowbasketprice}
            </tr>
         {/@BASKET-PR-Data}

         {WS-OTPoffercustompositionname}
            <tr>
               {WS-OTPshowproductimage}<td></td>{/WS-OTPshowproductimage}
               <td>~WS-OTPoffercustompositionname~</td>
               <td>~WS-OTPoffercustompositionquantity~</td>
               {WS-OTPshowbasketprice}
                  <td>
                     {WS-OTPoffercustompositionprice}
                        ~DC-CommercialCalc1_set($WS-OTPoffercustompositionprice$)~
                        ~DC-CommercialCalc1~ ~WS-CurrencySymbol~
                     {/WS-OTPoffercustompositionprice}
                  </td>
                  <td>
                     {WS-OTPoffercustompositionprice}
                        ~DC-CommercialCalc1_set($WS-OTPoffercustompositionprice$)~~DC-CommercialCalc1_mul($WS-OTPoffercustompositionquantity$)~
                        ~DC-CommercialCalc1~ ~WS-CurrencySymbol~

                        {WS-TplComment}<!-- Berechnen des Gesamtpreises -->{/WS-TplComment}
                        ~DC-CommercialCalc3_add($DC-CommercialCalc1$)~
                     {/WS-OTPoffercustompositionprice}
                  </td>
               {/WS-OTPshowbasketprice}
            </tr>
         {/WS-OTPoffercustompositionname}
      </table>

      {WS-OTPshowbasketprice}
         <table>
            <tr>
               <td>Summe</td>
               <td>~DC-CommercialCalc3~ ~WS-CurrencySymbol~</td>
            </tr>
            <tr>
               <td>Zzgl. 19% MwSt</td>
               <td>~DC-CommercialCalc1_set($DC-CommercialCalc3$)~~DC-CommercialCalc1_percent(19)~~DC-CommercialCalc1~ ~WS-CurrencySymbol~</td>
            </tr>
            <tr>
               <td>Gesamtbetrag</td>
               <td>~DC-CommercialCalc2_set($DC-CommercialCalc3$)~~DC-CommercialCalc2_VATadd(19)~~DC-CommercialCalc2~ ~WS-CurrencySymbol~</td>
            </tr>
         </table>
      {/WS-OTPshowbasketprice}
   {/BASKET-PR-Data}

{/WS-OTPofferbasket}

{!WS-OTPofferbasket}
   Normale Warenkorb PDF
{/!WS-OTPofferbasket}

 

Kunden-Logo übergeben (optional)

Das gewünschte Kunden-Logo muss in einem freien Adressdatenfeld (in unserem Beispiel A-Suffix1) eingefügt und auf den Server in das entsprechende Verzeichnis hochgeladen werden.

Referenz: A-Suffix1…50