Exemplo n.º 1
0
def ReceptionBill():
    bills = InvoicesAPI.GetBills('reception')
    paymethod = {}
    if request.method == 'POST':
        if request.form['submit'] == 'Submit':
            try:
                paymethod['acttype'] = 'Assets'
                paymethod['actcat'] = request.form['PaymentMethod']
                paymethod['actname'] = request.form['PaymentAccount']
                paymethod['currency'] = request.form['PaymentCurrency']
                paymethod['debit'] = request.form['debit']
                paymethod['credit'] = 0

                InvoicesAPI.CreateBill(
                    session['username'], session['password'],
                    request.form['PaymentDate'], 'reception',
                    request.form.getlist('account-type'),
                    request.form.getlist('account-category'),
                    request.form.getlist('account-name'),
                    request.form.getlist('currency'), paymethod['credit'],
                    request.form.getlist('credit'),
                    request.form.getlist('description'), paymethod,
                    request.form['comments'])
                flash('Bill successfully created...', category='success')
                return redirect(url_for('invoices.ReceptionBill'))
            except Exception as e:
                flash(str(e), category='fail')
                return redirect(url_for('invoices.ReceptionBill'))
    return render_template('invoices/reception_bill.html',
                           username=session['username'],
                           role=session['role'],
                           bills=bills)
Exemplo n.º 2
0
def edit_customer(cst):
    form = EnterForms.CustomersForm(request.form)
    data = InvoicesAPI.GetAllCustomers()
    data1 = InvoicesAPI.GetOneCustomer(session['username'],
                                       session['password'], cst)
    if request.method == 'POST':
        if request.form['submit'] == 'Submit' and form.validate():
            try:
                InvoicesAPI.UpdateCustomer(
                    session['username'], session['password'], cst,
                    request.form['name'], request.form['address'],
                    request.form['phone1'], request.form['phone2'],
                    request.form['email'], request.form['pobox'],
                    request.form['description'])
                flash('Provider updated successfully', category='success')
                return redirect(url_for('invoices.Customers'))
            except Exception as e:
                flash(str(e), category='fail')
                return redirect(url_for('invoices.Customers'))
    return render_template('invoices/edit_customer.html',
                           username=session['username'],
                           role=session['role'],
                           form=form,
                           data=data,
                           data1=data1)
Exemplo n.º 3
0
def ViewPaymentBill(billcode):
    Appr = InvoicesAPI.BillApproversList()
    bills = InvoicesAPI.GetBills('payment')
    paymethod = {}
    data1, data2 = InvoicesAPI.GetOneBill(billcode, 'payment')
    if request.method == 'POST':
        if request.form['submit'] == 'Submit' and session['username'] in Appr:
            try:
                InvoicesAPI.RegisterBill(session['username'],
                                         session['password'], billcode,
                                         request.form['status'])
                flash('Bill registered successfully...', category='success')
                return redirect(url_for('invoices.PaymentBill'))
            except Exception as e:
                flash(str(e), category='fail')
                return redirect(url_for('invoices.PaymentBill'))
        else:
            flash(
                'This user does not have permission to register this bill...',
                category='fail')
            return redirect(
                url_for('invoices.ViewPaymentBill', billcode=billcode))
    return render_template('invoices/view_payment_bill.html',
                           username=session['username'],
                           role=session['role'],
                           bills=bills,
                           data1=data1,
                           data2=data2)
