Example #1
0
def gen_receipt(car_no='HR 02 AK 9064',mins = 50):
    os.environ["INVOICE_LANG"] = "en"
    client = Client("R/C Number: "+car_no)
    provider = Provider('Tez Parking', bank_account='2600420569', bank_code='2010',address='Tez Parking\n NIT Jalandhar', city='Jalandhar\n Punjab', zip_code='144001', phone='9138121216', email='*****@*****.**',  logo_filename='think.png')
    creator = Creator('Parking Operator')
    now = time()
    now = int(now)
    now = str(now)
    invoice = Invoice(client, provider, creator)
    invoice.currency_locale = 'en_US.UTF-8'
    rate =0.5
    if mins <= 60:
        rate = 20/60
    elif mins >60 and mins <= 180:
        rate = 40/60
    elif mins > 180 and mins <=300:
        rate = 50/60
    elif mins > 300 and mins <= 480:
        rate = 60/60
    elif mins > 480 and mins <= 720:
        rate = 80/60
    elif mins > 720 and mins <= 1440:
        rate = 100/60

    invoice_no = now+car_no[-4:]
    invoice.add_item(Item(mins, rate, description="Parking slot booking"))
    invoice.number = invoice_no

    pdf = SimpleInvoice(invoice)
    pdf.gen(invoice_no+".pdf", generate_qr_code=True)
    return invoice_no
Example #2
0
    def run(self, dispatcher: CollectingDispatcher, tracker: Tracker,
            domain: Dict) -> List[EventType]:
        items = tracker.get_slot("dish")
        quant = tracker.get_slot("quant")
        id = tracker.get_slot("email")
        import os

        from tempfile import NamedTemporaryFile

        from InvoiceGenerator.api import Invoice, Item, Client, Provider, Creator

        os.environ["INVOICE_LANG"] = "en"

        client = Client('Valuable Customer')
        provider = Provider('XYZEE', bank_account='00000', bank_code='0000')
        creator = Creator('Amanul Haque')

        invoice = Invoice(client, provider, creator)
        invoice.currency_locale = 'en_US.UTF-8'
        for item, quantity in zip(items, quant):
            invoice.add_item(Item(quantity, 00, description=item))

        from InvoiceGenerator.pdf import SimpleInvoice

        pdf = SimpleInvoice(invoice)
        pdf.gen("D:\GoBaskt-Intern\Food CB\invoices\invoice.pdf",
                generate_qr_code=True)

        dispatcher.utter_message(text='Invoice Created')
        return []
Example #3
0
    def generate(self, order, clientName):
        invoice = self._get_invoice(order, clientName)
        pdf = SimpleInvoice(invoice)
        name = f"{order.id}invoice.pdf"
        pdf.gen(f"{os.getenv('invoices')}{name}", generate_qr_code=True)

        return name
Example #4
0
def invoice(order):
    os.environ["INVOICE_LANG"] = "en"

    info = UserAddress.objects.get(user=order.client)
    info_seller = UserAddress.objects.get(user=User.objects.get(
        username='******'))
    client = Client('{}'.format(info.company_name),
                    '{} {}'.format(info.home_number, info.local_number),
                    '{} {}'.format(info.post, info.city))
    provider = Provider('{}'.format(info_seller.company_name),
                        '{} {}'.format(info_seller.home_number,
                                       info_seller.local_number),
                        '{} {}'.format(info_seller.post, info_seller.city),
                        bank_account='00000',
                        bank_code='0000')
    creator = Creator('Shop')

    invoice = Invoice(client, provider, creator)
    invoice.currency_locale = 'en_US.UTF-8'
    for item in order.product_list.product_list.all():
        invoice.add_item(
            Item('{}'.format(item.amount),
                 '{}'.format(item.product.price),
                 description="{}".format(item.product.name)))

    pdf = SimpleInvoice(invoice)
    pdf.gen("pro-forma.pdf")
Example #5
0
def invoice():
    pat = request.form.get('patient')
    idn = request.form.get('id')
    name = pat + "_" + idn
    client = Client(name)
    addr = Address(add)
    provider = Provider('ABC HOSPITAL',
                        bank_account='2600420569',
                        bank_code='2010')
    creator = Creator('DESK EXECUTIVE')
    bed = request.form.get('bedcost')
    med = request.form.get('medcost')
    dia = request.form.get('diacost')
    tot = request.form.get('total')
    d = request.form.get('Days')

    invoice = Invoice(client, provider, creator)
    invoice.currency = 'Rs'
    invoice.add_item(Item(d, bed, description="Bed cost"))
    invoice.add_item(Item(1, med, description="Medicine"))
    invoice.add_item(Item(1, dia, description="Diagnosis"))

    pdf = SimpleInvoice(invoice)
    url = "application/invoice/" + pat + "_" + idn + ".pdf"
    pdf.gen(url, generate_qr_code=True)

    patient_up = db.session.query(Patient).get(idn)
    patient_up.status = "discharged"
    db.session.commit()
    flash("Patient Discharged , Invoice generated in Invoice folder",
          "success")
    return redirect('/billing')
