Skip to Content
Odoo मेन्यू
  • Sign in
  • मुफ़्त में आज़माएं
  • ऐप्लिकेशन
    फ़ाइनेंस
    • अकाउंटिंग
    • इनवॉइसिंग
    • एक्सपेंस
    • स्प्रेडशीट (बीआई)
    • डॉक्यूमेंट्स
    • साइन
    सेल्स
    • सीआरएम
    • सेल्स
    • पीओएस शॉप
    • पीओएस रेस्टोरेंट
    • सब्सक्रिप्शन
    • रेंटल
    वेबसाइट
    • वेबसाइट बिल्डर
    • ई-कॉमर्स
    • ब्लॉग
    • फ़ोरम
    • लाइव चैट
    • ई-लर्निंग
    सप्लाई चेन
    • इन्वेंट्री
    • मैन्युफ़ैक्चरिंग
    • पीएलएम
    • परचेज़
    • मेंटेनेंस
    • क्वालिटी
    मानव संसाधन
    • कर्मचारी
    • रिक्रूटमेंट
    • टाइम ऑफ़
    • अप्रेज़ल
    • रेफ़रल
    • फ़्लीट
    मार्केटिंग
    • सोशल मार्केटिंग
    • ईमेल मार्केटिंग
    • एसएमएस मार्केटिंग
    • इवेंट
    • मार्केटिंग ऑटोमेशन
    • सर्वे
    सेवाएं
    • प्रोजेक्ट
    • टाइमशीट
    • फ़ील्ड सर्विस
    • हेल्पडेस्क
    • प्लानिंग
    • अपॉइंटमेंट
    प्रॉडक्टिविटी
    • डिस्कस
    • अप्रूवल
    • आईओटी
    • वीओआईपी
    • नॉलेज
    • WhatsApp
    तीसरे पक्ष के ऐप्लिकेशन Odoo स्टूडियो Odoo क्लाउड प्लेटफ़ॉर्म
  • इंडस्ट्री
    रीटेल
    • बुक स्टोर
    • क्लोदिंग स्टोर
    • फ़र्नीचर स्टोर
    • ग्रॉसरी स्टोर
    • हार्डवेयर स्टोर
    • टॉय स्टोर
    Food & Hospitality
    • बार और पब
    • रेस्टोरेंट
    • फ़ास्ट फ़ूड
    • Guest House
    • बेवरिज डिस्ट्रीब्यूटर
    • होटल
    रियल एस्टेट
    • Real Estate Agency
    • आर्किटेक्चर फ़र्म
    • कंसट्रक्शन
    • एस्टेट मैनेजमेंट
    • गार्ड्निंग
    • प्रॉपर्टी ओनर असोसिएशन
    कंसल्टिंग
    • अकाउंटिंग फ़र्म
    • Odoo पार्टनर
    • मार्केटिंग एजेंसी
    • लॉ फ़र्म
    • टैलेंट ऐक्विज़िशन
    • ऑडिट & सर्टिफ़िकेशन
    मैन्युफ़ैक्चरिंग
    • टेक्सटाइल
    • Metal
    • फ़र्नीचर
    • फ़ूड
    • Brewery
    • कॉर्पोरेट गिफ़्ट
    हेल्थ & फिटनेस
    • स्पोर्ट्स क्लब
    • आईवियर स्टोर
    • फिटनेस सेंटर
    • वेलनेस प्रैक्टिशनर
    • फॉर्मेसी
    • हेयर सैलून
    Trades
    • Handyman
    • आईटी हॉर्डवेयर और सपोर्ट
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    अन्य
    • Nonprofit Organization
    • एन्वायरमेंटल एजेंसी
    • बिलबोर्ड रेंटल
    • फ़ोटोग्राफी
    • बाइक लीजिंग
    • सॉफ़्टवेयर रीसेलर
    Browse all Industries
  • कम्यूनिटी
    सीखें
    • ट्यूटोरियल्स
    • दस्तावेज़
    • सर्टिफ़िकेशन
    • ट्रेनिंग
    • ब्लॉग
    • पॉडकास्ट
    शिक्षा को बढ़ावा दें
    • एजुकेशन प्रोग्राम
    • स्केल अप! बिजनेस गेम
    • Odoo के ऑफ़िस में आएं
    सॉफ़्टवेयर पाएं
    • डाउनलोड
    • वर्शन की तुलना करें
    • रिलीज़
    साथ मिलकर काम करें
    • Github
    • फ़ोरम
    • इवेंट
    • अनुवाद
    • पार्टनर बनें
    • Services for Partners
    • अपना अकाउंटिंग फ़र्म रजिस्टर करें
    सेवाएं पाएं
    • पार्टनर ढूंढें
    • अकाउंटेंट खोजें
    • सलाहकार की मदद लें
    • इम्प्लिमेंटेशन सेवाएं
    • कस्टमर रेफ़रेंस
    • सहायता
    • अपग्रेड
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    डेमो देखें
  • कीमत
  • सहायता

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • सीआरएम
  • e-Commerce
  • लेखांकन
  • इन्वेंटरी
  • PoS
  • प्रोजेक्ट
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
टैग (View all)
odoo accounting v14 pos v15
About this forum
Help

Copy of PDF invoice on external storage

Subscribe

Get notified when there's activity on this post

This question has been flagged
pdfinvoicesodoo v17
2 Replies
1695 Views
Avatar
Xavier

Hi,

