/**
* 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
%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;
}
}
The post Debit Note là gì? Nội dung và ý nghĩa của Debit Note? appeared first on Vay Tài Chính 247.
]]>
Tìm hiểu Debit Note là gì và nội dung, ý nghĩa
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.
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ể:

Một mẫu giấy Debit Note – giấy báo nợ
Hiện nay, giấy báo nợ Debit Note có thể được cấp ở những form sau:
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?
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à:

Debit Note có ý nghĩa quan trọng với doanh nghiệp
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.
The post Debit Note là gì? Nội dung và ý nghĩa của Debit Note? appeared first on Vay Tài Chính 247.
]]>