Example #6
0
def gen_pdf(request):
    # pdf = render_to_pdf('shop/pdf_template.html', {"data" :"Subham"})
    # response = HttpResponse(pdf, content_type='application/pdf')
    # filename = "output.pdf"
    # content = "attachment; filename=output.pdf"
    # response['Content-Disposition'] = content
    # return response

    # choose english as language
    os.environ["INVOICE_LANG"] = "en"

    client = Client('Client company')
    provider = Provider('My company',
                        bank_account='2600420569',
                        bank_code='2010')
    creator = Creator('John Doe')

    invoice = Invoice(client, provider, creator)
    invoice.currency_locale = 'en_US.UTF-8'
    invoice.add_item(Item(32, 600, description="Item 1"))
    invoice.add_item(Item(60, 50, description="Item 2", tax=21))
    invoice.add_item(Item(50, 60, description="Item 3", tax=0))
    invoice.add_item(Item(5, 600, description="Item 4", tax=15))
    pdf = SimpleInvoice(invoice)
    pdf.gen("invoice.pdf", generate_qr_code=True)
    return JsonResponse({'message': 'This is search page'})
Example #7
0
 def pdf_data(self):
     invoice = Invoice(client, provider, creator)
     invoice.currency_locale = 'en_IN.UTF-8'
     fire_data = self.firebase.get('/' + self.email + '/' + self.date, None)
     for x, y in fire_data.items():
         invoice.add_item(
             Item(y['quantity'], y['price'], description=y['name']))
     pdf = SimpleInvoice(invoice)
     pdf.gen("invoice.pdf", generate_qr_code=True)
Example #8
0
    def test_generate_with_vat(self):
        invoice = Invoice(Client('Kkkk'), Provider('Pupik'), Creator('blah'))
        invoice.add_item(Item(32, 600))
        invoice.add_item(Item(60, 50, tax=10))
        invoice.add_item(Item(50, 60, tax=5))
        invoice.add_item(Item(5, 600, tax=50))

        tmp_file = NamedTemporaryFile()

        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name)
Example #9
0
    def test_generate_with_vat(self):
        invoice = Invoice(Client('Kkkk'), Provider('Pupik'), Creator('blah'))
        invoice.add_item(Item(32, 600))
        invoice.add_item(Item(60, 50, tax=10))
        invoice.add_item(Item(50, 60, tax=5))
        invoice.add_item(Item(5, 600, tax=50))

        tmp_file = NamedTemporaryFile()

        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name)
Example #10
0
    def test_generate_with_vat(self):
        invoice = Invoice(Client('Kkkk'), Provider('Pupik'), Creator('blah'))
        invoice.add_item(Item(32, 600))
        invoice.add_item(Item(60, 50, tax=10))
        invoice.add_item(Item(50, 60, tax=5))
        invoice.add_item(Item(5, 600, tax=50))
        invoice.currency_locale = 'en_US.UTF-8'

        tmp_file = NamedTemporaryFile(delete=False)

        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name)
def createInvoice(invoice, totalAmount, paymentType, invoiceGenerationDate,
                  invoicePaymentDate, invoiceSaleDate, invoiceNumber, discount,
                  tax, invoiceType, taxAmount, warehouse, priceType,
                  accountingNumber):
    pdf = SimpleInvoice(invoice)
    currentDate = datetime.datetime.now().strftime("%H.%M %d-%m-%y")
    pdf.gen("faktura " + str(currentDate) + ".pdf", generate_qr_code=True)
    invoiceCode = operationsMongo.Database(
        "SP").getSingleLastData()["NR_KOD"] + 1
    warehouseDocumentCode = operationsMongo.Database(
        "WZ").getSingleLastData()["NR_KOD"] + 1
    invoice.number = invoiceNumber
    # print(invoice.client.summary)
    operationsMongo.Database("SP").insertData({
        "NR_KOD": invoiceCode,
        "TYP_FS": invoiceType,
        "DATA": invoiceGenerationDate,
        "NUMER": accountingNumber,
        "MAGAZYN": int(warehouse),
        "PARTNER": invoice.client.summary,
        "WARTOSC": totalAmount,
        "UPUST": discount,
        "RODZ_PL": paymentType,
        "UWAGI_PL": '',
        "DATA_PL": invoicePaymentDate,
        "R_CEN": priceType,
        "MAGA": "PRAWDA",
        "PODAT_WR": taxAmount,
        "DATA_SPRZ": invoiceSaleDate,
        "ZAT": "PRAWDA",
        "NOP": 1,
        "NR_DOK_MG": warehouseDocumentCode,
        "TYP_DOK_MG": "WZ",
        "WAR_DOK_MG": 689.0,
        "POMOCNICZE": "11",
        "WALUTA": 'PZL',
        "KURS": 0.0,
        "WARTOSCWAL": 'null',
        "TEKSTNUMER": 'null'
    })
    operationsMongo.Database("WZ").insertData({
        "NR_KOD": warehouseDocumentCode,
        "DATA": invoiceGenerationDate,
        "NUMER": accountingNumber,
        "SKAD": invoiceNumber + " - " + invoiceGenerationDate,
        "DOKAD": invoice.client.summary,
        "WARTOSC": totalAmount,
        "R_CEN": priceType,
        "MAGAZYN": int(warehouse),
        "ZAT": "PRAWDA",
        "NOP": 1
    })