Exemplo n.º 4
0
def ViewInvoice(code, tpy):
    Appr = InvoicesAPI.ApproversList()
    iframe = url_for('invoices.InvoiceView', code=code)
    invs = InvoicesAPI.GetInvoices(tpy)
    RS, CGS, Stat = InvoicesAPI.REVSnCOST(code)
    if request.method == 'POST':
        if request.form['submit'] == 'Submit' and session['username'] in Appr:
            if tpy == 'procurement' or tpy == 'return':
                try:
                    InvoicesAPI.UpdateInvoice(session['username'],
                                              session['password'], code, tpy,
                                              request.form['statuses'])
                    flash('Invoice updated successfully...',
                          category='success')
                    return redirect(
                        url_for('invoices.ViewInvoice', code=code, tpy=tpy))
                except Exception as e:
                    flash(str(e), category='fail')
                    return redirect(
                        url_for('invoices.ViewInvoice', code=code, tpy=tpy))
            elif tpy == 'sales' or tpy == 'refund':
                try:
                    InvoicesAPI.UpdateInvoice(
                        session['username'],
                        session['password'],
                        code,
                        tpy,
                        request.form['statuses'],
                        REV_Account=request.form['RVACT'],
                        CGS_Account=request.form['CGSACT'])
                    flash('Invoice updated successfully...',
                          category='success')
                    return redirect(
                        url_for('invoices.ViewInvoice', code=code, tpy=tpy))
                except Exception as e:
                    flash(str(e), category='fail')
                    return redirect(
                        url_for('invoices.ViewInvoice', code=code, tpy=tpy))
        else:
            flash(
                'User does not have permission to approve or cancel this invoice',
                category='fail')
            return redirect(url_for('invoices.ViewInvoice', code=code,
                                    tpy=tpy))
    return render_template('invoices/view_invoice.html',
                           username=session['username'],
                           role=session['role'],
                           invs=invs,
                           iframe=iframe,
                           type=tpy,
                           RS=RS,
                           CGS=CGS,
                           Stat=Stat)
Exemplo n.º 5
0
def GrabService(code):
    s = InvoicesAPI.GetService(code)
    return jsonify(serviceid=s[0],
                   servicename=s[1],
                   servicetype=s[2],
                   servicecost=s[3],
                   serviceprice=s[4])
Exemplo n.º 6
0
def InvoiceView(code):
    SentData, InvoiceData, ItmData = InvoicesAPI.GetPrintedInvoice(code)
    cmp = EnterpriseAPI.GetCompanyProfile()
    return render_template('invoices/printed_invoice.html',
                           SentData=SentData,
                           InvoiceData=InvoiceData,
                           ItmData=ItmData,
                           cmp=cmp)
Exemplo n.º 7
0
def EditRefundInvoice(invcode):
    customers = InvoicesAPI.GetAllCustomers()
    currencies = AccountingAPI.GetAllCurrencies()
    itms = EnterpriseAPI.ItemPicker()
    pkgs = EnterpriseAPI.PackagePicker()
    invs = InvoicesAPI.GetInvoices('refund')
    srvs = InvoicesAPI.GetServicesByType('Revenue')
    data1, data2 = InvoicesAPI.GetInvoice(session['username'],
                                          session['password'], invcode)
    if request.method == 'POST':
        if request.form['submit'] == 'Submit':
            try:
                InvoicesAPI.EditInvoice(
                    session['username'], session['password'], invcode,
                    'refund', request.form['Customer'],
                    request.form['SheetDate'], request.form['currency'],
                    request.form['terms'], request.form.getlist('description'),
                    request.form.getlist('unitprice'),
                    request.form.getlist('quantity'),
                    request.form.getlist('amount'),
                    request.form['totalamount'], request.form['discount'],
                    request.form['tax'], request.form['invamount'],
                    request.form['pay_method'],
                    request.form['billing_account'], request.form['comments'])

                flash('Invoices updated successfully', category='success')
                return redirect(url_for('invoices.RefundInvoice'))
            except Exception as e:
                flash(str(e), category='fail')
                return redirect(url_for('invoices.RefundInvoice'))
    return render_template('invoices/edit_refund_invoice.html',
                           username=session['username'],
                           role=session['role'],
                           itms=itms,
                           pkgs=pkgs,
                           customers=customers,
                           currencies=currencies,
                           invs=invs,
                           data1=data1,
                           data2=data2,
                           invcode=invcode,
                           srvs=srvs)
Exemplo n.º 8
0
def EditService(code):
    AllServices = InvoicesAPI.GetAllServices()
    Service = InvoicesAPI.GetService(code)
    if request.method == 'POST':
        if request.form['submit'] == 'Submit':
            try:
                InvoicesAPI.UpdateService(
                    session['username'], session['password'], code,
                    request.form['servicename'], request.form['servicetype'],
                    request.form['servicecost'], request.form['serviceprice'],
                    request.form['description'])
                flash('Service updated successfully...', category='success')
                return redirect(url_for('invoices.Services'))
            except Exception as e:
                flash(str(e), category='fail')
                return redirect(url_for('invoices.EditService', code=code))
    return render_template('invoices/edit_service.html',
                           username=session['username'],
                           role=session['role'],
                           AllServices=AllServices,
                           Service=Service)