I try to automate the creation of reccuring invoices. I manage to create the invoice, send it by mail using my template with the pdf attached. 
Now I try to copy the Pdf file on a nextcloud instance. The connection is Ok, I managed to create the folders but my issue is : when I generate the pdf file, the corresponding invoice is deleted. 
Here is my code : 


from odoo import models, fields, api
import base64
import requests
import locale
import logging
from urllib.parse import quote
_logger = logging.getLogger(__name__)

class AccountMove(models.Model):
    _inherit = 'account.move'

    @api.model
    def envoyer_quittance_et_sauvegarder(self):
      # ID du modèle de facture à copier
        facture_modele_id = 16
        facture_modele = self.env['account.move'].browse(facture_modele_id)

        # Dupliquer et valider
        nouvelle_facture = facture_modele.copy()
        nouvelle_facture.action_post()
        # Envoi par mail
        template = self.env.ref('quittance.modele_email')
template.send_mail(nouvelle_facture.id, force_send=True)

""" Code about construction of the Url and Nextcloud authentication """

# Générer le PDF
        report = self.env['ir.actions.report']._get_report_from_name('account.report_invoice')
        pdf_content, _ = report._render_qweb_pdf(nouvelle_facture.id)
       
        # Envoyer le PDF sur Nextcloud
        response = requests.put(
            url_pdf,
            data=pdf_content,
            auth=(username, password),
            headers={'Content-Type': 'application/pdf'}
        )

        if response.status_code not in (200, 201, 204):
            _logger.warning(f" Erreur envoi PDF : {response.status_code} - {response.text}")
        else:
            _logger.info(f" Quittance enregistrée : {pdf_filename} dans {url_quittances}")


Is there another way for creating a pdf file?

0
Avatar
Discard
Avatar
D Enterprise
Best Answer

try:

    report = self.env['ir.actions.report'].search([('model', '=', 'account.move')], limit=1)

    if not report:

        _logger.error("Aucun rapport trouvé pour le modèle account.move")

        return


    pdf_content, _ = self.env['ir.actions.report']._render_qweb_pdf(report.report_name, [nouvelle_facture.id}")


    # Upload to Nextcloud

    response = requests.put(

        url_pdf,

        data=pdf_content,

        auth=(username, password),

        headers={'Content-Type': 'application/pdf'}

    )


    if response.status_code not in (200, 201, 204):

        _logger.warning(f"Erreur envoi PDF : {response.status_code} - {response.text}")

    else:

        _logger.info(f"Quittance enregistrée : {pdf_filename} dans {url_quittances}")


except Exception as e:

    _logger.error(f"Erreur lors de la génération ou l'envoi du PDF : {e}")


0
Avatar
Discard
Avatar
Xavier
Author Best Answer

Is there only a way to send a pdf file to any storage?

Edit : Yes! 

Replace the code after # Générer le PDF by : 

# Générer le PDF
        try:
            report = self.env['ir.actions.report'].search([('model', '=', 'account.move')], limit=1)
            if not report:
                _logger.error("Aucun rapport trouvé pour le modèle account.move")
                return

            pdf_content, _ = self.env['ir.actions.report']._render_qweb_pdf(
                report.report_name, nouvelle_facture.ids
            )
            _logger.info(f"PDF généré pour la facture ID {nouvelle_facture.id}")
        except Exception as e:
            _logger.error(f"Erreur lors de la génération du PDF pour facture ID {nouvelle_facture.id} : {e}")
            return
0
Avatar
Discard
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Sign up
Related Posts Replies Views Activity
Translation of Labels on Quotes, Invoices etc.
pdf invoices quotations
Avatar
Avatar
2
दिस॰ 25
202
Migrating to odoo 13 lost all invoice's pdf Solved
pdf invoices Odoo13.0
Avatar
Avatar
Avatar
3
अक्तू॰ 21
4364
Is it possible to add the word "PAID" anywhere on the paid invoices when I print them as PDF?
pdf templates invoices
Avatar
Avatar
2
नव॰ 16
5188
add borders in the pdf generated
pdf invoices purchase_order
Avatar
Avatar
1
मार्च 15
4985
Download pdf in a Folder
pdf invoices xmlrpc odoo16
Avatar
0
अग॰ 24
1881
कम्यूनिटी
  • ट्यूटोरियल्स
  • दस्तावेज़
  • फ़ोरम
ओपन सोर्स
  • डाउनलोड
  • Github
  • रनबॉट
  • अनुवाद
सेवाएं
  • Odoo.sh Hosting
  • सहायता
  • अपग्रेड
  • कस्टम डेवलपमेंट्स
  • शिक्षा
  • अकाउंटेंट खोजें
  • पार्टनर ढूंढें
  • पार्टनर बनें
हमारे बारे में
  • हमारी कंपनी
  • ब्रांड ऐसेट
  • संपर्क करें
  • नौकरियां
  • इवेंट
  • पॉडकास्ट
  • ब्लॉग
  • ग्राहक
  • लीगल • गोपनीयता
  • सुरक्षा
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo, बिज़नेस से जुड़े ऐप्लिकेशन का एक कलेक्शन है जो ओपन सोर्स पर आधारित है. इसमें आपकी कंपनी की हर ज़रूरत के लिए ऐप्लिकेशन हैं. जैसे, सीआरएम, ई-कॉमर्स, अकाउंटिंग, इन्वेंट्री, पॉइंट ऑफ़ सेल, प्रोजेक्ट मैनेजमेंट वगैरह.

Odoo की सबसे बड़ी खासियत है कि यह इस्तेमाल करने में बहुत आसान है और यह पूरी तरह से इंटिग्रेट किया हुआ है.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now