def booking_invoice(request, booking_id):
    if request.method == 'POST':
        form = CreateInvoiceForm(request.POST or None)
        if form.is_valid():
            booking = Booking.objects.get(id=booking_id)
            gs = GuestBooking.objects.filter(booking=booking).first()
            items = RoomServiceBooking.objects.filter(booking=booking).all()
            os.environ["INVOICE_LANG"] = "en"
            client = Client(xstr(gs.guest.name) + " " + xstr(gs.guest.surname),
                            phone=xstr(gs.guest.phone),
                            email=xstr(gs.guest.email),
                            vat_id=xstr(gs.guest.id_number),
                            address=xstr(gs.guest.address),
                            zip_code=xstr(gs.guest.zip_code))
            provider = Provider(
                'Yahomas',
                bank_account='22946662932',
                bank_code='210',
                city="Istanbul",
                zip_code="34700",
                phone="+9002122443262",
                # logo_filename="/home/tugcan/Dropbox/SWE/Yahomas/yahomas_stamp_small.png"
            )
            creator = Creator(
                'Yahomas',
                # stamp_filename="/home/tugcan/Dropbox/SWE/Yahomas/YahomasStamp.png"
            )
            invoice = Invoice(client, provider, creator)
            invoice.currency = "$"
            invoice.number = str(booking_id)[:13]
            days = abs((booking.start_date - booking.end_date).days)
            if days <= 0:
                days = 1
            invoice.add_item(
                Item(days,
                     booking.room.price *
                     (100 - float(form.cleaned_data['discount'])) / 100,
                     description="Room 1"))
            for item in items:
                invoice.add_item(
                    Item(1, item.item.price, description=item.item.name))

            pdf = SimpleInvoice(invoice)
            file_path = f"{djangoSettings.STATIC_ROOT}/{str(booking_id)}.pdf"
            pdf.gen(file_path, generate_qr_code=True)

            with open(file_path, 'rb') as file:
                response = HttpResponse(file.read(),
                                        content_type='application/pdf')
                response[
                    'Content-Disposition'] = 'attachment; filename=invoice.pdf'
                return response
Example #13
0
    def test_generate_with_vat(self):
        invoice = Invoice(Client('Kkkk'), Provider('Pupik'), Creator('blah'))
        invoice.number = 'F20140001'
        invoice.add_item(Item(32, 600))
        invoice.add_item(Item(60, 50, tax=10))
        invoice.add_item(Item(50, 60, tax=5))
        invoice.add_item(Item(5, 600, tax=50))
        invoice.currency_locale = 'en_US.UTF-8'

        tmp_file = NamedTemporaryFile(delete=False)

        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name)
Example #14
0
def bill_generator(request):
    try:
        global bill_no
        fs = FileSystemStorage()
        os.environ["INVOICE_LANG"] = "en"
        table_no = request.data["no"]
        client = Client('Table ' + str(table_no))
        clerk = request.data["email"]
        provider = Provider('Restaurant',
                            bank_account='2600420569',
                            bank_code='2010')
        creator = Creator(clerk)
        invoice = Invoice(client, provider, creator)

        data = request.data["order"]  # quantity,price, name

        invoice.currency_locale = 'en_IN'
        invoice.currency = "INR"
        invoice.number = bill_no
        balance = list(Variable.objects.all().values())[0]["balance"]
        bill_no += 1

        for item in data:
            invoice.add_item(
                Item(item[1], item[2] / item[1], description=item[0], tax=14))
            my_custom_sql(
                "insert into sales(item_code,quantity) values({},{})".format(
                    int(item[3]), item[1]))
            balance += item[2]
            #print("select count(*) from sales where (item_code = {} && date >= {});".format(item[3], str((datetime.today() - timedelta(days=3)).strftime("%Y-%d,%Y"))))
            # count = my_custom_sql("select count(*) from sales where (item_code = {} && date >= {});".format(item[3], str((datetime.today() - timedelta(days=3)).strftime("%Y-%m-%d"))))[0][0]

        Variable.objects.all().delete()
        Variable(balance=balance).save()
        filename = "invoice" + str(bill_no) + ".pdf"
        pdf = SimpleInvoice(invoice)
        pdf.gen(filename, generate_qr_code=True)
        t = Thread(target=calculateThreshold, args=(data, ))
        t.start()

        if fs.exists(filename):
            with fs.open(filename) as pdf:
                response = HttpResponse(pdf, content_type='application/pdf')
                #response['Content-Disposition'] = 'attachment; filename="mypdf.pdf"' #user will be prompted with the browser’s open/save file
                response['Content-Disposition'] = 'inline; filename={}'.format(
                    filename
                )  #user will be prompted display the PDF in the browser
                return response

    except FileNotFoundError:
        raise Http404()
def GenerateInvoice():
    i, x = 0, 1
    itemQuantity = input("How many items would you like to add? ")

    while i < itemQuantity:
        print('Please enter the details for Item ' + str(x))
        Quantity = raw_input("Please enter a quantity of good provided: ")
        Price = raw_input("Please enter the total price: ")
        Description = raw_input("Please enter a description: ")
        invoice.add_item(Item(Quantity, Price, Description))
        x += 1
        i += 1
    pdf = SimpleInvoice(invoice)
    invoiceName = "Invoice001.pdf"
    pdf.gen(invoiceName, generate_qr_code=True)