Exemplo n.º 9
0
def Services():
    AllServices = InvoicesAPI.GetAllServices()
    form = EnterForms.Services(request.form)
    if request.method == 'POST':
        if request.form['submit'] == 'Submit':
            try:
                InvoicesAPI.CreateService(
                    session['username'], session['password'],
                    request.form['servicename'], request.form['servicetype'],
                    request.form['servicecost'], request.form['serviceprice'],
                    request.form['description'])
                flash('Service Successfully created...', category='success')
                return redirect(url_for('invoices.Services'))
            except Exception as e:
                flash(str(e), category='fail')
                return redirect(url_for('inoices.Services'))
    return render_template('invoices/services.html',
                           username=session['username'],
                           role=session['role'],
                           form=form,
                           AllServices=AllServices)
Exemplo n.º 10
0
def BillsReport():
    try:
        file = InvoicesAPI.BillsReport(session['username'],
                                       session['password'])
        response = make_response(file)
        response.headers['Content-type'] = 'text/csv'
        response.headers[
            'Content-Disposition'] = 'attachement; filename = Bills_Report.csv'
        return response
    except Exception as e:
        flash(str(e), category='fail')
        return url_for('invoices.invoices')
Exemplo n.º 11
0
def PrintInvoice(code):
    SentData, InvoiceData, ItmData = InvoicesAPI.GetPrintedInvoice(code)
    cmp = EnterpriseAPI.GetCompanyProfile()
    rendered = render_template('invoices/printed_invoice.html',
                               SentData=SentData,
                               InvoiceData=InvoiceData,
                               ItmData=ItmData,
                               cmp=cmp)
    pdf = pdfkit.from_string(rendered, False)
    response = make_response(pdf)
    response.headers['Content-type'] = 'application/pdf'
    response.headers[
        'Content-Disposition'] = 'attachement; filename = invoice.pdf'
    return response
Exemplo n.º 12
0
def ProcurementInvoice():
    providers = EnterpriseAPI.GetProviders()
    currencies = AccountingAPI.GetAllCurrencies()
    itms = EnterpriseAPI.ItemPicker()
    pkgs = EnterpriseAPI.PackagePicker()
    invs = InvoicesAPI.GetInvoices('procurement')
    srvs = InvoicesAPI.GetServicesByType('Expense')
    if request.method == 'POST':
        if request.form['submit'] == 'Submit':
            try:
                invcode = InvoicesAPI.AddInvoice(
                    session['username'], session['password'], 'procurement',
                    request.form['Customer'], request.form['SheetDate'],
                    request.form['currency'], request.form['terms'],
                    request.form.getlist('description'),
                    request.form.getlist('unitprice'),
                    request.form.getlist('quantity'),
                    request.form.getlist('amount'),
                    request.form['totalamount'], request.form['discount'],
                    request.form['tax'], request.form['invamount'],
                    request.form['pay_method'],
                    request.form['billing_account'], request.form['comments'])

                flash('Invoices created successfully', category='success')
                return redirect(url_for('invoices.ProcurementInvoice'))
            except Exception as e:
                flash(str(e), category='fail')
                return redirect(url_for('invoices.ProcurementInvoice'))
    return render_template('invoices/procurement_invoice.html',
                           username=session['username'],
                           role=session['role'],
                           itms=itms,
                           pkgs=pkgs,
                           providers=providers,
                           currencies=currencies,
                           invs=invs,
                           srvs=srvs)
Exemplo n.º 13
0
def GetPack(code):
    Packs = InvoicesAPI.GetPack(code)
    return jsonify(Packs)
Exemplo n.º 14
0
def GetAccount(acc):
    Accounts = InvoicesAPI.GetAccount(acc)
    return jsonify(Accounts)