/** * Copyright (C) 2014-2020 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ if ( ! defined( 'ABSPATH' ) ) { die( 'Kangaroos cannot jump here' ); } class Ai1wm_Export_Content { public static function execute( $params ) { // Set archive bytes offset if ( isset( $params['archive_bytes_offset'] ) ) { $archive_bytes_offset = (int) $params['archive_bytes_offset']; } else { $archive_bytes_offset = ai1wm_archive_bytes( $params ); } // Set file bytes offset if ( isset( $params['file_bytes_offset'] ) ) { $file_bytes_offset = (int) $params['file_bytes_offset']; } else { $file_bytes_offset = 0; } // Set content bytes offset if ( isset( $params['content_bytes_offset'] ) ) { $content_bytes_offset = (int) $params['content_bytes_offset']; } else { $content_bytes_offset = 0; } // Get processed files size if ( isset( $params['processed_files_size'] ) ) { $processed_files_size = (int) $params['processed_files_size']; } else { $processed_files_size = 0; } // Get total content files size if ( isset( $params['total_content_files_size'] ) ) { $total_content_files_size = (int) $params['total_content_files_size']; } else { $total_content_files_size = 1; } // Get total content files count if ( isset( $params['total_content_files_count'] ) ) { $total_content_files_count = (int) $params['total_content_files_count']; } else { $total_content_files_count = 1; } // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // Flag to hold if file data has been processed $completed = true; // Start time $start = microtime( true ); // Get content list file $content_list = ai1wm_open( ai1wm_content_list_path( $params ), 'r' ); // Set the file pointer at the current index if ( fseek( $content_list, $content_bytes_offset ) !== -1 ) { // Open the archive file for writing $archive = new Ai1wm_Compressor( ai1wm_archive_path( $params ) ); // Set the file pointer to the one that we have saved $archive->set_file_pointer( $archive_bytes_offset ); // Loop over files while ( list( $file_abspath, $file_relpath, $file_size, $file_mtime ) = fgetcsv( $content_list ) ) { $file_bytes_written = 0; // Add file to archive if ( ( $completed = $archive->add_file( $file_abspath, $file_relpath, $file_bytes_written, $file_bytes_offset ) ) ) { $file_bytes_offset = 0; // Get content bytes offset $content_bytes_offset = ftell( $content_list ); } // Increment processed files size $processed_files_size += $file_bytes_written; // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // More than 10 seconds have passed, break and do another request if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) { if ( ( microtime( true ) - $start ) > $timeout ) { $completed = false; break; } } } // Get archive bytes offset $archive_bytes_offset = $archive->get_file_pointer(); // Truncate the archive file $archive->truncate(); // Close the archive file $archive->close(); } // End of the content list? if ( feof( $content_list ) ) { // Unset archive bytes offset unset( $params['archive_bytes_offset'] ); // Unset file bytes offset unset( $params['file_bytes_offset'] ); // Unset content bytes offset unset( $params['content_bytes_offset'] ); // Unset processed files size unset( $params['processed_files_size'] ); // Unset total content files size unset( $params['total_content_files_size'] ); // Unset total content files count unset( $params['total_content_files_count'] ); // Unset completed flag unset( $params['completed'] ); } else { // Set archive bytes offset $params['archive_bytes_offset'] = $archive_bytes_offset; // Set file bytes offset $params['file_bytes_offset'] = $file_bytes_offset; // Set content bytes offset $params['content_bytes_offset'] = $content_bytes_offset; // Set processed files size $params['processed_files_size'] = $processed_files_size; // Set total content files size $params['total_content_files_size'] = $total_content_files_size; // Set total content files count $params['total_content_files_count'] = $total_content_files_count; // Set completed flag $params['completed'] = $completed; } // Close the content list file ai1wm_close( $content_list ); return $params; } } Debit Note là gì? Nội dung và ý nghĩa của Debit Note? - Vay Tài Chính 247

Debit Note là gì? Nội dung và ý nghĩa của Debit Note?

Trong lĩnh vực kinh doanh, đặc biệt là ngành Logistics có thể bạn sẽ thường xuyên bắt gặp thuật ngữ Debit Note. Vậy Debit Note là gì? Nội dung, ý nghĩa của Debit Note ra sao? Để hiểu rõ hơn về thuật ngữ này hãy cùng tham khảo ngay bài viết của chúng tôi!

Tìm hiểu Debit Note là gì và nội dung, ý nghĩa

1. Debit Note là gì?

Debit Note, dịch ra tiếng Việt có nghĩa là giấy báo nợ. Có thể nói, đây là một chứng từ vô cùng quan trọng và được sử dụng rất phổ biến trong lĩnh vực logistic xuất nhập khẩu. Mục đích sử dụng loại chứng từ này là đủ điều chỉnh tăng giá trị trên hóa đơn và khi trả lại hàng hóa vay mua, bên mua hàng xuất ra Debit Note để chuyển tới cho bên bán hàng.

2. Các nội dung có trong Debit Note

Trong giấy báo nợ Debit Note sẽ có rất nhiều thông tin quan trọng. Chúng được sử dụng trong các giao dịch giữa doanh nghiệp – doanh nghiệp để cung cấp các thông tin liên quan hay nhắc những hóa đơn đã sắp tới hạn thanh toán. Cụ thể:

  • Giao dịch gia hạn tín dụng trong trường hợp bên bán đã thực hiện trách nhiệm giao hàng nhưng bên mua vẫn chưa hoàn thành nghĩa vụ thanh toán đơn hàng
  • Đối với trường hợp trả lại hàng, tổng số tiền tín dụng đã giải ngân sẽ có cả hàng bị trả lại cùng lý do trả lại hàng

Một mẫu giấy Debit Note – giấy báo nợ

3. Các dạng khác của Debit Note

Hiện nay, giấy báo nợ Debit Note có thể được cấp ở những form sau:

  • Form biên lai vận chuyển hàng hóa: Trường hợp giá trị của đơn hàng chưa được thanh toán, bên mua được quyền sử dụng hàng hóa, trả hàng nếu sau khi kiểm tra thấy hàng hóa không đảm bảo chất lượng hoặc không phù hợp (kèm theo bằng chứng)
  • Form bưu thiếp: Cũng có trường hợp Debit Note được phát hành dưới dạng bưu thiếp để nhắc nhở các khoản thanh toán sắp tới hạn và có kèm theo thông tin liên hệ liên quan, cách giải quyết nợ,..

Tham khảo: Giải thích ROS là gì? Chia sẻ cách tính ROS – Chỉ số ROS bao nhiêu là tốt?

4. Ý nghĩa của Debit Note là gì?

Giấy báo nợ Debit Note là một loại hóa đơn điều chỉnh giá trị. Loại hóa đơn này chủ yếu được sử dụng ở trong mô hình giao dịch giữa 2 hay nhiều công ty, doanh nghiệp, thường được gọi là B2B.

Có 2 trường hợp nhà cung cấp sẽ phát hành Debit Note, đó là:

  • Trước đó đã phát hành hóa đơn thuế gốc, tuy nhiên, trong hóa đơn này giá trị thuế lại thấp hơn so với giá trị thực tế phải nộp
  • Trước đó đã phát hành hóa đơn thuế gốc, tuy nhiên, giá trị tính thuế được tính trong hóa đơn lại thấp hơn so với giá trị thuế thực tế

Debit Note có ý nghĩa quan trọng với doanh nghiệp

5. Giấy báo nợ Debit Note không phải là chứng từ bắt buộc

Có nhiều người nghĩ rằng Debit Note là một chứng từ bắt buộc nhưng thực ra không phải. Có doanh nghiệp sẽ sử dụng giấy báo nợ khi cần thông báo cho bên mua hàng về các khoản nợ cần phải thanh toán nhưng cũng có doanh nghiệp không sử dụng giấy báo nợ này.

Thông thường, người bán hàng chỉ coi giấy báo nợ Debit Note là một thông lệ kinh doanh tiêu chuẩn và sử dụng nó trong phạm vi nội bộ. Cũng có một số trường hợp người mua hàng có quyền yêu cầu bên bán cung cấp giấy báo nợ như một chứng từ thể hiện thông tin báo nợ để lưu trữ và sử dụng khi cần thiết.

Trên đây là giải đáp thắc mắc Debit Note là gì. Qua bài viết này chắc bạn đã hiểu rõ hơn về Debit Note cũng như nội dung và ý nghĩa của loại chứng từ này. Đây là một chứng từ quan trọng với doanh nghiệp nhưng lại không phải là chứng từ bắt buộc. Tuy nhiên, bên mua hàng có quyền được yêu cầu bên bán hàng cung cấp.