Example #16
0
    def invoicing(self, c, lines, iva=21, invoice_num=None):
        if not invoice_num:
            invoice_num = "F000001"
        else:
            invoice_num = 'F{}'.format(str(invoice_num).zfill(6))
        # choose catalan language
        os.environ["INVOICE_LANG"] = "ca"

        client = Client(
            c.name, address=c.direccio, zip_code=c.cp, phone=c.phone, email=c.email, vat_id=c.cif,
        )
        name, cp, address, city, email, phone = self.get_config_file_info()

        provider = Provider(
            name, zip_code=cp, address=address, city=city, email=email, phone=phone, vat_id='E17087289',
            logo_filename=ICONS + '/logo_factura.jpg'
        )

        creator = Creator(name)

        invoice = Invoice(client, provider, creator)
        os.environ["INVOICE_LANG"] = "ca"
        invoice.currency_locale = 'ca_ES.UTF-8'
        invoice.currency = '€'
        invoice.number = invoice_num
        invoice.use_tax = True
        invoice.date = datetime.now()
        for line_product in lines:
            price_without_iva = self.extract_iva(line_product.price, iva)
            invoice.add_item(
                Item(
                    count=line_product.quant, price=float(price_without_iva), description=line_product.name, tax=iva
                )
            )

        f = NamedTemporaryFile(delete=False, suffix='.pdf')
        pdf_path = f.name
        pdf = SimpleInvoice(invoice)
        pdf.gen(pdf_path, generate_qr_code=False)

        return pdf_path
Example #17
0
def create_invoice(user, order):
    os.environ["INVOICE_LANG"] = "en"

    client_address = user.customer.street + ',<br/>' + user.customer.area
    client_zip_code = user.customer.zipcode
    client_phone = str(user.customer.phone)
    client_email = user.email

    provider_address = 'No.185, Bellman Ford St.' + ',<br/>' + 'T. Nagar'
    provider_zip_code = '600056'
    provider_phone = '044-42353988'
    provider_email = '*****@*****.**'
    payment_method = order.get_payment_type_display()

    client = Client(
        summary=user.customer.fullname,
        address=client_address,
        zip_code=client_zip_code,
        phone=client_phone,
        email=client_email,
    )
    provider = Provider(
        summary='The Water Company',
        address=provider_address,
        zip_code=provider_zip_code,
        phone=provider_phone,
        email=provider_email,
        payment_method=payment_method,
    )
    creator = Creator('TWC')

    invoice = Invoice(client, provider, creator, str(order.id))
    invoice.currency_locale = 'en.UTF-8'
    items = OrderItem.objects.filter(order=order)
    for item in items:
        invoice.add_item(
            Item(item.quantity, item.price, description=item.product.name))

    pdf = SimpleInvoice(invoice)
    pdf.gen(MEDIA_ROOT + '/orders/' + str(order.id) + ".pdf",
            generate_qr_code=False)
Example #18
0
    def test_generate(self):
        provider = Provider('Pupik')
        provider.address = 'Kubelikova blah blah blah'
        provider.zip = '12655465'
        provider.city = 'Frantisek'
        provider.vat_id = 'CZ8590875682'
        provider.ir = '785684523'
        provider.email = '*****@*****.**'
        provider.bank_account = '2600420569/2010'
        provider.bank_name = 'RB'
        provider.note = u'zapsaná v obchodním rejstříku vedeném městským soudem v Praze,\noddíl C, vložka 176551'

        client = Client('Kkkk')
        client.summary = 'Bla blah blah'
        client.address = 'Kubelikova blah blah blah'
        client.zip = '12655465'
        client.city = 'Frantisek'
        client.vat_id = 'CZ8590875682'
        client.ir = '785684523'
        client.phone = '785684523'
        client.email = '*****@*****.**'
        client.note = u'zapsaná v obchodním rejstříku vedeném městským soudem v Praze,\noddíl C, vložka 176551'

        invoice = Invoice(client, provider, Creator('blah'))
        invoice.title = u"Testovací faktura"
        invoice.add_item(Item(32, 600.6, description=u"Krátký popis", tax=50))
        invoice.add_item(Item(32, 2.5, tax=20))
        invoice.add_item(
            Item(
                5,
                25.42,
                description=
                u"Dlouhý popis blah blah blah blah blah blah blah blah blah blah blah "
                u"blah blah blah blah blah blah blah blah blah blah blah blah blah blah "
                u"blah blah blah blah blah blah blah blah blah blah blah",
                tax=20))
        for i in range(1, 26):
            invoice.add_item(Item(5, 25.42, description=u"Popis", tax=0))
        invoice.specific_symbol = 666
        invoice.taxable_date = datetime.date.today()
        invoice.variable_symbol = '000000001'
        invoice.number = 'F20140001'
        invoice.payback = datetime.date.today()
        invoice.currency = u'Kč'
        invoice.currency_locale = 'cs_CZ.UTF-8'
        invoice.rounding_result = True

        tmp_file = NamedTemporaryFile(delete=False)
        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name, True)

        invoice.number = 1
        invoice.reason = u"Položka navíc"
        tmp_file1 = NamedTemporaryFile(delete=False)
        pdf = CorrectingInvoice(invoice)
        pdf.gen(tmp_file1.name)
Example #19
0
    def test_generate(self):
        provider = Provider('Pupik')
        provider.address = 'Kubelikova blah blah blah'
        provider.zip = '12655465'
        provider.city = 'Frantisek'
        provider.vat_id = 'CZ8590875682'
        provider.ir = '785684523'
        provider.email = '*****@*****.**'
        provider.bank_account = '2600420569/2010'
        provider.bank_name = 'RB'
        provider.note = u'zapsaná v obchodním rejstříku vedeném městským soudem v Praze,\noddíl C, vložka 176551'

        client = Client('Kkkk')
        client.summary = 'Bla blah blah'
        client.address = 'Kubelikova blah blah blah'
        client.zip = '12655465'
        client.city = 'Frantisek'
        client.vat_id = 'CZ8590875682'
        client.ir = '785684523'
        client.phone = '785684523'
        client.email = '*****@*****.**'
        client.note = u'zapsaná v obchodním rejstříku vedeném městským soudem v Praze,\noddíl C, vložka 176551'

        invoice = Invoice(client, provider, Creator('blah'))
        invoice.add_item(Item(32, 600.6, tax=50))
        invoice.add_item(Item(32, 2.5, tax=20))
        invoice.add_item(Item(5, 25.42, tax=20))
        invoice.add_item(Item(5, 25.42, tax=0))
        invoice.specific_symbol = 666
        invoice.taxable_date = '1.1.1979'
        invoice.variable_symbol = '000000001'
        invoice.currency = u'Kč'
        invoice.rounding_result = True


        tmp_file = NamedTemporaryFile(delete=False)

        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name, True)
Example #20
0
    def test_generate_with_vat(self):
        os.environ["INVOICE_LANG"] = "en"
        invoice = Invoice(Client('Kkkk'), Provider('Pupik'), Creator('blah'))
        invoice.number = 'F20140001'
        invoice.use_tax = True
        invoice.add_item(Item(32, 600))
        invoice.add_item(Item(60, 50, tax=10))
        invoice.add_item(Item(50, 60, tax=5))
        invoice.add_item(Item(5, 600, tax=50))
        invoice.currency_locale = 'en_US.UTF-8'
        invoice.currency = 'USD'

        tmp_file = NamedTemporaryFile(delete=False)

        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name)

        pdf = PdfFileReader(tmp_file)
        pdf_string = pdf.pages[0].extractText()
        self.assertTrue("$3,000.00" in pdf_string)
        self.assertTrue("Total with tax: $30,150.00" in pdf_string)
        self.assertTrue("Creator: blah" in pdf_string)
Example #21
0
    def test_generate_with_vat(self):
        os.environ["INVOICE_LANG"] = "en"
        invoice = Invoice(Client('Kkkk'), Provider('Pupik'), Creator('blah'))
        invoice.number = 'F20140001'
        invoice.use_tax = True
        invoice.add_item(Item(32, 600))
        invoice.add_item(Item(60, 50, tax=10))
        invoice.add_item(Item(50, 60, tax=5))
        invoice.add_item(Item(5, 600, tax=50))
        invoice.currency_locale = 'en_US.UTF-8'
        invoice.currency = 'USD'

        tmp_file = NamedTemporaryFile(delete=False)

        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name)

        pdf = PdfFileReader(tmp_file)
        pdf_string = pdf.pages[0].extractText()
        self.assertTrue(u"$3,000.00" in pdf_string)
        self.assertTrue(u"Total with tax: $30,150.00" in pdf_string)
        self.assertTrue(u"Creator: blah" in pdf_string)
Example #22
0
    def test_generate(self):
        provider = Provider('Pupik')
        provider.address = 'Kubelikova blah blah blah'
        provider.zip = '12655465'
        provider.city = 'Frantisek'
        provider.vat_id = 'CZ8590875682'
        provider.ir = '785684523'
        provider.email = '*****@*****.**'
        provider.bank_account = '2600420569/2010'
        provider.bank_name = 'RB'
        provider.note = u'zapsaná v obchodním rejstříku vedeném městským soudem v Praze,\noddíl C, vložka 176551'

        client = Client('Kkkk')
        client.summary = 'Bla blah blah'
        client.address = 'Kubelikova blah blah blah'
        client.zip = '12655465'
        client.city = 'Frantisek'
        client.vat_id = 'CZ8590875682'
        client.ir = '785684523'
        client.phone = '785684523'
        client.email = '*****@*****.**'
        client.note = u'zapsaná v obchodním rejstříku vedeném městským soudem v Praze,\noddíl C, vložka 176551'

        invoice = Invoice(client, provider, Creator('blah'))
        invoice.add_item(Item(32, 600.6, tax=50))
        invoice.add_item(Item(32, 2.5, tax=20))
        invoice.add_item(Item(5, 25.42, tax=20))
        invoice.add_item(Item(5, 25.42, tax=0))
        invoice.specific_symbol = 666
        invoice.taxable_date = '1.1.1979'
        invoice.variable_symbol = '000000001'
        invoice.currency = u'Kč'
        invoice.rounding_result = True

        tmp_file = NamedTemporaryFile(delete=False)

        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name, True)
Example #23
0
def invoice():
    form = InvoiceForm()
    print(form)
    if form.validate_on_submit():
        client = form.client.data
        creator = form.creator.data
        item_name = form.item_name.data
        price = form.price.data
        quantity = form.quantity.data
        a = current_user
        client = Client(client)
        provider = Provider(a.name, bank_account=a.gstnumber, bank_code='2018')
        creator = Creator(creator)
        os.environ["INVOICE_LANG"] = "en"
        invoice = Invoice(client, provider, creator)
        invoice.currency_locale = "en_US.UTF_8"

        invoice.add_item(Item(quantity, price, item_name))
        from InvoiceGenerator.pdf import SimpleInvoice
        pdf = SimpleInvoice(invoice)
        pdf.gen("invoice.pdf", generate_qr_code=False)
        return send_file("invoice.pdf")
    return render_template('invoice.html', form=form)
def createPurchaseInvoice(invoice, totalAmount):
    pdf = SimpleInvoice(invoice)
    currentDate = datetime.datetime.now().strftime("%H.%M %d-%m-%y")
    currentDateDbFormat = datetime.datetime.now().strftime("%d.%m.%Y")
    pdf.gen("faktura " + str(currentDate) + ".pdf", generate_qr_code=True)
    invoiceCode = operationsMongo.Database(
        "KU").getSingleLastData()["NR_KOD"] + 1
    invoiceCode = operationsMongo.Database(
        "KU").getSingleLastData()["NR_KOD"] + 1
    print(invoice.client.summary)
    operationsMongo.Database("KU").insertData({
        "NR_KOD": invoiceCode,
        "TYP_FS": "H",
        "DATA": currentDateDbFormat,
        "NUMER": 89,
        "MAGAZYN": 1,
        "PARTNER": invoice.client.summary,
        "WARTOSC": totalAmount,
        "UPUST": 0.0,
        "RODZ_PL": "G",
        "UWAGI_PL": '',
        "DATA_PL": '',
        "R_CEN": "H",
        "MAGA": "PRAWDA",
        "PODAT_WR": 210.98,
        "DATA_SPRZ": currentDateDbFormat,
        "ZAT": "PRAWDA",
        "NOP": 1,
        "NR_DOK_MG": 478.0,
        "TYP_DOK_MG": "WZ",
        "WAR_DOK_MG": 689.0,
        "POMOCNICZE": "11",
        "WALUTA": 'null',
        "KURS": 0.0,
        "WARTOSCWAL": 'null',
        "TEKSTNUMER": 'null'
    })
Example #25
0
    def test_generate(self):
        provider = Provider('Pupik')
        provider.address = 'Kubelikova blah blah blah'
        provider.zip = '12655465'
        provider.city = 'Frantisek'
        provider.vat_id = 'CZ8590875682'
        provider.ir = '785684523'
        provider.email = '*****@*****.**'
        provider.bank_account = '2600420569/2010'
        provider.bank_name = 'RB'
        provider.note = u'zapsaná v obchodním rejstříku vedeném městským soudem v Praze,\noddíl C, vložka 176551'

        client = Client('Kkkk')
        client.summary = 'Bla blah blah'
        client.address = 'Kubelikova blah blah blah'
        client.zip = '12655465'
        client.city = 'Frantisek'
        client.vat_id = 'CZ8590875682'
        client.ir = '785684523'
        client.phone = '785684523'
        client.email = '*****@*****.**'
        client.note = u'zapsaná v obchodním rejstříku vedeném městským soudem v Praze,\noddíl C, vložka 176551'

        invoice = Invoice(client, provider, Creator('blah'))
        invoice.title = u"Testovací faktura"
        invoice.add_item(Item(32, 600.6, description=u"Krátký popis", tax=50))
        invoice.add_item(Item(32, 2.5, tax=20))
        invoice.add_item(Item(5, 25.42,
                              description=u"Dlouhý popis blah blah blah blah blah blah blah blah blah blah blah "
                                          u"blah blah blah blah blah blah blah blah blah blah blah blah blah blah "
                                          u"blah blah blah blah blah blah blah blah blah blah blah",
                              tax=20))
        for i in range(1, 26):
            invoice.add_item(Item(5, 25.42, description=u"Popis", tax=0))
        invoice.specific_symbol = 666
        invoice.taxable_date = datetime.date.today()
        invoice.variable_symbol = '000000001'
        invoice.number = 'F20140001'
        invoice.payback = datetime.date.today()
        invoice.currency = u'Kč'
        invoice.currency_locale = 'cs_CZ.UTF-8'
        invoice.rounding_result = True

        tmp_file = NamedTemporaryFile(delete=False)
        pdf = SimpleInvoice(invoice)
        pdf.gen(tmp_file.name, True)

        invoice.number = 1
        invoice.reason = u"Položka navíc"
        tmp_file1 = NamedTemporaryFile(delete=False)
        pdf = CorrectingInvoice(invoice)
        pdf.gen(tmp_file1.name)
Example #26
0
from InvoiceGenerator.pdf import SimpleInvoice
from tempfile import NamedTemporaryFile

# choose en as language
os.environ["INVOICE_LANG"] = "tr"

client = Client('İşin Başı Reklam Bilgi Teknolojileri ve Ticaret A.Ş')
client.address = 'GÜLBAHÇE GÜLBAHÇE CAD.NO:1/17'
client.city = 'URLA/İZMİR'
client.zip = '35000'
client.vat_id = '4820575342'
client.ir = 'Urla'
provider = Provider('İşin Başı Reklam Bilgi Teknolojileri ve Ticaret A.Ş')
provider.address = 'GÜLBAHÇE GÜLBAHÇE CAD.NO:1/17'
provider.city = 'URLA/İZMİR'
provider.zip = '35000'
provider.vat_id = '4820575342'
provider.ir = 'Urla'
creator = Creator('Workif')

invoice = Invoice(client, provider, creator)
invoice.currency_locale = 'tr_TR.UTF-8'
invoice.currency = '₺'
invoice.date = '10-12-2017'
invoice.number = '205123123112'
invoice.add_item(Item(1, 1.24, description="Ödeme Hizmeti Komisyonu"))

tmp_file = NamedTemporaryFile(delete=False)
pdf = SimpleInvoice(invoice)
a = pdf.gen(tmp_file.name)
print(a)
Example #27
0
from tempfile import NamedTemporaryFile

from InvoiceGenerator.api import Invoice, Item, Client, Provider, Creator
from InvoiceGenerator.pdf import SimpleInvoice


client = Client('Client company')
provider = Provider('My company', bank_account='2600420569/2010')
creator = Creator('John Doe')

invoice = Invoice(client, provider, creator)
invoice.currency_locale = 'en_US.UTF-8'
invoice.add_item(Item(32, 600, description="Item 1"))
invoice.add_item(Item(60, 50, description="Item 2", tax=10))
invoice.add_item(Item(50, 60, description="Item 3", tax=5))
invoice.add_item(Item(5, 600, description="Item 4", tax=50))

tmp_file = NamedTemporaryFile(delete=False)
pdf = SimpleInvoice(invoice)
pdf.gen(tmp_file.name, generate_qr_code=False)
Example #28
0
import os
from tempfile import NamedTemporaryFile
from InvoiceGenerator.api import Invoice, Item, Client, Provider, Creator, Address
from InvoiceGenerator.pdf import SimpleInvoice

# choose english as language
os.environ["INVOICE_LANG"] = "en"

my_paypal = '*****@*****.**'
client_paypal = '*****@*****.**'
client = Client(summary = 'Karelyns Vegan ', address = '100 5th street', city = 'Miami Florida', zip_code = '', note = f'PayPal Email: {client_paypal}')
provider = Provider(summary = 'S.C. BIMP Network S.R.L.', address = 'Str. Crinilor, Nr. 31', city = 'Mircea Voda, Jud. Braila', zip_code = '817095', note = f'PayPal Email: {my_paypal}')
creator = Creator('Rares-Adrian Mosescu')


invoice = Invoice(client, provider, creator)
invoice.currency_locale = 'en_US.UTF-8'
invoice.currency= '$'
number = 1
invoice.number = f'BIMP-{number}'
invoice.add_item(Item(1, 65, description="Instagram Promotion"))

pdf = SimpleInvoice(invoice)
pdf.gen("invoice.pdf")
Example #29
0
    def post(self, *args, **kwargs):
        form = CheckoutForm(self.request.POST or None)
        if self.request.user.profile.is_warsztat():
            form = WarsztatCheckoutForm(self.request.POST or None)

        try:
            order = Order.objects.get(customer=self.request.user, ordered=False)
            if form.is_valid():
                street_address = form.cleaned_data.get('street_address')
                apartment_address = form.cleaned_data.get('apartment_address')
                country = form.cleaned_data.get('country')
                zip_code = form.cleaned_data.get('zip_code')
                payment_option = form.cleaned_data.get('payment_option')

                checkout_address = CheckoutAddress(
                    user=self.request.user,
                    street_address=street_address,
                    apartment_address=apartment_address,
                    country=country,
                    zip_code=zip_code
                )
                checkout_address.save()
                order.checkout_address = checkout_address
                order.save()

                PAYMENT_OPTIONS = tuple()
                if self.request.user.profile.is_warsztat():
                    PAYMENT_OPTIONS = PAYMENT_WARSZTAT
                else:
                    PAYMENT_OPTIONS = PAYMENT

                for payment_tuple in PAYMENT_OPTIONS:
                    if payment_option == payment_tuple[0]:
                        order.payment_method = payment_tuple[1]
                        order.ordered = True

                        if order.payment_method == 'Faktura':
                            os.environ["INVOICE_LANG"] = "pl"

                            client = Client(order.customer.username + '<br />'
                                            + str(order.customer.email) + '<br />'
                                            + order.customer.profile.street_address + '<br />'
                                            + order.customer.profile.postal_code + ' '
                                            + order.customer.profile.city
                                            )
                            provider = Provider('Auto Parts', bank_account='2600420569', bank_code='2010')
                            creator = Creator('Jan Kowalski')
                            invoice = Invoice(client, provider, creator)
                            invoice.number = order.id
                            invoice.currency = 'PLN'
                            invoice.currency_locale = 'pl_PL.UTF-8'
                            for order_line in order.order_lines.all():
                                invoice.add_item(Item(order_line.quantity, order_line.product.get_discount_price(),
                                                      description=order_line.product.name, tax=23))

                            pdf_name = "invoice" + str(order.id) + ".pdf"
                            pdf = SimpleInvoice(invoice)
                            pdf.gen(pdf_name)
                            with open(pdf_name, 'rb') as f:
                                order.invoice_file.save(pdf_name, File(f))
                            if os.path.exists(pdf_name):
                                os.remove(pdf_name)

                        order.save()
                        return redirect('pages:orders_list')

                messages.warning(self.request, "Niepoprawna metoda płatności")
                return redirect('pages:checkout')

        except ObjectDoesNotExist:
            messages.error(self.request, "Nie masz żadnego zamówienia")
            return redirect("pages:order-summary")
Example #30
0
    def test_required_args(self):
        self.assertRaises(AssertionError, SimpleInvoice, 'Invoice')
        invoice = Invoice(Client('Kkkk'), Provider('Pupik'), Creator('blah'))

        SimpleInvoice(invoice)
Example #31
0
from InvoiceGenerator.pdf import SimpleInvoice
import os
from tempfile import NamedTemporaryFile
# Create PDF File Invoice
# chose english as language
os.environ["INVOICE_LANG"] = "en"
# Detail Client
client = Client('Niracha')
client.address = '75/6 m.19 Thaitani 15 Klongnung Klongluang Phatumtani 12120'

# Detail Providor
providor = Provider('My Company', bank_account='2600420569', bank_code='2010')
providor.address = '75/6 m.19 Thaitani 15 Klongnung Klongluang Phatumtani 12120'
providor.zip_code = '12120'
providor.city = 'Bangkok'
providor.email = '*****@*****.**'
providor.note = 'Test Create PDF with python'

creator = Creator('Nattapong')
# Example invoice.add_item(Item(จำนวน, ราคา, description='Item 1'))
invoice = Invoice(client, providor, creator)
invoice.currency_locale = 'en_US,UTF-8'
invoice.add_item(Item(1, 49000, description='Macbook Pro 2019'))
invoice.add_item(Item(60, 50, description='Item 2', tax=21))
invoice.add_item(Item(50, 60, description='Item 3', tax=0))
invoice.add_item(Item(5, 600, description='Item 4', tax=15))

pdf = SimpleInvoice(invoice)
pdf.gen('file/test_invoice.pdf', generate_qr_code=True)

from tempfile import NamedTemporaryFile

from InvoiceGenerator.api import Invoice, Item, Client, Provider, Creator
from InvoiceGenerator.pdf import SimpleInvoice

client = Client('Client company')
provider = Provider('My company', bank_account='2600420569/2010')
creator = Creator('John Doe')

invoice = Invoice(client, provider, creator)
invoice.currency_locale = 'en_US.UTF-8'
invoice.add_item(Item(32, 600, description="Item 1"))
invoice.add_item(Item(60, 50, description="Item 2", tax=10))
invoice.add_item(Item(50, 60, description="Item 3", tax=5))
invoice.add_item(Item(5, 600, description="Item 4", tax=50))

tmp_file = NamedTemporaryFile(delete=False)
pdf = SimpleInvoice(invoice)
pdf.gen(tmp_file.name, generate_qr_code=True)
import os

from tempfile import NamedTemporaryFile

from InvoiceGenerator.api import Invoice, Item, Client, Provider, Creator
from InvoiceGenerator.pdf import SimpleInvoice
# choose english as language
os.environ["INVOICE_LANG"] = "en"

client = Client('Client company')
provider = Provider('My company', bank_account='2600420569', bank_code='2010')
creator = Creator('John Doe')

invoice = Invoice(client, provider, creator)
invoice.currency_locale = 'en_US.UTF-8'
invoice.add_item(Item(32, 600, description="Item 1"))
invoice.add_item(Item(60, 50, description="Item 2", tax=21))
invoice.add_item(Item(50, 60, description="Item 3", tax=0))
invoice.add_item(Item(5, 600, description="Item 4", tax=15))

pdf = SimpleInvoice(invoice)
pdf.gen("invoice.pdf", generate_qr_code=True)
Example #34
0
locale.setlocale(locale.LC_ALL, '')

client = Client(name=u"Polidea Sp. z o.o.",
                address1=u"Przeskok 2",
                address2=u"00-032 Warszawa",
                nip="7010185832")

provider = Provider(name=u"Polidea Sp. z o.o.",
                    address1=u"Przeskok 2",
                    address2=u"00-032 Warszawa",
                    nip="7010185832",
                    bank_name="Bank",
                    bank_account="11 2222 3333 4444 5555 6666 7777")

invoice_number = u"1/1/2015"
invoice_date = u"23.01.2015"

invoice = Invoice(client, provider, invoice_number, invoice_date)
invoice.add_item(
    Item(name=u"Usługa programistyczna\nusługa B która będzie bardzo długa",
         count=1,
         unit_price=1000,
         tax=23))
invoice.add_item(
    Item(name=u"Usługa programistyczna 2", count=1, unit_price=1500, tax=8))
invoice.add_item(
    Item(name=u"Usługa programistyczna 3", count=1, unit_price=12454, tax=23))

pdf = SimpleInvoice(invoice, 'invoice.pdf')
def letscreate():
    pdf = SimpleInvoice(invoice)
    pdf.gen("invoice3.pdf", generate_qr_code=True)
Example #36
0
##########

os.environ["INVOICE_LANG"] = "en"

client = Client(client_name)
provider = Provider('George Ruck Data Science', bank_account='22076047', bank_code='40-06-21')
creator = Creator('George Ruck')

inv_num = open(r'invoice_num.txt','r+')
num = inv_num.read()
inv_num.close()
os.remove('invoice_num.txt')
file = open('invoice_num.txt','w')
file.write(str(int(num) + 1))
file.close()

invoice = Invoice(client, provider, creator)
invoice.currency_locale = 'en_GB.UTF-8'
invoice.currency = '£'
invoice.date = date.today()
invoice.payback = date.today() + timedelta(days = 14)
invoice.number = int(num)

for item in items:
    invoice.add_item(item)

invoice.title = "Freelance Tech Camp - Python"

pdf = SimpleInvoice(invoice)
os.chdir(r'C:\Users\George\Documents\Invoices')
pdf.gen('{}_RUCK_{}.pdf'.format(num,client_name),generate_qr_code = True)